ITPub博客

首页 > Linux操作系统 > Linux操作系统 > flashback drop有关索引和trigger的状态

flashback drop有关索引和trigger的状态

原创 Linux操作系统 作者:lelepapa 时间:2011-11-11 15:53:45 0 删除 编辑
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博客 ” ,链接:https://blog.itpub.net/22374393/viewspace-710812/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: windows下创建asm
请登录后发表评论 登录
全部评论

注册时间:2011-10-26

  • 博文量
    11
  • 访问量
    14001