zoukankan      html  css  js  c++  java
  • 管理表空间和数据文件——维护表空间——改变表空间的读写状态和改变表空间名称


    默认情况下表空间是处于可读写状态,用户不仅可以查询表空间上的对象数据,而且可以在表空间上执行dml 和ddl 操作。如果表空间只用于存放静态数据,那么为了便于管理和备份恢复,应该将其转变为只读状态:另外如果搬移表空间到其他数据库,那么在搬移前也需要将表空间转变为只读状态。

    1.是表空间只读

    当表空间转变为只读状态之后,其scn值和内容不会发生任何变化,并且用户不能在该表空间的对象上执行dml 和ddl 操作(drop 例外的)。

    例子:将表空间tbs_4k转变为只读并在表空间执行dml 和ddl 操作:

    alter tablespace tbs_4k read only;
    insert into t1 values(1);

    第 1 行出现错误:
    ORA-00372: 此时无法修改文件 12
    ORA-01110: 数据文件 12: 'D:\ORCL\TBS_4K.DBF'

    drop table t1;

    表已删除。

    2.使表空间可读写

    当搬移表空间时,鼻血首先将表空间转变为read only 状态,让后才能褒义相应的表空间。在完成了表空间搬移之后,必须将其转变为可读写状态。

    例子:

    alter tablespace tbs_4k read write;
    create table t2(cola int) tablespace tbs_4k;
    insert into t2 values(1);

    3.改变表空间的名称
    当搬移表空间到其他数据库时,在目标数据库中不能存在同名表空间。如果存在同名表空间,那么在搬移之前应该改变源数据库或目标数据的表空间名,使用alter tablespace 的rename 选项可以改变表空间名。

    注意;不能修改system和sysaux 表空间的名称:当表空间或数据文件处于offline状态时,该表空间的名称将不能修改。

    例子:

    alter tablespace tbs_4k rename to tb_4k;

  • 相关阅读:
    Kotlin系列之序列(Sequences)源码完全解析
    JVM不稳定参数
    akka共享内存
    内存占用过高 kill 调整mysql内存占用
    系统级监控
    linux环境变量
    进程启动,崩溃异常日志++++
    JVM致命错误日志(hs_err_pid.log)分析
    批处理之坑爹的感叹号和变量延迟扩展
    kafka消费端
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/oracle11g_sql_0048.html
Copyright © 2011-2022 走看看