`

Oracle重要sql语句(持续更新)

阅读更多

1、查询对数据库操作的所有sql语句记录

 

select   module,first_load_time,sql_text   from   v$sql   order   by   first_load_time  desc;
 

注:必须在dba账号下才可访问v$sql。

 

2、随机查询

 

SELECT * FROM (SELECT * FROM ERP_STGL ORDER BY DBMS_RANDOM.VALUE) WHERE ROWNUM <= 10
 

注:此处查询ERP_STGL表随机10条记录。

 

3、递归查询

 

select ... from tablename start with parentid is null connect by prior id = parentid where id >10;

 

(如果想加排序的话,后面添加ORDER SIBLINGS BY ...)

 

4、误操作,并且提交事务,恢复到某一时间点(救命草)

 

第一步:在v$sqlarea 这视图里面找到你操作那条SQL的时间

 

select r.FIRST_LOAD_TIME,r.* from v$sqlarea r order by r.FIRST_LOAD_TIME desc ;
 

第二步:

 

create table t_table_recove --新表
as
select * from t_table --误操作的那张表
as of timestamp to_timestamp('2010-06-02 11:36:53','yyyy-mm-dd hh24:mi:ss');

 

操作成功后发现t_table_recove里存放着这个时间点之前的数据,更新过来就OK了。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics