oracle表空间取消只读,只读表空间的对像删除

只读表空间的对像删除

把表空间(TS)置入只读模式以后,这个TS的表空间的表还是可以删除,不过并不是真正删除这个表的segment,而是更新DD,从而在表空间从新回到读写模式以后,由PMON来清除DD的残留信息;

1,先建表;

SQL> create table ts tablespace perf1 as select spid from v$process;

Table created.

2.把表空间置入read only,

SQL> alter tablespace perf1 read only;

Tablespace altered.

3,删除表

SQL> drop table ts;

Table dropped.

4,查询一下DD中此表的信息

SQL> select segment_name,segment_type from dba_segments where tablespace_name='P

ERF1';

SEGMENT_NAME

--------------------------------------------------------------------------------

SEGMENT_TYPE

------------------

BIN$nHwe4ME4SjyLEeI9rtdryQ==$0

TABLE

5,看样子,得来purge了;

SQL> purge table ts;

Table purged.

6,再次查询DD信息;

SQL> select segment_name,segment_type from dba_segments where tablespace_name='P

ERF1';

SEGMENT_NAME

--------------------------------------------------------------------------------

SEGMENT_TYPE

------------------

7.9

TEMPORARY

发现类型变为了temporary,segmentname也变了;但是这个信息会一直保留在DD中;

7,把TS置回read write模式,

SQL> alter tablespace perf1 read write;

Tablespace altered.

SQL> select segment_name,segment_type from dba_segments where tablespace_name='P

ERF1';

no rows selected

发现这个对像的信息在DD中立即就消失了,这个工作是由pmon来完成,在试验中,我们可以在把TS置入

read write之前,手动supend pmon进程,发现TS虽然处于read write模式了,但是DD中被purge的对像信息不会被立即清除。所以就像有一种延时的机制,当TS在read only时,对这个TS的空间allocate/release暂停了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值