oracle 日常运维

1.查询表或存储过程、函数异常

  select *  from user_errors where name ='TEST_TABLE'

2.查询表是否存在

  select * from user_tables where table_name='TEST_TABLE'

3.查询表结构

  select  table_name,column_name,data_type,nullable  from user_tab_cols where table_name ='TEST_TABLE'
  --表名注意大写       

4.查询指定时间的数据

  select * from test_table as of timestamp to_timestamp('2019-12-07 14:30:00','yyyy-MM-dd hh24:mi:ss')
  --仅可查询未修改过表结构且短时间内的历史数据
  --truncate删除的数据不能被查询到
  --适用于delete操作误删除的数据,可以查询并恢复

 

5.新增表结构

  alter table test_table add url varchar2(200) null

6.修改表结构

  alter table test_table modify url varchar2(100)

7.&拼接字符串转义

  --错误写法
  update test_table set url='http://www.public-key.top?id=001&name=zjc' where t1='t001'
  --正确写法
  update test_table set url='http://www.public-key.top?id=001'||chr(38)||'name=zjc' where t1='t001'

 8.多表更新

merge into tab1 t1 using (select t2.pno,t2.pdate from tab2 t2) t on (t.pno= t1.pno)
when matched then
update set t1.ptime= t.pdate where t1.status in('00')
UPDATE tab1 t1 SET ptime = (SELECT t2.date FROM tab2 t2 WHERE t1.pno = t2.pno )
WHERE EXISTS (SELECT 1 FROM tab2 t2 WHERE t1.pno = t2.pno ) and t1.status in('0')

 

9.日期转大写日期

--日期转大写日期
select to_char(sysdate,'yyyy"年"mm"月"dd"日"') from dual 

 10.删除clob字段,回收表空间

--删除clob字段,回收表空间
alter table table_name enable ROW MOVEMENT;
alter table table_name shrink space cascade;
alter table table_name disable ROW MOVEMENT;
alter table table_name shrink space;

 

 更多日常运维指南,持续更新。。。。。。。。。

                 
posted @ 2019-12-07 14:26  魔力的猪  阅读(597)  评论(0编辑  收藏  举报