在多租户(容器)数据库中如何创建PDB:方法2 克隆本地PDB
2019-08-13 09:38 askscuti 阅读(689) 评论(0) 编辑 收藏 举报基于版本:19c (12.2.0.3) AskScuti
创建方法:克隆本地PDB(从本地其他PDB创建新的PDB)
对应路径:Creating a PDB --> Cloning --> Locally
在容器数据库CDB里面如何创建PDB,官方文档给出了一张创建PDB技术选项图,图片如下:
内容总览
1. 概述
2. 设置相关参数
3. 设置被克隆的PDB为只读模式
4. 克隆新的PDB
5. 打开新的PDB
1. 概述
克隆本地PDB的意思是指:源PDB位于本地CDB中,在当前CDB内,通过某个PDB(非PDB$SEED种子)来克隆新的可插入数据库PDB。
整体过程为:
1). 设置相关参数或子句
2). 连接到根后将被克隆的PDB置为只读模式
3). 开始克隆
4). 打开被克隆的PDB和新的PDB
2. 设置相关参数
参数和子句设置具体可参考《在多租户(容器)数据库中如何创建PDB:方法1》。
您可设置 OMF 参数 DB_CREATE_FILE_DEST='具体路径';
或者设置 PDB_FILE_NAME_CONVERT='本地PDB路径','新的PBD路径';
或者在创建语句中使用 FILE_NAME_CONVERT=('本地PDB路径','新的PDB路径'); 子句
或者在创建语句中使用 CREATE_FILE_DEST='新的PDB路径';子句
例如:设置DB_CREATE_FILE_DEST='具体路径'; 其他参数及子句的例子请参考番外篇:克隆本地PDB中其他参数和子句的说明
SQL> !mkdir /u01/app/oracle/oradata/CDB1/pdb2 SQL> show parameter db_create_file_dest; SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/CDB1/pdb2'; System altered.
3. 设置被克隆的PDB为只读模式
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO SQL> alter pluggable database pdb1 close immediate; Pluggable database altered. SQL> alter pluggable database pdb1 open read only; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ ONLY NO
4. 克隆新的PDB
从PDB1克隆PDB2
SQL> create pluggable database pdb2 from pdb1; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ ONLY NO 4 PDB2 MOUNTED
5. 打开新的PDB
SQL> alter pluggable database pdb2 open read write; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ ONLY NO 4 PDB2 READ WRITE NO
重新打开被克隆的PDB1
SQL> alter pluggable database pdb1 close; Pluggable database altered. SQL> alter pluggable database pdb1 open read write; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 READ WRITE NO 4 PDB2 READ WRITE NO