flashback drop有关索引和trigger的状态

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里面还是存在)                                     

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22374393/viewspace-710812/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22374393/viewspace-710812/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值