oracle怎么设置表空间只读

oracle中,可以利用“alter tablespace 表空间名 read only”语句设置表空间为只读;alter tablespace语句用于修改表空间的数据,表空间处于只读状态时文件中的数据就不会发生变化,可以提高系统的效率。

oracle怎么设置表空间只读

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么设置表空间只读

alter tablespace 表空间名 read only;

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

刚刚改为只读状态时,表空间还处于中间状态,当所有的事务完成后才被置为只读状态。将一个表空间修改为只读状态时,系统会产生检查点。当然可以删除只读表空间的对象,比如说表,索引等。因为删除对象的命令为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已经处于联机状态。

推荐教程:《Oracle视频教程

以上就是

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享