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了。