1. 程式人生 > >Oracle12c CDB和PDB資料庫的啟動與關閉說明

Oracle12c CDB和PDB資料庫的啟動與關閉說明

在Oracle 12c中,分CDB 和PDB,他們的啟動和關閉操作整理如下。

1. Container Database (CDB)

STARTUP [NOMOUNT | MOUNT | RESTRICT | UPGRADE | FORCE | READ ONLY]

SHUTDOWN [IMMEDIATE | ABORT]

要注意,在12c資料庫建立完成後,預設情況下使用sqlplus / as sysdba 登入連線的是CDB。

[[email protected]~]$ sqlplus / as sysdba

SQL*Plus:Release 12.1.0.1.0 Production on Thu Apr 24 17:50:34 2014
Copyright(c) 1982, 2013, Oracle. All rightsreserved.
Connectedto:
OracleDatabase 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
Withthe Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL>show
con_name CON_NAME ------------------------------ CDB$ROOT SQL>select con_id, dbid, guid, name , open_mode from v$pdbs;
CON_ID DBID GUID NAME OPEN_MODE ---------- ------------------------------------------ ------------------------------ ---------- 2 4088301206 F7C1E3C96BBF0585E0430A01A8C05459PDB$SEED READ ONLY 3 426143573 F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA READ WRITE

我們現在連線的是CDB,即root container。

我們關閉CDB:

SQL>shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.

我們關閉CDB之前PDB 是沒有關閉的,所以這個操作也會把PDB 關閉掉。

SQL>startup

ORACLE instance started.
TotalSystem Global Area 1269366784 bytes
FixedSize 2287912 bytes
VariableSize 788530904 bytes
DatabaseBuffers 469762048 bytes
RedoBuffers 8785920 bytes
Database mounted.
Database opened.

SQL> select
con_id, dbid, guid, name , open_modefrom v$pdbs;
CON_ID DBID GUID NAME OPEN_MODE ---------- ------------------------------------------ ------------------------------ ---------- 2 4088301206F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED READ ONLY 3 426143573 F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA MOUNTED

注意這裡的PDB,在CDB 啟動之,PDB 是自動啟動到mount狀態,而不是OPEN。 所以我們還需要手工去open它,當然,也可以通過在CDB中配置觸發器來自動open。

2. Pluggable Database (PDB)

PDB 的操作可以通過SQL*PLUS 來操作,也可以通過ALTER PLUGGABLE DATABASE 命令操作。

2.1 使用SQL*Plus 命令

因為預設連線的是CDB,所以必須先指定PDB才可以通過sqlplus來啟動和關閉PDB,具體語法和普通例項一樣:

STARTUP FORCE;

STARTUP OPEN READ WRITE [RESTRICT];

STARTUP OPEN READ ONLY [RESTRICT];

STARTUP UPGRADE;

SHUTDOWN [IMMEDIATE];
SQL>show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL>selectcon_id, dbid, guid, name , open_mode from v$pdbs;

CON_ID DBID GUID NAME OPEN_MODE
-------------------- -------------------------------- --------------- ----------
2 4088301206F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED READ ONLY
3 426143573 F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA MOUNTED

注意這裡是mount,表示PDB 是關閉的。

--指定PDB 資料庫:
SQL>alter session set container=pdbcndba;

Session altered.

SQL>startup

Pluggable Database opened.

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

CON_ID DBID GUID NAME OPEN_MODE
-------------------- -------------------------------- --------------- ----------
3 426143573 F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA READ WRITE

啟動成功。 當我們切換到PDB之後,就看不到seed PDB的資訊了。

2.2 使用ALTER PLUGGABLE DATABASE命令

如果在PDB中可以使用如下語法:

ALTER PLUGGABLE DATABASE OPEN READ WRITE [RESTRICTED] [FORCE];

ALTER PLUGGABLE DATABASE OPEN READ ONLY [RESTRICTED] [FORCE];

ALTER PLUGGABLE DATABASE OPEN UPGRADE [RESTRICTED];

ALTER PLUGGABLE DATABASE CLOSE [IMMEDIATE];

如果是在CDB中,可以使用如下語法:

ALTER PLUGGABLE DATABASE <pdd-name-clause> OPEN READ WRITE [RESTRICTED][FORCE];

ALTER PLUGGABLE DATABASE <pdd-name-clause> OPEN READ ONLY [RESTRICTED] [FORCE];

ALTER PLUGGABLE DATABASE <pdd-name-clause> OPEN UPGRADE [RESTRICTED];

ALTER PLUGGABLE DATABASE <pdd-name-clause> CLOSE [IMMEDIATE];

<pdd-name-clause>表示的是多個PDB,如果有多個,用逗號分開。 也可以使用ALL或者ALL EXCEPT關鍵字來替代。

ALL:表示所有的PDBS。
ALLEXCEPT:表示需要排除的PDBS。

如:

ALTER PLUGGABLE DATABASE pdb1, pdb2 OPEN READ ONLY FORCE;

ALTER PLUGGABLE DATABASE pdb1, pdb2 CLOSE IMMEDIATE;

ALTER PLUGGABLE DATABASE ALL OPEN;

ALTER PLUGGABLE DATABASE ALL CLOSE IMMEDIATE;

ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 OPEN;

ALTER PLUGGABLE DATABASE ALL EXCEPT pdb1 CLOSE IMMEDIATE;

示例:

SQL>alter session set container=CDB$ROOT;

Session altered.

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

CON_ID DBID GUID NAME OPEN_MODE
-------------------- -------------------------------- --------------- ----------
2 4088301206F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED READ ONLY
3 426143573 F7C209EB1DFC0854E0430A01A8C0B787 PDBCNDBA READ WRITE

SQL>ALTER PLUGGABLE DATABASE ALL CLOSE ;

Pluggable database altered.

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

CON_ID DBID GUID NAME OPEN_MODE
-------------------- -------------------------------- --------------- ----------
2 4088301206F7C1E3C96BBF0585E0430A01A8C05459 PDB$SEED READ ONLY
3 426143573 F7C209EB1DFC0854E0430A01A8C0B787PDBCNDBA MOUNTED

SQL>alter session set container=pdbcndba;

Session altered.

SQL>ALTER PLUGGABLE DATABASE OPEN;

Pluggable database altered.

SQL> select con_id, dbid, guid, name , open_modefrom v$pdbs;

CON_ID DBID GUID NAME OPEN_MODE
-------------------- -------------------------------- --------------- ----------
3 426143573 F7C209EB1DFC0854E0430A01A8C0B787PDBCNDBA READ WRITE

3. 設定Pluggable Database (PDB) 的自動startup

預設情況下,在CDB 啟動的時候,all 的PDB 都是mount狀態,也沒有預設的機制,在CDB啟動時自動啟動PDB。

但這裡可以通過觸發器來實現PDB的自動open:

CREATEOR REPLACE TRIGGER open_pdbs

AFTER STARTUP ON DATABASE

BEGIN

    EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';

END open_pdbs;

/

示例:

SQL>show con_name

CON_NAME
------------------------------
PDBCNDBA

SQL>alter session set container=CDB$ROOT;

Session altered.

SQL>CREATE OR REPLACE TRIGGER open_pdbs
2 AFTER STARTUP ON DATABASE
3 BEGIN
4 EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN';
5 END open_pdbs;
6 /

Trigger created.

相關推薦

Oracle12c CDBPDB資料庫啟動關閉說明

在Oracle 12c中,分CDB 和PDB,他們的啟動和關閉操作整理如下。 1. Container Database (CDB) STARTUP [NOMOUNT | MOUNT | RESTRICT | UPGRADE | FORCE | RE

ORACLE資料庫啟動關閉

 LEOLIN備註:WINDOWS系統下,SID為ORCL的服務OracleServiceORCL啟動命令為:D:/oracle/product/10.1.0/db_1/bin/ORACLE.EXE ORCL,所以ORCL資料庫已經為OPEN狀態。 1、startup nom

啟動關閉CDBPDB

一、連線工具 sqlplus、pl/sql developer、TOAD等。 Oracle DBA常用的是sqlplus,登入過程如下: SQL> sqlplus / as sysdba --在本機,以超級管理員身份登入 SQL> startup --預

CDBPDB的建立、連線、啟動關閉

一、CDB和PDB基本管理 基本概念: Multitenant Environment:多租戶環境 CDB(Container Database):資料庫容器 PDB(Pluggable Database):可插拔資料庫 二、建立 2.1建立CDB PDB包含在CDB中,所以,要建立PDB,必須

CDBPDB的創建、連接、啟動關閉

exe 應用 water 驗證過 會話 關閉 nta https sql 一、CDB和PDB基本管理 基本概念: Multitenant Environment:多租戶環境 CDB(Container Database):數據庫容器 PDB(Pluggable Databa

Oracle12cCDBPDB建立表空間使用者,以及Pl/SQL連線PDB

 今天上午剛安裝的12c,用來一下午的時間總結出來的,不保猜測的對錯,但保證SQL能執行成功。 CDB給使用者授權表空間的SQL是從別出整理過來的,因為我是在PDB中建立,沒測試過下面程式碼是否可用。 alter user C##truedata quota unlimited on TRUED

RAC 資料庫啟動關閉

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Hadoop叢集HbabseZookeeper 啟動關閉需要注意的問題

1:hadoop、ZooKeeper和HBase之間應該按照順序啟動和關閉:啟動Hadoop—>啟動ZooKeeper叢集     —>啟動HBase—>停止HBase—>停止ZooKeeper叢集—>停止Hadoop。

SQLPlus 啟動關閉Oracle資料庫

  SQLPlus 中啟動與關閉資料庫   啟動sqlplus,以sysdba角色登入資料庫。   以Windows 7 平臺為例,首先啟動OracleServiceSID(SID為資料庫名字)服務,否則sqlplus無法登入。登入後在sqlplus中使用命令關閉資料庫(此

Oracle常用命令之監聽的啟動關閉以及切換資料庫例項

    這篇內容說下Oracle資料庫如何啟動、關閉資料庫監聽以及在同一個伺服器上有多個例項時如何切換到自己需要的例項上去。    1.啟動資料庫監聽        在伺服器命令列直接輸入命令lsnrctl start即可(listener control縮寫)       

oracle資料庫啟動關閉

  連線資料庫    sqlplus " / as sysdba"        或者    sqlplus  /nolog    connect / as sysdba   啟動資料庫    startup   引數: NOMOUNT,MOUNT,OPEN,FORCE,RESTRICT    引數說明: 

MySQL 資料庫啟動關閉

    #檢視mysqld啟動配置檔案的優先順序  [[email protected] ~]# mysqld --verbose --help |grep -A 1 "Default options"  Default options are read from the following fil

Oracle 11gR2 RAC集群服務啟動關閉命令匯總

listener oracle database 網上好多帖子都是啟動和關閉相關服務的命令# su – oracle$ crs_start–all --啟動所有的crs服務$ crs_stop–all --停止所有的crs服務$ crsctl start crs --啟動crs服務$ crsctl

linux下oracle11g R2的啟動關閉監聽、數據庫

source app var copy time lac started success let 一、啟動監聽與數據庫 1、啟動監聽: [html] view plain copy [[email protected]/* */ oracle]# s

Oracle 數據庫啟動關閉 各種方式詳解整理

歸檔模式 tro 需求 acl 提交 管理操作 edi 存在 datafile 概述 只有具備sysdba和sysoper系統特權的用戶才能啟動和關閉數據庫。 在啟動數據庫之前應該啟動監聽程序,否則就不能利用命令方式來管理數據庫,包括啟動和關閉數據庫。 雖然數據庫正常運行,

MySQL 啟動關閉

logs targe bsp start sta stop mysql 啟動 啟動與關閉 ref MySQL 啟動原理:http://www.cnblogs.com/andy6/p/6602943.html 啟動:/etc/init.d/mysqld start 關閉:

Oracle下啟動關閉

oracle startup shutdown 在Oracle下啟動與關閉大致都是由3個步驟完成,在啟動時分別是:啟動實例、加載數據庫、打開數據庫;關閉時分別是:關閉數據庫、卸載數據庫、關閉Oracle實例。所以在Oracle因為這種嚴謹的風格,使得在平時可以根據不同的情況根據需要,以不同的

CentOS6.8 x86_64bit shell腳本實現模擬nginx服務啟動關閉

sta 繼續 star functions sage fun 啟動文件 load() 執行 shell腳本模擬nginx服務啟動與關閉註意: 3個斜杠///後面表示在這表示對當前語句的解釋,實際腳本中必須刪除 #!/bin/bash///定義哪種腳本語言解釋下面的語句[ -

oracle 12c service之cdbpdb

srvctladdservicesrvctl add service 參數如下:-s:服務名-r:首選實例名-a:備用實例名-p:TAF策略,有none,basic,preconnect三個值可選-d-pdb srvctl add service -help 查看各個參數的含義 這裏如果未指定-pdb,則連到

啟動關閉服務

clas php res nginx服務 config test conf fpm asc 1、啟動php-fpm服務 # 啟動 service php-fpm start # 關閉 service php-fpm stop # 重啟 service php-fpm re