1. 程式人生 > >【翻譯自mos文章】怎麽startup/shutdown PDB?

【翻譯自mos文章】怎麽startup/shutdown PDB?

altered restrict 能夠 inf clas info proc 發生 reserve

怎麽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 命令是:

Shutdown Command
SHUTDOWN NORMAL
SHUTDOWN IMMEDIATE
SHUTDOWN ABORT

Startup Command
STARTUP
STARTUP NOMOUNT
STARTUP MOUNT

在CDB中運行SHUTDOWN IMMEDIATE 會發生什麽?


假設我們在container database (CDB)級別使用傳統的shutdown命令。那麽我們會把CDB和其下所有的PDB所有關閉。
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 03:45:42 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> select instance_name from v$instance;


INSTANCE_NAME
----------------
orcl


SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> alter session set container=pn1;
alter session set container=pn1
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

SQL> 

從上面我們能確認:在container database (CDB)級別使用SHUTDOWN IMMEDIATE命令會把CDB和其下所有的PDB所有關閉

怎麽關閉個別的PDB?
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 05:37:18 2016

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>  SELECT NAME,OPEN_MODE from v$PDBS;

NAME			       OPEN_MODE
------------------------------ ----------
PDB$SEED		       READ ONLY
PN1			       READ WRITE
PN2			       MOUNTED

SQL> ALTER SESSION SET CONTAINER=pn1; ------------->>>>關鍵點

Session altered.

SQL>  SHUTDOWN IMMEDIATE;
Pluggable Database closed.
SQL> SELECT NAME,OPEN_MODE from v$PDBS;

NAME			       OPEN_MODE
------------------------------ ----------
PN1			       MOUNTED

SQL> 

或者:
[[email protected] ~]$ sqlplus / as sysdba


SQL*Plus: Release 12.1.0.2.0 Production on Sat Feb 13 05:40:10 2016


Copyright (c) 1982, 2014, Oracle.  All rights reserved.




Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> SELECT NAME,OPEN_MODE from v$PDBS;


NAME			       OPEN_MODE
------------------------------ ----------
PDB$SEED		       READ ONLY
PN1			       READ WRITE
PN2			       MOUNTED


SQL> alter pluggable database pn1 close;---->>關鍵點


Pluggable database altered.


SQL> SELECT NAME,OPEN_MODE from v$PDBS;


NAME			       OPEN_MODE
------------------------------ ----------
PDB$SEED		       READ ONLY
PN1			       MOUNTED
PN2			       MOUNTED


SQL> 

也能夠這麽寫:SQL> alter pluggable database pn1 close immediate;
一旦我們運行了shutdown命令,pdb總是停留在mount狀態


怎麽依據須要啟動某一個PDB?
有兩種不同的方式來啟動PDB
SQL> select con_id, name, open_mode from v$pdbs;


    CON_ID NAME 			  OPEN_MODE
---------- ------------------------------ ----------
	 2 PDB$SEED			  READ ONLY
	 3 PN1				  MOUNTED
	 4 PN2				  MOUNTED


SQL> alter pluggable database pn1 open;


Pluggable database altered.


SQL> select con_id, name, open_mode from v$pdbs;


    CON_ID NAME 			  OPEN_MODE
---------- ------------------------------ ----------
	 2 PDB$SEED			  READ ONLY
	 3 PN1				  READ WRITE
	 4 PN2				  MOUNTED


SQL> select con_id, name, open_mode,RESTRICTED from v$PDBS;


    CON_ID NAME 			  OPEN_MODE  RES
---------- ------------------------------ ---------- ---
	 2 PDB$SEED			  READ ONLY  NO
	 3 PN1				  READ WRITE NO
	 4 PN2				  MOUNTED


SQL> 



Open PDB in restricted mode
SQL> alter pluggable database PN1 open restricted;


Pluggable database altered.


SQL> SELECT NAME,OPEN_MODE,RESTRICTED from v$PDBS;


NAME                           OPEN_MODE  RES
------------------------------ ---------- ---
PN1                        READ WRITE YES

Open PDB with force option
SQL> alter pluggable database PN1 open FORCE;


Pluggable database altered.


SQL> SELECT NAME,OPEN_MODE,RESTRICTED from v$PDBS;


NAME                           OPEN_MODE  RES
------------------------------ ---------- ---
PN1                        READ WRITE NO

也能夠把PDB open到upgrade模式
SQL> alter pluggable database PN1 open UPGRADE;
註意。本文也適用於rac,僅僅須要把v$換成GV$

【翻譯自mos文章】怎麽startup/shutdown PDB?