Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)

摘要:
Oracle12c中的多宿主选项允许一个容器数据库容纳多个独立的可插拔数据库。本文将展示如何配置实例参数和修改容器数据库及可插拔数据库。ALTERSYSTEMSETparameter_name=valueCONTAINER=ALL;通过使用CONTAINER=ALL,指示PDBs继承根容器的确定参数。有些应用于CDB的ALTERDATABASE命令将会影响CDB中的所有PDBs。而其他则只作用于CDB自己。毫无疑问,这些修改只是CDB或非CDB的一部分。

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;

免责声明:文章转载自《Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇小胖说事13--------NSTextAttachment富文本控件实现图文混排proxool连接池的一些参数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

[WinForm] TableLayoutPanel和FlowLayoutPanel的使用

这篇文章主要跟大家分享下,在配餐系统的开发中,对tableLayoutPanel 和 flowLayoutPanel 控件的使用方法和技巧 ——后附上 测试demo, 相信需要的朋友下载看后能很快的知道其如何使用并实现一些效果和扩展应用! tableLayoutPanel: 表格布局面板,适合以表格形式规则的动态添加(显示)控件。使用方法概述:1.将 ta...

.NET Core容器化开发系列(一)——Docker里面跑个.NET Core

前言     博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了。本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core。 安装Docker     Docker现支持在主流Linux、Windows和macOS上安装,官方的安装文档请参考docker docs。鉴于国内的网络环境,...

Vault数据库还原/恢复问题

我们在系统崩溃或Vault库从一台计算机移植到另一台计算机等情况时,可能会通过恢复或还原原Vault数据库来解决问题,本以为这样就可以正常使用了,哪知道会报如下错误:“Vault Failed to establish a connection to the database”。现提供一个我的解决办法:1.从控制面板里面卸载Vault,卸载时请注意在问你是...

MySQL 的简单介绍及实施

MySQL原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,该公司于2008年被Sun公司收购。2009年,甲骨文公司收购Sun公司,MySQL成为Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统(RDBMS)之一。 1. 数据库产品时代演变 第一代数据库架构:合的时代 RDBMS 关系型数据库时代   代...

linux入门系列19--数据库管理系统(DBMS)之MariaDB

前面讲完Linux下一系列服务的配置和使用之后,本文简单介绍一款数据库管理系统(MySQL的兄弟)MariaDB。 如果你有MySQL或其他数据的使用经验,MariaDB使用起来将非常轻松。 本文讲解Centos7默认的数据MariaDB,由于是入门系列文章因此不会深入讲解,后面有机会在单独深入。 一、MariaDB产生背景 数据处理是软件的核心,软件的本...

linux shell中读写操作mysql数据库

本文介绍了如何在shell中读写mysql数据库。主要介绍了如何在shell 中连接mysql数据库,如何在shell中创建数据库,创建表,插入csv文件,读取mysql数据库,导出mysql数据库为xml或html文件, 并分析了核心语句。本文介绍的方法适用于PostgreSQL ,相对mysql而言,shell 中读写PostgreSQL会更简单些。1...