配置新可插拔数据库的详细步骤
克隆常规 PDB
定义数据文件位置:
SET DB_CREATE_FILE_DEST='PDB3dir'; SET PDB_FILE_NAME_CONVERT='PDB1dir', 'PDB3dir';
连接到 CDB 根目录并关闭 PDB1:
ALTER PLUGGABLE DATABASE pdb1 CLOSE;
从 PDB1 克隆 PDB3:
CREATE PLUGGABLE DATABASE pdb3 FROM pdb1 CREATE_FILE_DEST='PDB3dir';
以读写模式打开 PDB3:
ALTER PLUGGABLE DATABASE pdb3 OPEN;
迁移数据从非 CDB 到 CDB
使用 Data Pump 插入数据:
IMPDP sys/*****@CDB1 FULL=Y DIRECTORY=dpump_dir1 DUMPFILE=expdat.dmp LOGFILE=impschema.log
使用 DBMS_PDB 插入 XML 文件定义的非 CDB:
EXEC DBMS_PDB.DESCRIBE('/tmp/ORCL.xml'); CREATE PLUGGABLE DATABASE PDB2 USING '/tmp/ORCL.xml';
克隆非 CDB 到 PDB:
CREATE PLUGGABLE DATABASE pdb2 FROM NON$CDB@link_orcl CREATE_FILE_DEST='/new/PDB2';
使用复制技术:
-- 配置 Oracle GoldenGate 环境 GGSCI> ADD REPLICAT rep1, EXTTRAIL ./dirdat/aa GGSCI> START REPLICAT rep1
插入非 CDB 到 CDB 使用 DBMS_PDB
以只读模式打开 ORCL:
ALTER DATABASE ORCL OPEN READ ONLY; EXEC DBMS_PDB.DESCRIBE('/tmp/ORCL.xml');
在目标 CDB 中创建 PDB2:
CREATE PLUGGABLE DATABASE PDB2 USING '/tmp/ORCL.xml';
运行
noncdb_to_pdb.sql
脚本:@${ORACLE_HOME}/rdbms/admin/noncdb_to_pdb.sql
打开 PDB2:
ALTER PLUGGABLE DATABASE PDB2 OPEN;
克隆非 CDB 或远程 PDB
以只读模式设置 ORCL:
ALTER DATABASE ORCL OPEN READ ONLY;
在 CDB 中创建数据库链接:
CREATE DATABASE LINK link_orcl CONNECT TO system IDENTIFIED BY *** USING 'orcl';
克隆非 CDB:
CREATE PLUGGABLE DATABASE pdb_orcl FROM NON$CDB@link_orcl CREATE_FILE_DEST='/new/PDB_orcl';
运行
noncdb_to_pdb.sql
脚本:@${ORACLE_HOME}/rdbms/admin/noncdb_to_pdb.sql
以读写模式打开 PDB:
ALTER PLUGGABLE DATABASE pdb_orcl OPEN;
使用 DBCA 克隆远程 PDB
创建具有远程 CDB 权限的普通用户:
CREATE USER remote_user IDENTIFIED BY password; GRANT CONNECT, CREATE PLUGGABLE DATABASE TO remote_user;
使用 DBCA 克隆远程 PDB1 到本地 CDB2 的 PDB2:
dbca -silent -createPluggableDatabase -createFromRemotePDB -remotePDBName PDB1 -remoteDBConnString CDB1 -sysDBAUserName sys -sysDBAPassword password -remoteDBSYSDBAUserName SYS -remoteDBSYSDBAPassword password -dbLinkUsername c##remote_user -dbLinkUserPassword password -sourceDB CDB2 -pdbName PDB2
插入已断开的常规 PDB 到 CDB
从 CDB1 中断开 PDB1:
ALTER PLUGGABLE DATABASE pdb1 UNPLUG INTO 'xmlfile1'; DROP PLUGGABLE DATABASE pdb1 KEEP DATAFILES;
将 PDB1 插入到 CDB2:
CREATE PLUGGABLE DATABASE pdb1 USING 'xmlfile1' NOCOPY; ALTER PLUGGABLE DATABASE pdb1 OPEN;
使用归档文件插入 PDB
断开 PDB 到单个归档文件:
ALTER PLUGGABLE DATABASE pdb1 UNPLUG INTO '/tmp/pdb1.pdb';
插入 PDB 到新 CDB:
CREATE PLUGGABLE DATABASE pdb_new USING '/tmp/pdb1.pdb';
热模式克隆远程 PDB
连接到目标 CDB2 并创建数据库链接到 CDB1:
CREATE DATABASE LINK link_cdb1 CONNECT TO system IDENTIFIED BY *** USING 'cdb1';
切换共享 UNDO 模式到本地 UNDO 模式:
ALTER SYSTEM SET UNDO_MANAGEMENT='LOCAL' SCOPE=BOTH;
克隆远程 PDB1 到 PDB3:
CREATE PLUGGABLE DATABASE pdb3 FROM pdb1@link_cdb1;
以读/写模式打开 PDB3:
ALTER PLUGGABLE DATABASE pdb3 OPEN;
非常感谢您读到这里!如果您觉得这篇文章对您有帮助,可以关注一下博主。关注后,您将第一时间获得最新的AI、云计算、运维(Linux、数据库,容器等)技术,以及更多实用的技能干货。
提供丰富的学习资源和实践经验,让你快速掌握AI技能;提供最新的行业动态和应用案例,帮助你在AI领域脱颖而出。
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。