当前位置:Gxlcms > mysql > 设置pdb随cdb一起启动

设置pdb随cdb一起启动

时间:2021-07-01 10:21:17 帮助过:79人阅读

在Oracle 12.1.0.1版本中,在cdb数据库启动过程中,业务pdb无法自动open,如果要实现该功能,需要人工写触发器来实现cdb open后,pdb 给open起来.在12.1.0.2及其以后版本,可以通过设置ALTER PLUGGABLE DATABASE PDB SAVE STATE来实现在cdb open之后业务pdb能够自

在Oracle 12.1.0.1版本中,在cdb数据库启动过程中,业务pdb无法自动open,如果要实现该功能,需要人工写触发器来实现cdb open后,pdb 给open起来.在12.1.0.2及其以后版本,可以通过设置ALTER PLUGGABLE DATABASE PDB SAVE STATE来实现在cdb open之后业务pdb能够自动open.
数据库启动后pdb未自动open

  1. XFF_CDB$ROOT@SYS> startup
  2. ORACLE 例程已经启动。
  3. Total System Global Area 805306368 bytes
  4. Fixed Size 3050800 bytes
  5. Variable Size 394265296 bytes
  6. Database Buffers 297795584 bytes
  7. Redo Buffers 5337088 bytes
  8. In-Memory Area 104857600 bytes
  9. 数据库装载完毕。
  10. 数据库已经打开。
  11. XFF_CDB$ROOT@SYS> select * from v$version;
  12. BANNER CON_ID
  13. -------------------------------------------------------------------------------- ----------
  14. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 0
  15. PL/SQL Release 12.1.0.2.0 - Production 0
  16. CORE 12.1.0.2.0 Production 0
  17. TNS for 64-bit Windows: Version 12.1.0.2.0 - Production 0
  18. NLSRTL Version 12.1.0.2.0 - Production 0
  19. XFF_CDB$ROOT@SYS> show pdbs;
  20. CON_ID CON_NAME OPEN MODE RESTRICTED
  21. ---------- ------------------------------ ---------- ----------
  22. 2 PDB$SEED READ ONLY NO
  23. 3 PDB MOUNTED

查询dba_pdb_saved_states无记录

  1. XFF_CDB$ROOT@SYS> select con_name, state from dba_pdb_saved_states;
  2. 未选定行

在数据库mount状态下save state

  1. XFF_CDB$ROOT@SYS> ALTER PLUGGABLE DATABASE PDB save state;
  2. 插接式数据库已变更。
  3. XFF_CDB$ROOT@SYS> select con_name, state from dba_pdb_saved_states;
  4. 未选定行

pdb为mount状态下,执行save state无记录,证明save state不成功

在数据库open状态下save state—-设置pdb随cdb启动

  1. XFF_CDB$ROOT@SYS> ALTER PLUGGABLE DATABASE PDB open;
  2. 插接式数据库已变更。
  3. XFF_CDB$ROOT@SYS> ALTER PLUGGABLE DATABASE PDB save state;
  4. 插接式数据库已变更。
  5. XFF_CDB$ROOT@SYS> col con_name for a20
  6. XFF_CDB$ROOT@SYS> select con_name, state from dba_pdb_saved_states;
  7. CON_NAME STATE
  8. -------------------- --------------
  9. PDB OPEN

pdb为open状态下,执save state成功.
需要注意save state需要在pdb open情况下执行才能够生效.

重启数据库测试pdb随cdb启动

  1. XFF_CDB$ROOT@SYS> shutdown immediate
  2. 数据库已经关闭。
  3. 已经卸载数据库。
  4. ORACLE 例程已经关闭。
  5. XFF_CDB$ROOT@SYS> startup
  6. ORACLE 例程已经启动。
  7. Total System Global Area 805306368 bytes
  8. Fixed Size 3050800 bytes
  9. Variable Size 364905168 bytes
  10. Database Buffers 327155712 bytes
  11. Redo Buffers 5337088 bytes
  12. In-Memory Area 104857600 bytes
  13. 数据库装载完毕。
  14. 数据库已经打开。
  15. XFF_CDB$ROOT@SYS> show pdbs;
  16. CON_ID CON_NAME OPEN MODE RESTRICTED
  17. ---------- ------------------------------ ---------- ----------
  18. 2 PDB$SEED READ ONLY NO
  19. 3 PDB READ WRITE NO

禁用pdb随cdb启动—DISCARD STATE

  1. XFF_CDB$ROOT@SYS> ALTER PLUGGABLE DATABASE PDB DISCARD state;
  2. 插接式数据库已变更。
  3. XFF_CDB$ROOT@SYS> select con_name, state from dba_pdb_saved_states;
  4. 未选定行
  5. XFF_CDB$ROOT@SYS> shutdown immediate;
  6. 数据库已经关闭。
  7. 已经卸载数据库。
  8. ORACLE 例程已经关闭。
  9. XFF_CDB$ROOT@SYS> startup
  10. ORACLE 例程已经启动。
  11. Total System Global Area 805306368 bytes
  12. Fixed Size 3050800 bytes
  13. Variable Size 364905168 bytes
  14. Database Buffers 327155712 bytes
  15. Redo Buffers 5337088 bytes
  16. In-Memory Area 104857600 bytes
  17. 数据库装载完毕。
  18. 数据库已经打开。
  19. XFF_CDB$ROOT@SYS> show pdbs;
  20. CON_ID CON_NAME OPEN MODE RESTRICTED
  21. ---------- ------------------------------ ---------- ----------
  22. 2 PDB$SEED READ ONLY NO
  23. 3 PDB MOUNTED
  24. XFF_CDB$ROOT@SYS>

12.1.0.1中设置pdb随cdb启动

  1. CREATE TRIGGER open_all_pdbs
  2. AFTER STARTUP
  3. ON DATABASE
  4. BEGIN
  5. EXECUTE IMMEDIATE 'alter pluggable database all open';
  6. END open_all_pdbs;
  7. /
  • ORACLE 12C redo异常恢复测试—部分pdb未正常open
  • ORACLE 12C redo异常恢复测试—打上patch恢复完全
  • ORACLE 12C 控制文件异常恢复
  • ORACLE 12C CDB中PDB参数管理机制
  • ORACLE 12C PDB 维护基础介绍
  • pdb正常运行丢失数据文件相关恢复
  • ORA-38760: 此数据库实例无法启用闪回数据库
  • 11GR2升级到12CR1并插入CDB

人气教程排行