table被drop之后,关联的index和materialized view log是否进入回收站
来源:互联网 发布:软件服务指数 编辑:程序博客网 时间:2024/05/06 14:32
实验:TEST表空间下有一张TT表,OWNER=TEST用户
SQL> create table tt(col1 number primary key,col2 varchar2(10),col3 varchar2(10));
Table created.
SQL> CREATE MATERIALIZED VIEW LOG ON tt;
Materialized view log created.
SQL> insert into tt values(1,'a','a');
1 row created.
SQL> insert into tt values(2,'b','b');
1 row created.
SQL> commit;
Commit complete.
用sys用户查看TEST用户下的所有对象
SQL> select object_name,object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------------------------------------------------------- -------------------
TT TABLE
MLOG$_TT TABLE
RUPD$_TT TABLE
SYS_C002977 INDEX
SQL> drop table tt;
Table dropped.
此时查询回收站,发现里面只有刚刚drop的表TT和主键自动生成的B-Tree索引
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$tAYBUUwJtwDgQAB/AQAWng==$0 SYS_C002977
BIN$tAYBUUwKtwDgQAB/AQAWng==$0 TT
SQL> flashback table tt to before drop;
Flashback complete.
将表TT闪回之后同时切换sys用户查看TEST所有的对象,发现只剩下表和索引,之前创建的materialized view log已经被删除。
SQL> select object_name,object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------------------------------------------------------- -------------------
BIN$tAYBUUwKtwDgQAB/AQAWng==$0 TABLE
BIN$tAYBUUwJtwDgQAB/AQAWng==$0 INDEX
开始创建位图索引进行实验
SQL> create bitmap index idx_bt_tt on tt(col2);
Index created.
SQL> drop table tt;
Table dropped.
同样在表被drop之后查询回收站发现2种索引都位于回收站内,并且被重命名。
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$tAYBUUwMtwDgQAB/AQAWng==$0 IDX_BT_TT
BIN$tAYBUUwNtwDgQAB/AQAWng==$1 BIN$tAYBUUwJtwDgQAB/AQAWng==$0 (这一行是主键自动生成的B-Tree索引,之前因为drop过一次所以是系统自动命名)
BIN$tAYBUUwOtwDgQAB/AQAWng==$0 TT
SQL> flashback table tt to before drop;
Flashback complete.
将TT表闪回之后再次切换sys用户查询
SQL> select object_name,object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------------------------------------------------------- -------------------
TT TABLE
BIN$tAYBUUwNtwDgQAB/AQAWng==$1 INDEX
BIN$tAYBUUwMtwDgQAB/AQAWng==$0 INDEX
由此可以看出在对表进行drop操作时,对应的index同样被逻辑删除到回收站内,所以可以和表一同被flashback,但是表上的materialized view log就被删除了。
下面测试joined index
SQL> create table t1 (id int primary key, ename varchar2(10),deptno int);
Table created.
SQL> create table t2(deptno int primary key, deptname varchar2(10), col_idx varchar2(10)); --col_idx就是即将在上面创建索引的列
Table created.
SQL> create bitmap index idx_test on t1(t2.col_idx) from t1,t2 where t1.deptno=t2.deptno;
Index created.
这时候用sys查看test对象有5个。
SQL> select object_name,object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
------------------------------------------------------------------------------------------------------------ -------------------
T1 TABLE
T2 TABLE
SYS_C002978 INDEX
SYS_C002979 INDEX
IDX_TEST INDEX
SQL> drop table t1;
Table dropped.
SQL> select object_name, original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$tAYBUUwQtwDgQAB/AQAWng==$0 SYS_C002978
BIN$tAYBUUwRtwDgQAB/AQAWng==$0 T1
drop表T1,发现回收站里只有2个对象,表和主键上的索引,而bitmap joined index此时不在回收站里。
SQL> flashback table t1 to before drop;
Flashback complete.
将表T1闪回,然后用sys查看test所有对象
SQL> select object_name,object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------------------------------------------------------- -------------------
T1 TABLE
T2 TABLE
SYS_C002979 INDEX
BIN$tAYBUUwQtwDgQAB/AQAWng==$0 INDEX
表和主键上的索引被flashback了,但是bitmap joined index被删除了。
重新创建bitmap joined index 测试T2被删除的时候是否保留
SQL> create bitmap index idx_test on t1(t2.col_idx) from t1,t2 where t1.deptno=t2.deptno;
Index created.
SQL> drop table t2;
Table dropped.
SQL> select object_name,original_name from recyclebin;
OBJECT_NAME ORIGINAL_NAME
------------------------------ --------------------------------
BIN$tAYBUUwTtwDgQAB/AQAWng==$0 SYS_C002979
BIN$tAYBUUwUtwDgQAB/AQAWng==$0 T2
回收站中仍然只有表T2和主键上的索引。
SQL> flashback table t2 to before drop;
Flashback complete.
SQL> select object_name, object_type from dba_objects where owner='TEST';
OBJECT_NAME OBJECT_TYPE
-------------------------------------------------------------------------------------------------------------------------------- -------------------
T1 TABLE
BIN$tAYBUUwUtwDgQAB/AQAWng==$0 TABLE
BIN$tAYBUUwTtwDgQAB/AQAWng==$0 INDEX
BIN$tAYBUUwQtwDgQAB/AQAWng==$0 INDEX
- table被drop之后,关联的index和materialized view log是否进入回收站
- view和materialized view的区别
- cassandra materialized view And index
- Oracle中的external table和 materialized view学习
- 回收站打开,drop table…
- 闪回之 回收站、Flashback Drop (table、index、trigger等)
- 闪回drop的表(Flashback Table 回收站闪回)
- ORA-23413: table "DCS_BIZ"."TMP_12" does not have a materialized view log
- MATERIALIZED VIEW 的Refresh
- oracle 10g drop table 的闪回(相当于一个回收站和日志没啥关系)
- truncate table和drop table的区别
- ModelAndView: materialized View is [null];和Action的onSubmit()方法不被执行
- 如何利用Log explorer恢复被truncate/drop table后的数据
- materialized log
- Log explorer 对drop/truncate table的数据恢复
- Oracle10g 回收站及彻底删除table : drop table xx purge
- Oracle10g 回收站及彻底删除table : drop table xx purge
- Oracle10g 回收站及彻底删除table : drop table xx purge
- 开博留念,沙发一个
- iOS5路线图
- 看我们的WIFI-Robot无线远程遥控智能机器人
- hql(部分函数) .
- php项目编写过程中Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 3214636 byt
- table被drop之后,关联的index和materialized view log是否进入回收站
- 第十周 任务二
- 6大代码搜索引擎推荐
- loading 图片在线生成网址
- 各种内部排序方法的比较和选择
- Boost::Signals2 学习
- 关于代理ARP问题的贴
- 按拼音首字母查询(mssql)
- 怎么更好的与人相处