oracle怎么设置表空间只读

oracle怎么设置表空间只读

浏览次数:1280次
信息来源: 银河系资源网
更新日期: 2022-05-14
文章简介

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

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

本教程操作环境: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教程》

以上就是oracle怎么设置表空间只读的详细内容

标签: 暂无标签
oracle中dg和adg有什么区别
« 上一篇
oracle全角怎么转半角
下一篇 »
  • oracle怎么查询数据库中的所有表名
    811259阅读
    查询方法:1、使用“SELECT * FROM all_tables WHERE OWNER = '用户名'”语句,可查询指定用户的所有表名;2、使用“SELECT * FROM user_tables”语句,可查询当前用户的所有表名。本教程操作环境:Windows7...
  • 总结MySQL常见错误分析与解决方法
    79857阅读
    免费学习:mysql教程一、Can’t connect to MySQL server on ‘localhost’ (10061) 翻译:不能连接到 localhost 上的mysql 分析:这说明“localhost”计算机是存在的,但在这台机器上却没提供MySQL服务。 需要启动这...
  • mysql怎么查询第一列数据
    2493阅读
    在mysql中,可以利用SELECT语句来查询第一列数据,该语句可以根据指定列的字段名来查询数据并输出结果,只需要将“SELECT”关键字后面的字段名设置为需要查找的第一列字段名即可; 语法“SELECT 第一列字段名 FROM 表...
  • oracle怎么查询clob字段数据
    1885阅读
    在oracle中,可以利用instr()函数配合select语句查询clob字段数据,instr函数用于判断字符串是否含有指定的字符,语法为“select*from 表名 ...instr(字段名(clod类型),'查询条件',1,1)”。本教程操作环境:...
  • mysql主从同步如何跳过错误
    1828阅读
    mysql主从同步跳过错误的方法:1、跳过指定数量的事务,代码为【mysql>SET GLOBAL SQL_SLAVE_SKIP..】;2、修改mysql的配置文件,通过【slave_skip_errors】参数来跳所有错误。本教程操作环境:windows7系统、mysql ...
  • oracle怎么判断数据是否是数字类型
    1678阅读
    方法:1、利用“trim(translate(column,'0123456789',' ')) is NULL;”判断数据是否是数字;2、利用“regexp_like(column,'^[0-9]+[0-9]$');”判断数据是否是数字。本教程操作环境:Windows...
  • mysql workbench是什么意思
    1674阅读
    mysql workbench是管理MySQL数据库工具的意思,是一款专门为mysql设计的集成化桌面软件;该软件同时具有开源社区版和收费商业版两个版本,主要用于设计和创建新的数据库图示、建立数据库文档以及进行复杂的mysql迁移...
  • 实例详解oracle添加唯一约束
    1655阅读
    本篇文章给大家带来了关于Oracle的知识,其中主要介绍了添加唯一约束的问题,唯一性约束指表中一个字段或者多个字段联合起来可以唯一标识一条记录的约束,下面一起来看一下,希望对大家有帮助。教程:《Oracle教程》...
  • MySQL索引给拿捏住了
    1587阅读
    本篇文章给大家带来了关于mysql的知识,其中主要介绍了关于mysql索引的问题,包括了索引按照逻辑功能划分、按照物理实现划分、按照字段个数划分等索引类型问题,希望对大家有帮助。学习:mysql教程在 SQL 优化中,索...
  • oracle怎么删除trigger
    1543阅读
    在oracle中,可以利用DROP TRIGGER语句来删除trigger,DROP语句用于进行删除操作,DROP TRIGGER语句的作用就是删除指定的trigger,语法为“DROP TRIGGER 需要删除的trigger名称;”。本教程操作环境:Windows10系统、...

如本文对您有帮助,随意赞赏一下!