Oracle只读表空间


作者:雨竹清风

一个表空间处于只读状态时,只能进行读操作,因此数据文件中的数据也就不会发生变化,因此也就不进行重做日志的保护,不会产生重做操作。所以处于此状态下可以提高系统的效率。

刚刚改为只读状态时,表空间还处于中间状态,当所有的事务完成后才被置为只读状态。将一个表空间修改为只读状态时,系统会产生检查点。当然可以删除只读表空间的对象,比如说表,索引等。因为删除对象的命令为DDL语句,它只修改数据字典而不是数据文件。

示例如下:

1.查看dba_tablespaces结构

SQL> desc dba_tablespaces;

 名称                                      是否为空类型

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

 TABLESPACE_NAME                   NOT NULL VARCHAR2(30)

 BLOCK_SIZE                                NOT NULL NUMBER

 INITIAL_EXTENT                                     NUMBER

 NEXT_EXTENT                                        NUMBER

 MIN_EXTENTS                               NOT NULL NUMBER

 MAX_EXTENTS                                        NUMBER

 PCT_INCREASE                                       NUMBER

 MIN_EXTLEN                                         NUMBER

 STATUS                                          VARCHAR2(9)

 CONTENTS                                        VARCHAR2(9)

 LOGGING                                          VARCHAR2(9)

 FORCE_LOGGING                                  VARCHAR2(3)

 EXTENT_MANAGEMENT                           VARCHAR2(10)

 ALLOCATION_TYPE                                VARCHAR2(9)

 PLUGGED_IN                                      VARCHAR2(3)

 SEGMENT_SPACE_MANAGEMENT                   VARCHAR2(6)

 DEF_TAB_COMPRESSION                          VARCHAR2(8)

 RETENTION                                      VARCHAR2(11)

 BIGFILE                                          VARCHAR2(3)

 

2.查询XUANXUAN表空间的状态

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';

 

TABLESPACE_NAME                STATUS    CONTENTS                               

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

XUANXUAN                       ONLINE    PERMANENT                              

从查询结果来看是处于联机状态。

3.修改XUANXUAN表空间为只读状态。

SQL> alter tablespace XUANXUAN read only;

 

表空间已更改。

4.修改完后进行查询,查看是否已经成功修改。

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';

 

TABLESPACE_NAME                STATUS    CONTENTS                               

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

XUANXUAN                       READ ONLY PERMANENT                              

5.如果想改回可读可写状态,需要执行下面的命令。

SQL> alter tablespace XUANXUAN read write;

 

表空间已更改。

6.修改完后进行查询,查看是否已经成功修改。

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';

 

TABLESPACE_NAME                STATUS    CONTENTS                               

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

XUANXUAN                       ONLINE    PERMANENT                              

从结果看表空间XUANXUAN已经处于联机状态。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值