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;
Oracle12c中配置实例参数和修改容器数据库(CDB)及可插拔数据库(PDB)的更多相关文章
- Oracle12cr1新特性之容器数据库(CDB)和可插拔数据库(PDB) 的启动和关闭
Oracle12c中引入的多宿主选项(multitenant option)允许一个容器数据库容纳多个独立的可插拔数据库(PDB).本文将说明如何启动和关闭容器数据库(CDB)和可插拔数据库(PDB) ...
- Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
对开发者和DBA们来说,对shell脚本批量任务的影响成了多宿主选项带来的最大改变之一.因为多宿主环境通过服务来连接到可插拔数据库,因此,依靠CRON和OS认证成了换成多宿主环境后的一个最大问题.本文 ...
- oracle12c新特点之可插拔数据库(Pluggable Database,PDB)
1. 12c PDB新特点的优势 1) 可以把多个PDB集成进一个平台. 2) 可以快速提供一个新的PDB或一个已有PDB的克隆. 3) 通过拔插技术,可以快速把存在的数据库重 ...
- 在web.xml中配置监听器来控制ioc容器生命周期
5.整合关键-在web.xml中配置监听器来控制ioc容器生命周期 原因: 1.配置的组件太多,需保障单实例 2.项目停止后,ioc容器也需要关掉,降低对内存资源的占用. 项目启动创建容器,项目停止销 ...
- 如何在IAR中配置CRC参数(转)
源:如何在IAR中配置CRC参数 前言 STM32全系列产品都具有CRC外设,对CRC的计算提供硬件支持,为应用程序节省了代码空间.CRC校验值可以用于数据传输中的数据正确性的验证,也可用于数据存储时 ...
- openerp-server.conf 中配置 dbfilter 参数无效的解决办法
来自:http://shine-it.net/index.php/topic,14517.html 以前就发现过这个问题, 今天重新在群里同大家讨论了一下. 有时候可能我们希望用户不从登陆界面的账套选 ...
- spring aop xml中配置实例
http://blog.csdn.net/wangpeng047/article/details/8560694
- 详谈Oracle12c新特点容器数据库&可插拔数据库(CDB&PDB)
一般信息 数据字典 CDB_FILE$ DBA_PDBS PDB$SEED CDB_LOCAL_ADMINAUTH$ DBA_PDB_HISTORY PDB_HISTORY$ CDB_PDB_SAVE ...
- 关于Javascript中通过实例对象修改原型对象属性值的问题
Javascript中的数据值有两大类:基本类型的数据值和引用类型的数据值. 基本类型的数据值有5种:null.undefined.number.boolean和string. 引用类型的数据值往大的 ...
随机推荐
- 【Python】【有趣的模块】【Requests】无状态 & 无连接
无状态:原来的Web是静态,后来换成动态的就需要保存一些上下文信息,session和cookie应运而生 无连接:原来为了请求结束后赶紧把资源让出去,后来发现每次请求中有相同的小请求时候再重复执行(而 ...
- intellij idea 破解教程
首先呼吁:抵制盗版,抵制盗版,抵制盗版 如果只是个人开发学习用,那么下面的教程可能比较适合你了 有两种方法,第一种:Activate--License server,在License server a ...
- module.exports小程序模块化,require
小程序模块化 可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块.模块只有通过 module.exports 或者 exports 才能对外暴露接口. tips:exports 是 mo ...
- 前端阶段_html部分2后台frame的初始构架案例
1.<frameset cols="25%,75%"> 把页面分为1:3,并且使用frame的同时应该删除body标签 2.<frame src ...
- [原]windows sdk版本不对
系统硬盘换了,重新安装一堆软件,SVN. 之前的SVN地址直接能找到 在编译vs项目的时候出现问题: windows sdk 10.0.14393.0 版本找不到 发现自己按照vs时候更新不了最新sd ...
- 一个请求需要调用两个不同的数据库 添加DbContext
当请求进入application中的方法时 会开启一个工作单元 这里面调用不同的DbContext 会默认使用第一次调用的DbContext 需要手动开启工作单元来隔离两个不同的DbContex ...
- Spring Cloud 入门教程(二): 配置管理
使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring ...
- Asp.net core 学习笔记 ( Configuration 配置 )
参考 : https://cnblogs.com/nianming/p/7083964.html 配置写在 appsettings.json 里头 比如 { "object": { ...
- log4j动态监听配置修改
一般情况下,log4j的配置文件是log4j.properties.但是每次我们修改了配置文件之后程序并不会自动去加载,而需要我们去重启程序.那么怎么样才能让程序不用重启就监听到变化呢.代码如下: p ...
- (8)进程---Queue队列
# IPC Inter-Process Communication # 实现进程之间通信的两种机制: # 管道 Pipe 用的很少 # 队列 Queue 队列的特征:现进先出,栈属于后进后出 基本语法 ...