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;

  • 相关阅读:
    poj1275收银员——差分约束
    poj3565Ants——KM算法
    bzoj2750Road——最短路计数
    poj1236学校网络——连通块
    poj2226Muddy Fields——二分图匹配
    Pots
    蜘蛛牌
    Find The Multiple (水题)
    Dungeon Master (三维bfs)
    棋盘问题 (简单搜索)
  • 原文地址:https://www.cnblogs.com/zhaojiedi1992/p/oracle11g_sql_0048.html
Copyright © 2011-2022 走看看