更改PDB模式
关闭PDB后,可以将其以以下模式打开:
-
限制读写模式
CONNECT sys@pdb1 AS SYSDBA; ALTER PLUGGABLE DATABASE CLOSE; ALTER PLUGGABLE DATABASE OPEN RESTRICTED; SELECT name, open_mode FROM v$pdbs;
查询结果中,PDB1的
OPEN_MODE
为READ WRITE YES
。 -
只读模式
CONNECT / AS SYSDBA; ALTER PLUGGABLE DATABASE ALL OPEN READ ONLY;
修改PDB设置
-
上线PDB数据文件
ALTER PLUGGABLE DATABASE DATAFILE '/u03/pdb1_01.dbf' ONLINE;
-
更改PDB默认表空间
ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE pdb1_tbs;
-
更改PDB默认临时表空间
ALTER PLUGGABLE DATABASE DEFAULT TEMPORARY TABLESPACE temp_tbs;
-
设置PDB存储限制
ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 2G);
-
更改全局名称
ALTER PLUGGABLE DATABASE RENAME GLOBAL NAME TO pdbAPP1;
初始化参数更改的影响
- 单个服务器参数文件(SPFILE)每个CDB一个。
- PDB参数值更改:
- 仅在
IS_PDB_MODIFIABLE=TRUE
时生效。 - 在PDB关闭后加载到内存中。
- 在CDB关闭后存储到字典中。
- 仅在
例如:
CONNECT sys@pdb1 AS SYSDBA;
ALTER SYSTEM SET ddl_lock_timeout=10;
SHOW PARAMETER ddl_lock_timeout;
查询结果显示ddl_lock_timeout
为10。
另一示例:
CONNECT sys@pdb2 AS SYSDBA;
ALTER SYSTEM SET ddl_lock_timeout=20 SCOPE=BOTH;
ALTER PLUGGABLE DATABASE CLOSE;
ALTER PLUGGABLE DATABASE OPEN;
SELECT value, ispdb_modifiable, con_id FROM v$system_parameter WHERE name = 'ddl_lock_timeout';
结果中显示参数值为20,ispdb_modifiable
为TRUE
。
配置每个PDB的主机名和端口号
ALTER PLUGGABLE DATABASE CONTAINERS HOST = '<host_name>';
ALTER PLUGGABLE DATABASE CONTAINERS PORT = '<port_nb>';
重置为默认值:
ALTER PLUGGABLE DATABASE CONTAINERS HOST RESET;
ALTER PLUGGABLE DATABASE CONTAINERS PORT RESET;
详细举例
-
更改PDB为限制读写模式
CONNECT sys@pdb1 AS SYSDBA; ALTER PLUGGABLE DATABASE CLOSE; ALTER PLUGGABLE DATABASE OPEN RESTRICTED; SELECT name, open_mode FROM v$pdbs;
-
更改PDB默认表空间
ALTER PLUGGABLE DATABASE DEFAULT TABLESPACE pdb1_tbs;
-
设置PDB存储限制
ALTER PLUGGABLE DATABASE STORAGE (MAXSIZE 2G);
-
初始化参数更改示例
CONNECT sys@pdb1 AS SYSDBA; ALTER SYSTEM SET ddl_lock_timeout=10; SHOW PARAMETER ddl_lock_timeout;
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。
全网第一个AI+PPT提效小册希望能对大家有帮助订阅之后有专属学习交流群
以及AI考试资料分享