zoukankan      html  css  js  c++  java
  • Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)


    Oracle12c中的多宿主选项允许一个容器数据库(CDB)容纳多个独立的可插拔数据库(PDB)。本文将展示如何配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)。
    1. 配置CDB中的实例参数(ALTER SYSTEM)
    配置CDB实例参数和配置非CDB实例参数没什么不一样。ALTER SYSTEM命令用来设置初始化参数,而有些数据库配置修改需要用ALTER DATABASE命令。
    作为一个特权用户登录且连接到根容器时,任何ALTER SYSTEM命令默认都将作用于该根容器。这意味着如下两个命令在这种情况下是一样的。
    ALTER SYSTEM SET parameter_name=value;
    ALTER SYSTEM SET parameter_name=value CONTAINER=CURRENT;
    除了默认操作,在根容器中改变初始化参数能用如下语法来作用到所有容器。
    ALTER SYSTEM SET parameter_name=value CONTAINER=ALL;
    通过使用CONTAINER=ALL,指示PDBs继承根容器的确定参数。除非通过本地参数来覆盖同样的参数设置,随后根容器该确定参数的任何修改都会被PDBs继承。
    通过在PDBs中发布本地ALTER SYSTEM命令,可以覆盖一些参数设置。
    2. 在PDB中配置实例参数(ALTER SYSTEM)
    在前面,我们提到了可以在根容器中使用带CONTAINER=ALL子句的ALTER SYSTEM命令来设置该根容器中所有PDBs的实例参数。即使当这些参数设置被继承时,也能通过PDB中的本地ALTER SYSTEM命令来覆盖这些设置。仅有一部分初始化参数能在PDB中修改,这些参数能通过如下查询获取。
    COLUMN name FORMAT A35
    COLUMN value FORMAT A35
     
    SELECT name, value
    FROM   v$system_parameter
    WHERE  ispdb_modifiable = 'TRUE'
    ORDER BY name;
    为了修改本地PDB设置,需要确信已连接到了PDB的特权用户,或通过通用用户连接到该PDB。如前所述,如果没用CONTAINER子句,则修改当前容器的设置。因此,下面的ALTER SYSTEM 命令作用等价。
    CONN / AS SYSDBA
    ALTER SESSION SET CONTAINER = pdb1;


    ALTER SYSTEM SET parameter_name=value;
    ALTER SYSTEM SET parameter_name=value CONTAINER=CURRENT;
    3. 修改CDB(ALTER DATABASE)
    从CDB的角度,ALTER DATABASE命令和非CDB数据库类似。你只需知道正在做的修改的作用范围。有些应用于CDB的ALTER DATABASE命令将会影响CDB中的所有PDBs。而其他则只作用于CDB自己。
    4. 修改PDB(ALTER PLUGGABLE DATABASE)
    通过连接到相关容器和ALTER PLUGGABLE DATABASE命令,可以修改PBD。但为了向后兼容,ALTER DATABASE命令能进行大部分修改。毫无疑问,这些修改只是CDB或非CDB的一部分。
    记住,为了修改PDB,你必须通过指向PDB的服务名直接连接到特权用户,或先连接到根容器,然后,切换到PDB容器。下面展示一些可用于PDB的修改。
    CONN / AS SYSDBA
    ALTER SESSION SET CONTAINER = pdb1;


    -- PDB的默认版本
    ALTER PLUGGABLE DATABASE DEFAULT EDITION = ora$base;


    -- PDB的默认表空间类型
    ALTER PLUGGABLE DATABASE SET DEFAULT BIGFILE TABLESPACE;
    ALTER PLUGGABLE DATABASE SET DEFAULT SMALLFILE TABLESPACE;


    -- PDB的默认表空间
    ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE users;
    ALTER PLUGGABLE DATABASE DEFAULT TEMPORARY TABLESPACE temp;


    -- 改变全局名。这也会改变容器名和注册到监听的默认服务名
    ALTER PLUGGABLE DATABASE OPEN RESTRICTED FORCE;
    ALTER PLUGGABLE DATABASE RENAME GLOBAL_NAME TO pdb1a.localdomain;
    ALTER PLUGGABLE DATABASE CLOSE IMMEDIATE;
    ALTER PLUGGABLE DATABASE OPEN;


    -- PDB的时区
    ALTER PLUGGABLE DATABASE SET TIME_ZONE='GMT';


    -- 使PDB数据文件离线/在线及做存储修改
    ALTER PLUGGABLE DATABASE DATAFILE '/u01/app/oracle/oradata/cdb1/pdb1/pdb1_users01.dbf' OFFLINE;
    ALTER PLUGGABLE DATABASE DATAFILE '/u01/app/oracle/oradata/cdb1/pdb1/pdb1_users01.dbf' ONLINE;


    ALTER PLUGGABLE DATABASE DATAFILE '/u01/app/oracle/oradata/cdb1/pdb1/pdb1_users01.dbf'
      RESIZE 1G AUTOEXTEND ON NEXT 1M;


    -- PDB的补充日志
    ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER PLUGGABLE DATABASE DROP SUPPLEMENTAL LOG DATA;
    此外,有机制可以控制PDB最大大小和可用共享临时空间的大小。
    -- 限制PDB的总存储空间(数据文件和本地临时文件).
    ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 5G);


    -- 限制可用共享临时文件的大小
    ALTER PLUGGABLE DATABASE STORAGE (MAX_SHARED_TEMP_SIZE 2G);


    --组合以上两者
    ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 5G MAX_SHARED_TEMP_SIZE 2G);


    --移除限制
    ALTER PLUGGABLE DATABASE STORAGE UNLIMITED;

  • 相关阅读:
    docer run 、docker attach 与 docker exec的区别
    filebeat-kafka:WARN producer/broker/0 maximum request accumulated, waiting for space
    json 格式要求
    词法分析
    CSS3 鲜为人知的属性-webkit-tap-highlight-color的理解
    DOMContentLoaded与load的区别
    用vue的自定义组件写了一个拖拽 组件,局部的 只能在自定义元素内的
    浮动元素遇到标准流元素 会发生转角遇到爱
    柯里化函数
    转载一篇关于toString和valueOf
  • 原文地址:https://www.cnblogs.com/lhdz_bj/p/9054697.html
Copyright © 2011-2022 走看看