oracle12c重新配置实例,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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值