Oracle12c_PDB的拔插與刪除
這裡簡單介紹了拔出PDB,刪除PDB,插入PDB的操作方法:
1、unplug PDB
檢視PDB資訊:
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
PDB_4 READ WRITE
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
拔出PDB_4(必須連線到CDB$ROOT):
首先關閉PDB_4
SQL> alter pluggable database pdb_4 close immediate;
Pluggable database altered.
然後就可以unplug
SQL> alter pluggable database pdb_4 unplug into '/home/oracle/unplugged_pdbs/pdb_4.xml';
Pluggable database altered.
XML檔案中包含了每個資料檔案的位置,以及初始化引數等資訊。
2、drop PDB
關閉並且拔出PDB後才可以進行刪除,刪除時可以一起刪除資料檔案:
同樣需要連線到CDB$ROOT容器,執行下列語句:
SQL> drop pluggable database pdb_4 keep datafiles;
Pluggable database dropped.
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
這裡使用了keep datafiles保留了PDB_4的資料檔案。另外,也可以使用inluding datafiles徹底刪除PDB的資料檔案。
3、plug an unplugged PDB
plug PDB_4:
SQL> create pluggable database pdb_4_replug using '/home/oracle/unplugged_pdbs/pdb_4.xml' nocopy tempfile reuse;
Pluggable database created.
SQL> select name from v$pdbs;
NAME
------------------------------
PDB$SEED
PDB_1
PDB_2
PDB_3
PDB_4_REPLUG
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
PDB_4_REPLUG MOUNTED
上述create pluggable database語句中,因為資料檔案都在xml檔案指定的位置,且仍使用原來的位置作為新
的pdb的資料檔案的儲存位置,因此沒有包含其他子句。
另外一條plug PDB的語句也可能如下:
CREATE PLUGGABLE DATABASE pdbname
USING '/location/filename.xml'
SOURCE_FILE_NAME_CONVERT=('/location1/','/location2/')
MOVE
FILE_NAME_CONVERT=('/location2/','/location3/')
PATH_PREFIX='/location3/'
STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
這裡xml檔案中指示資料檔案在/location1/中,而實際上資料檔案在/location2/中,且最終我們要將資料檔案
放在/location3/中
1、unplug PDB
檢視PDB資訊:
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
PDB_4 READ WRITE
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
拔出PDB_4(必須連線到CDB$ROOT):
首先關閉PDB_4
SQL> alter pluggable database pdb_4 close immediate;
Pluggable database altered.
然後就可以unplug
SQL> alter pluggable database pdb_4 unplug into '/home/oracle/unplugged_pdbs/pdb_4.xml';
Pluggable database altered.
XML檔案中包含了每個資料檔案的位置,以及初始化引數等資訊。
2、drop PDB
關閉並且拔出PDB後才可以進行刪除,刪除時可以一起刪除資料檔案:
同樣需要連線到CDB$ROOT容器,執行下列語句:
SQL> drop pluggable database pdb_4 keep datafiles;
Pluggable database dropped.
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
這裡使用了keep datafiles保留了PDB_4的資料檔案。另外,也可以使用inluding datafiles徹底刪除PDB的資料檔案。
3、plug an unplugged PDB
plug PDB_4:
SQL> create pluggable database pdb_4_replug using '/home/oracle/unplugged_pdbs/pdb_4.xml' nocopy tempfile reuse;
Pluggable database created.
SQL> select name from v$pdbs;
NAME
------------------------------
PDB$SEED
PDB_1
PDB_2
PDB_3
PDB_4_REPLUG
SQL> select name,open_mode from v$pdbs;
NAME OPEN_MODE
------------------------------ ----------
PDB$SEED READ ONLY
PDB_1 READ WRITE
PDB_2 READ WRITE
PDB_3 READ WRITE
PDB_4_REPLUG MOUNTED
上述create pluggable database語句中,因為資料檔案都在xml檔案指定的位置,且仍使用原來的位置作為新
的pdb的資料檔案的儲存位置,因此沒有包含其他子句。
另外一條plug PDB的語句也可能如下:
CREATE PLUGGABLE DATABASE pdbname
USING '/location/filename.xml'
SOURCE_FILE_NAME_CONVERT=('/location1/','/location2/')
MOVE
FILE_NAME_CONVERT=('/location2/','/location3/')
PATH_PREFIX='/location3/'
STORAGE (MAXSIZE 2G MAX_SHARED_TEMP_SIZE 100M);
這裡xml檔案中指示資料檔案在/location1/中,而實際上資料檔案在/location2/中,且最終我們要將資料檔案
放在/location3/中
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2144023/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- anaconda的刪除與重灌
- Mysql索引的建立與刪除MySql索引
- PostgreSQL:資料庫的建立與刪除SQL資料庫
- elasticsearch(三)----索引建立與刪除Elasticsearch索引
- ubuntu環境變數的新增與刪除Ubuntu變數
- oracle db link的檢視建立與刪除Oracle
- JavaScript 動態新增與刪除元素JavaScript
- hadoop 資料夾檔案的建立與刪除Hadoop
- Tree樹狀圖的動態增刪查改(下)修改與刪除
- linux的刪除檔案命令和強制刪除命令Linux
- whk我【資料刪除】你個【資料刪除】的
- php(js)批量刪除/單個刪除PHPJS
- Flask-caching 的快取與刪除 —— 避坑指南Flask快取
- 6.12php對資料庫的刪除和批量刪除PHP資料庫
- mySql刪除多個表 刪除多個欄位的SQLMySql
- 工作293:調節刪除順序刪除
- (已刪除)
- Oracle 12c 建立與刪除CDB、PDBsOracle
- cache與DB一致性-刪除
- Problem E: 向量的刪除
- Jupyter 刪除不用的kernel
- oracle rac 12徹底刪除,徹底刪除該死的racOracle
- [20180707]刪除結尾帶.的檔案與目錄.txt
- Sqlserver中所有約束的型別,建立、修改與刪除SQLServer型別
- mysql刪除主鍵索引,刪除索引語法MySql索引
- u盤裡的檔案無法刪除 如何刪除u盤裡刪不掉的檔案
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)
- windows.old可以刪除嗎?windows.old檔案的刪除方法Windows
- WPF中的ListBox怎麼新增刪除按鈕並刪除所在行
- iOS 多選刪除(附tableViewTips及單選刪除)iOSView
- Oracle 增加修改刪除欄位與新增註釋Oracle
- MongoDB資料庫中更新與刪除資料MongoDB資料庫
- 【PyQt5】使用 QListWidget 實現 刪除 與 新增QT
- [PyQt5] 使用 QListWidget 實現 刪除 與 新增QT
- 資料結構之單連結串列的建立與刪除資料結構
- phalcon框架中的軟刪除框架
- 刪除指定名稱的程式
- 陣列的方法-新增刪除陣列
- golang map的判斷,刪除Golang