詳解Oracle12c中多租戶(容器)創建PDB--從種子創建PDB

2020-02-24     波波說運維

概述

在容器資料庫CDB裡面如何創建PDB,官方文檔給出了一張創建PDB技術選項圖,圖片如下:

以下基於Oracle19c演示如何從種子創建PDB。



概述

使用種子(PDB$SEED)創建新的PDB,過程是把PDB$SEED中的數據文件複製到 CREATE PLUGGABLE DATABASE 語句中定義的目標目錄中。如下圖:

整體過程:

1)從 PDB$SEED 中複製數據文件

2)創建 SYSTEM 和 SYSAUX 表空間

3)創建新目標目錄,並在根容器中記錄元數據進行關聯

4)創建臨時表空間 TEMP

5)創建公共用戶 SYS 和 SYSTEM

6)創建默認服務



使用位置子句創建(推薦)

所謂使用位置子句的意思就是:在創建的語句中直接指定目標目錄。

1、FILE_NAME_CONVERT

使用 FILE_NAME_CONVERT 參數指定目標目錄

create pluggable database pdb2 admin user hwb identified by hwb roles=(connect) file_name_convert=('/oracle/oradata/SRM/pdbseed','/oracle/oradata/SRM/pdb2');

注意:語句中的 roles=(connect)是直接授予了該用戶的 create session 系統權限,就是允許連接登陸(connect是角色權限包,裡面包含 create session 系統權限)


2、CREATE_FILE_DEST

使用 CREATE_FILE_DEST 參數指定

!mkdir /oracle/oradata/SRM/pdb3create pluggable database pdb3 admin user hwb identified by hwb roles=(connect) create_file_dest='/oracle/oradata/SRM/pdb3';

注意:仔細觀察上面兩個參數的使用。一個參數指定兩個路徑(種子路徑,新路徑),一個參數指定一個路徑(新路徑)。



補充

如果想要在創建PDB時不指定路徑,也可以提前定義好參數DB_CREATE_FILE_DEST或者PDB_FILE_NAME_CONVERT,但是每次都得設置這個參數,所以我還是不推薦這個方式,直接自己定義路徑就可以了,不用搞那麼多亂七八糟的。


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~


文章來源: https://twgreatdaily.com/7PDCeXABgx9BqZZIBeGW.html