SQL> select * from tb 2 order by name asc, time desc; ID NAME TIME ---------- ---------------------------------------- ---------------------------------------- 1 a 21:00 4 a 19:00 2 a 05:00 5 b 18:00 3 b 03:00SQL> desc tb; 名称 是否为空? 类型 ----------------------------------------------------------------- -------- -------------------------------------------- ID NUMBER(18) NAME VARCHAR2(20) TIME VARCHAR2(20)SQL> drop table tb;表已删除。SQL> show recyclebin; ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME ---------------- ------------------------------ ------------ ------------------- TB BIN$BgcAVDN/QnOcbjXt5ST/Rw==$0 TABLE 2011-07-27:11:47:13 SQL> flashback table tb to before drop;闪回完成。SQL> desc tb; 名称 是否为空? 类型 ----------------------------------------------------------------- -------- -------------------------------------------- ID NUMBER(18) NAME VARCHAR2(20) TIME VARCHAR2(20)SQL> select * from tb; ID NAME TIME ---------- ---------------------------------------- ---------------------------------------- 1 a 21:00 2 a 05:00 3 b 03:00 4 a 19:00 5 b 18:00
-- 呵呵,不过表闪回恢复功能好像只有Oracle 10G有哦!......
试试这个: 第一步:找到删除数据的操作时间从( v$sql 或者 v$sqlarea 视图里面查询 ) select r.FIRST_LOAD_TIME,r.SQL_TEXT,r.optimizer_mode,r.module,r.action,r.LAST_ACTIVE_TIME 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');to_timestamp('2010-06-02 11:36:53.000000','yyyy-mm-dd hh24:mi:ss.ff')再将恢复后的数据放到原来表就可以了.
2 order by name asc, time desc; ID NAME TIME
---------- ---------------------------------------- ----------------------------------------
1 a 21:00
4 a 19:00
2 a 05:00
5 b 18:00
3 b 03:00SQL> desc tb;
名称 是否为空? 类型
----------------------------------------------------------------- -------- -------------------------------------------- ID NUMBER(18)
NAME VARCHAR2(20)
TIME VARCHAR2(20)SQL> drop table tb;表已删除。SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
TB BIN$BgcAVDN/QnOcbjXt5ST/Rw==$0 TABLE 2011-07-27:11:47:13
SQL> flashback table tb to before drop;闪回完成。SQL> desc tb;
名称 是否为空? 类型
----------------------------------------------------------------- -------- -------------------------------------------- ID NUMBER(18)
NAME VARCHAR2(20)
TIME VARCHAR2(20)SQL> select * from tb; ID NAME TIME
---------- ---------------------------------------- ----------------------------------------
1 a 21:00
2 a 05:00
3 b 03:00
4 a 19:00
5 b 18:00
-- 呵呵,不过表闪回恢复功能好像只有Oracle 10G有哦!......
第一步:找到删除数据的操作时间从( v$sql 或者 v$sqlarea 视图里面查询 )
select r.FIRST_LOAD_TIME,r.SQL_TEXT,r.optimizer_mode,r.module,r.action,r.LAST_ACTIVE_TIME
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');to_timestamp('2010-06-02 11:36:53.000000','yyyy-mm-dd hh24:mi:ss.ff')再将恢复后的数据放到原来表就可以了.