当前位置:Gxlcms > 数据库问题 > 【翻译自mos文章】怎么startup/shutdown PDB?

【翻译自mos文章】怎么startup/shutdown PDB?

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

怎么startup/shutdown PDB?
来源于:
12c: How to Startup/Shutdown PDB‘s? (文档 ID 1592247.1)

适用于:
Oracle Database - Enterprise Edition - Version 12.1.0.1 and later
Information in this document applies to any platform.

目标:
startup/shutdown PDB的方法。



解决方式:
在12c之前,传统的startup/shutdown 命令是:

  1. Shutdown Command
  2. SHUTDOWN NORMAL
  3. SHUTDOWN IMMEDIATE
  4. SHUTDOWN ABORT

  1. Startup Command
  2. STARTUP
  3. STARTUP NOMOUNT
  4. STARTUP MOUNT

在CDB中运行SHUTDOWN IMMEDIATE 会发生什么?


假设我们在container database (CDB)级别使用传统的shutdown命令。那么我们会把CDB和其下所有的PDB所有关闭。
  1. [oracle@rhel59 ~]$ sqlplus / as sysdba
  2. SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 03:45:42 2016
  3. Copyright (c) 1982, 2014, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
  6. With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
  7. SQL> select instance_name from v$instance;
  8. INSTANCE_NAME
  9. ----------------
  10. orcl
  11. SQL> show con_name
  12. CON_NAME
  13. ------------------------------
  14. CDB$ROOT
  15. SQL> shutdown immediate;
  16. Database closed.
  17. Database dismounted.
  18. ORACLE instance shut down.
  19. SQL> alter session set container=pn1;
  20. alter session set container=pn1
  21. *
  22. ERROR at line 1:
  23. ORA-01034: ORACLE not available
  24. Process ID: 0
  25. Session ID: 0 Serial number: 0
  26. SQL>

从上面我们能确认:在container database (CDB)级别使用SHUTDOWN IMMEDIATE命令会把CDB和其下所有的PDB所有关闭

怎么关闭个别的PDB?
  1. [oracle@rhel59 ~]$ sqlplus / as sysdba
  2. SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 05:37:18 2016
  3. Copyright (c) 1982, 2014, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
  6. With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
  7. SQL> SELECT NAME,OPEN_MODE from v$PDBS;
  8. NAME
  9. OPEN_MODE
  10. ------------------------------ ----------
  11. PDB$SEED
  12. READ ONLY
  13. PN1
  14. READ WRITE
  15. PN2
  16. MOUNTED
  17. SQL> ALTER SESSION SET CONTAINER=pn1; ------------->>>>关键点
  18. Session altered.
  19. SQL> SHUTDOWN IMMEDIATE;
  20. Pluggable Database closed.
  21. SQL> SELECT NAME,OPEN_MODE from v$PDBS;
  22. NAME
  23. OPEN_MODE
  24. ------------------------------ ----------
  25. PN1
  26. MOUNTED
  27. SQL>

或者:
  1. [oracle@rhel59 ~]$ sqlplus / as sysdba
  2. SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 05:40:10 2016
  3. Copyright (c) 1982, 2014, Oracle. All rights reserved.
  4. Connected to:
  5. Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
  6. With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
  7. SQL> SELECT NAME,OPEN_MODE from v$PDBS;
  8. NAME
  9. OPEN_MODE
  10. ------------------------------ ----------
  11. PDB$SEED
  12. READ ONLY
  13. PN1
  14. READ WRITE
  15. PN2
  16. MOUNTED
  17. SQL> alter pluggable database pn1 close;---->>关键点
  18. Pluggable database altered.
  19. SQL> SELECT NAME,OPEN_MODE from v$PDBS;
  20. NAME
  21. OPEN_MODE
  22. ------------------------------ ----------
  23. PDB$SEED
  24. READ ONLY
  25. PN1
  26. MOUNTED
  27. PN2
  28. MOUNTED
  29. SQL>

也能够这么写:SQL> alter pluggable database pn1 close immediate;
一旦我们运行了shutdown命令,pdb总是停留在mount状态


怎么依据须要启动某一个PDB?
有两种不同的方式来启动PDB
  1. SQL> select con_id, name, open_mode from v$pdbs;
  2. CON_ID NAME
  3. OPEN_MODE
  4. ---------- ------------------------------ ----------
  5. 2 PDB$SEED
  6. READ ONLY
  7. 3 PN1
  8. MOUNTED
  9. 4 PN2
  10. MOUNTED
  11. SQL> alter pluggable database pn1 open;
  12. Pluggable database altered.
  13. SQL> select con_id, name, open_mode from v$pdbs;
  14. CON_ID NAME
  15. OPEN_MODE
  16. ---------- ------------------------------ ----------
  17. 2 PDB$SEED
  18. READ ONLY
  19. 3 PN1
  20. READ WRITE
  21. 4 PN2
  22. MOUNTED
  23. SQL> select con_id, name, open_mode,RESTRICTED from v$PDBS;
  24. CON_ID NAME
  25. OPEN_MODE RES
  26. ---------- ------------------------------ ---------- ---
  27. 2 PDB$SEED
  28. READ ONLY NO
  29. 3 PN1
  30. READ WRITE NO
  31. 4 PN2
  32. MOUNTED
  33. SQL>



Open PDB in restricted mode
  1. SQL> alter pluggable database PN1 open restricted;
  2. Pluggable database altered.
  3. SQL> SELECT NAME,OPEN_MODE,RESTRICTED from v$PDBS;
  4. NAME OPEN_MODE RES
  5. ------------------------------ ---------- ---
  6. PN1 READ WRITE YES

Open PDB with force option
  1. SQL> alter pluggable database PN1 open FORCE;
  2. Pluggable database altered.
  3. SQL> SELECT NAME,OPEN_MODE,RESTRICTED from v$PDBS;
  4. NAME OPEN_MODE RES
  5. ------------------------------ ---------- ---
  6. PN1 READ WRITE NO

也能够把PDB open到upgrade模式
SQL> alter pluggable database PN1 open UPGRADE;
注意。本文也适用于rac,仅仅须要把v$换成GV$

【翻译自mos文章】怎么startup/shutdown PDB?

标签:data   关键点   ons   content   64bit   copyright   app   container   smo   

人气教程排行