zoukankan      html  css  js  c++  java
  • oracle12c之 表空间维护总结

    1.1、创建永久表空间

    In the CDB:
    SQL> CONNECT system@cdb1
    SQL> CREATE TABLESPACE cdb_users DATAFILE
    '/home/oracle/app/oracle/oradata/andycdb/cdb_users01.dbf'
    SIZE 5M
    autoextend off
    segment space management auto
    extent management local;

    In the PDB:
    SQL> CONNECT system@PDB01
    SQL> CREATE TABLESPACE pdb01_users DATAFILE
    '/home/oracle/app/oracle/oradata/andycdb/pdb01/pdb01_users01.dbf'
    SIZE 5M
    autoextend off
    segment space management auto
    extent management local;


    创建表空间命令应该是熟悉的。在a中的行为的改变 CDB是在执行命令的容器中创建表空间。根中不应该有任何应用程序数据。任何应用程序数据都应该在 pdb分子。尽管您可以在根和PDBs中执行相同的表空间操作, 不过,所有对象都应该存储在PDBs中。

    1.2、 创建临时表空间

    In the CDB:
    SQL> create temporary tablespace temp01 tempfile '/home/oracle/app/oracle/oradata/andycdb/temp02.dbf' size 5m
    autoextend off;

    In the PDB:
    [oracle@12c01 admin]$ sqlplus sys/oracle@pdb01 as sysdba
    SQL> create temporary tablespace temp01 tempfile '/home/oracle/app/oracle/oradata/andycdb/pdb01/temp02.dbf' size 5m
    autoextend off;

    1.3、 创建 UNDO 表空间
    In the CDB:
    SQL> show con_name

    CON_NAME
    ------------------------------
    CDB$ROOT
    SQL> create undo tablespace UNDOTBS2 datafile '/home/oracle/app/oracle/oradata/andycdb/undotbs02' size 5m reuse
    autoextend off
    extent management local;

    In the PDB:
    SQL> show con_name
    CON_NAME
    ------------------------------
    PDB01
    SQL> create undo tablespace UNDOTBS2 datafile '/home/oracle/app/oracle/oradata/andycdb/pdb01/undotbs02' size 5m
    autoextend off
    extent management local;

    2.1、分配默认永久表空间:

    数据库的默认表空间是数据库属性。改变默认的 作为CDB根容器的表空间,您必须以用户的身份连接到根容器 适当的权限,并发出ALTER DATABASE命令。这个操作不 更改PDBs的默认永久性表空间。

    要更改PDB的默认表空间,您必须以用户的身份连接到PDB 适当的权限和发布ALTER PLUGGABLE数据库命令。当 连接到PDB、ALTER数据库和ALTER PLUGGABLE数据库 命令对PDB执行相同的修改。ALTER DATABASE命令是 允许向后兼容性。

    In the CDB:
    SQL> CONNECT system@cdb1
    SQL> ALTER DATABASE
    DEFAULT TABLESPACE tbs_CDB_users;

    In the PDB:

    SQL> CONNECT pdb1_admin@pdbhr
    SQL> ALTER PLUGGABLE DATABASE
    DEFAULT TABLESPACE pdbhr_users;


    2.2、指定默认的临时表空间
    In the CDB:
    SQL> CONNECT system@cdb1
    SQL> ALTER DATABASE
    DEFAULT TEMPORARY TABLESPACE temp_root;

    In the PDB:
    SQL> CONNECT pdb1_admin@pdbhr
    SQL> ALTER PLUGGABLE DATABASE
    DEFAULT TEMPORARY TABLESPACE local_temp;


    补充:

    容器数据库创建新用户并分配表空间时必须在没有PDB的情况下进行或PDB与CDB有相同的表空间的时候进行,否则会报错。如果是在PDB与CDB 有相同表空间的情况下给CDB用户分配表空间,则分配CDB的表空间给用户PDB的表空间并不受影响。而且,CDB用户必须以‘C##’为开头,否则创 建不了。

    SQL> create user c##test identified by c##test default tablespace cdb_users temporary tablespace temp01;
    create user c##test identified by c##test default tablespace cdb_users temporary tablespace temp01
    *
    ERROR at line 1:
    ORA-65048: error encountered when processing the current DDL statement in
    pluggable database PDB01
    ORA-00959: tablespace 'CDB_USERS' does not exist

    --更详细表空间操作参考连接 (12c 表空间操作 绝大部分与 11g 操作类似 )
    Oracle表空间维护总结 http://blog.csdn.net/zhang123456456/article/details/68931288
    临时表空间操作总结 http://blog.csdn.net/zhang123456456/article/details/76944407

  • 相关阅读:
    Linux常用的命令
    【练习】分区
    【测试】RAC搭建(裸设备)
    【练习】使用事务和锁定语句
    【练习】使用事务控制语句
    【练习】设置数据类型
    【练习】显示MySQLadmin 库户籍选项
    【练习】显示MYSQL客户机选项
    【练习】如何显示本地主机上的MySQL客户机版本
    【测试】切换保护模式,最大性能到最大可用
  • 原文地址:https://www.cnblogs.com/andy6/p/7531834.html
Copyright © 2011-2022 走看看