SQL> create table t1 (id number) tablespace test;
表已创建。
SQL> create table t2 (t date) tablespace test;
表已创建。
SQL> insert into t1 values(1);
已创建 1 行。
SQL> insert into t1 values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> create or replace trigger trigg_1
2 before ddl on test.schema
3 begin
4 insert into t2 values(sysdate);
5 end;
6 /
触发器已创建
SQL> select * from t1;
ID
----------
1
2
SQL> select * from t2;
未选定行
SQL> create index ind_t1 on t1(id);
索引已创建。
SQL> select * from t2;
T
--------------
11-11月-11
SQL> drop table t1;
表已删除。
SQL> select * from t2;
T
--------------
11-11月-11
11-11月-11
SQL> select object_name,original_name from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0 IND_T1
BIN$YA7lCUHIQhe0dJq04fDtjg==$0 T1
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T1 BIN$YA7lCUHIQhe0dJq04fDtjg==$0 TABLE 2011-11-11:15:31:46
SQL>
SQL> flashback table t1 to before drop;
闪回完成。
SQL> select object_name,original_name from user_recyclebin;
未选定行
SQL> select index_name from user_indexes where table_name='T1';
INDEX_NAME
------------------------------
BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0
SQL>
SQL> create trigger trigg_2
2 before insert or delete on t1
3 begin
4 insert into t2 values(sysdate);
5 end;
6 /
触发器已创建
SQL>
SQL>
SQL> drop table t1;
表已删除。
SQL>
SQL>
SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0
TRIGG_1
SQL> select object_name,original_name from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$OfFxudrlQlOZQFcT02OqAA==$1 BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0 TRIGG_2
BIN$9jfLPKnaTKuYr7u8ZY9IAA==$0 T1
SQL> flashback table t1 to before drop;
闪回完成。
SQL> select object_name,original_name from user_recyclebin;
未选定行
SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0
TRIGG_1
SQL> spool off;
---可以看到flashback表的话,show recyclebin里面只能显示table的信息,
而不能显示index和trigger的信息。
而且drop表的话,索引和trigger同时被drop,
并且闪回的时候可以闪回。只是名称发生改变而已
(其实drop的时候在user_triggeres里面还是存在)
表已创建。
SQL> create table t2 (t date) tablespace test;
表已创建。
SQL> insert into t1 values(1);
已创建 1 行。
SQL> insert into t1 values(2);
已创建 1 行。
SQL> commit;
提交完成。
SQL> create or replace trigger trigg_1
2 before ddl on test.schema
3 begin
4 insert into t2 values(sysdate);
5 end;
6 /
触发器已创建
SQL> select * from t1;
ID
----------
1
2
SQL> select * from t2;
未选定行
SQL> create index ind_t1 on t1(id);
索引已创建。
SQL> select * from t2;
T
--------------
11-11月-11
SQL> drop table t1;
表已删除。
SQL> select * from t2;
T
--------------
11-11月-11
11-11月-11
SQL> select object_name,original_name from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0 IND_T1
BIN$YA7lCUHIQhe0dJq04fDtjg==$0 T1
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T1 BIN$YA7lCUHIQhe0dJq04fDtjg==$0 TABLE 2011-11-11:15:31:46
SQL>
SQL> flashback table t1 to before drop;
闪回完成。
SQL> select object_name,original_name from user_recyclebin;
未选定行
SQL> select index_name from user_indexes where table_name='T1';
INDEX_NAME
------------------------------
BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0
SQL>
SQL> create trigger trigg_2
2 before insert or delete on t1
3 begin
4 insert into t2 values(sysdate);
5 end;
6 /
触发器已创建
SQL>
SQL>
SQL> drop table t1;
表已删除。
SQL>
SQL>
SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0
TRIGG_1
SQL> select object_name,original_name from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$OfFxudrlQlOZQFcT02OqAA==$1 BIN$D9eFUXVyRgq2KQ6kZ+rmDg==$0
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0 TRIGG_2
BIN$9jfLPKnaTKuYr7u8ZY9IAA==$0 T1
SQL> flashback table t1 to before drop;
闪回完成。
SQL> select object_name,original_name from user_recyclebin;
未选定行
SQL> select trigger_name from user_triggers;
TRIGGER_NAME
------------------------------
BIN$KRVQQ4LMTIeQOMMhuFSXJg==$0
TRIGG_1
SQL> spool off;
---可以看到flashback表的话,show recyclebin里面只能显示table的信息,
而不能显示index和trigger的信息。
而且drop表的话,索引和trigger同时被drop,
并且闪回的时候可以闪回。只是名称发生改变而已
(其实drop的时候在user_triggeres里面还是存在)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22374393/viewspace-710812/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22374393/viewspace-710812/