10M
在Oracle 19c中,如果不小心创建了一个非容器数据库(Non-CDB),也就是一个传统的单一实例数据库,是没有直接的命令或者选项可以改变它成为一个容器数据库(CDB)。Oracle官方推荐的方式是使用数据泵导出/导入(Data Pump Export/Import)工具,或者迁移工具如RMAN(Recovery Manager)进行迁移。
以下是将非容器数据库迁移到容器数据库的大致步骤:
创建容器数据库 - 你需要首先创建一个新的容器数据库,这将作为目标数据库。
准备数据泵目录 - 在非容器数据库和容器数据库上创建数据泵目录,并给相应的用户赋予权限。
导出非容器数据库 - 使用数据泵导出工具(datapump expdp)导出非容器数据库的全数据库或所需的模式/表等。
导入到容器数据库 - 使用数据泵导入工具(datapump impdp)将导出的文件导入到容器数据库的一个新建的可插拔数据库(PDB)中。
完成迁移 - 检查可插拔数据库的数据,确保迁移过程中所有必要的数据和对象都正确无误。
这个过程需要谨慎进行,涉及到导出和导入数据库的关键步骤,并且在整个过程中,都需确保所有的数据备份是最新的并且可用。此外,这个迁移过程可能需要相应的停机时间,因此在执行之前需要规划适当的维护窗口。
建议在进行这类操作前详细阅读Oracle的官方文档,并在测试环境中充分实践以确保熟练掌握操作过程,并减小操作风险。如果需要更具体的步骤和命令,请查阅Oracle的官方迁移指导或求助于有经验的数据库管理员。
评论
有用 1在Oracle 19c中,你不能直接将非容器数据库(Non-CDB)转换为容器数据库(CDB)。但是,你可以通过以下步骤来实现这一目标:
1. 创建一个新的容器数据库。
2. 使用Data Pump或者RMAN将非容器数据库迁移到新的容器数据库中。
以下是详细步骤:
1. 创建一个新的容器数据库:
这可以通过DBCA(数据库配置助手)或者手动创建实现。在DBCA中,你需要选择"创建一个新的容器数据库"选项。
2. 使用Data Pump或者RMAN迁移数据:
- 使用Data Pump:你可以使用Data Pump的expdp和impdp命令来导出和导入数据。首先,你需要在源数据库(非CDB)上运行expdp命令来导出数据,然后在目标数据库(CDB)上运行impdp命令来导入数据。
- 使用RMAN:你可以使用RMAN的DUPLICATE命令来复制数据。首先,你需要在源数据库(非CDB)上运行RMAN备份命令来备份数据,然后在目标数据库(CDB)上运行RMAN的DUPLICATE命令来复制数据。
注意:在迁移数据之前,你需要确保源数据库和目标数据库的字符集是一致的。如果字符集不一致,你需要先转换字符集。
此外,你还需要确保源数据库和目标数据库的Oracle版本是一致的。如果版本不一致,你需要先升级或者降级数据库版本。
最后,你还需要确保源数据库和目标数据库的补丁级别是一致的。如果补丁级别不一致,你需要先应用相应的补丁。
评论
有用 0删除重建,或者考虑迁移至PDB,可以用逻辑方式,或者参考官方文档进行复制迁移。
https://docs.oracle.com/en/database/oracle/oracle-database/18/spucs/create-pdb-using-a-non-cdb.html
评论
有用 0在Oracle 19c数据库中,将非容器数据库(Non-CDB)转换为容器数据库(CDB)并不是一项直接的操作,但可以通过迁移数据的方式来实现。以下是将非容器数据库转换为容器数据库的一般步骤:
创建新的容器数据库(CDB): 首先,您需要创建一个新的容器数据库,可以选择在同一服务器上或不同的服务器上创建。使用
CREATE DATABASE语句创建新的CDB。创建PDB: 在新的CDB中创建一个或多个Pluggable Database(PDB)。您可以使用
CREATE PLUGGABLE DATABASE语句创建PDB,并通过从原始数据库中导入数据来填充PDB。导入数据: 使用Oracle提供的数据迁移工具(如Data Pump导出/导入或者Transportable Tablespaces)将原始数据库中的数据导入到新创建的PDB中。这可能需要一些时间,具体取决于数据的大小和复杂性。
重建应用程序和配置: 确保重新配置应用程序以连接到新的容器数据库,并进行必要的测试以确保应用程序正常运行。
验证和测试: 在迁移过程完成后,进行充分的验证和测试,确保数据完整性和应用程序功能没有受到影响。
需要注意的是,将非容器数据库转换为容器数据库是一项复杂的操作,需要谨慎计划和执行,以避免数据丢失或应用程序中断。在执行此操作之前,请务必备份所有关键数据,并在测试环境中进行充分的测试和验证。最好在生产环境之外的环境中执行这样的操作,以降低风险。
评论
有用 01、创建一个新的CDB;
2、在新创建的CDB创建一个到non-cdb的dblink;
3、在新创建的CDB中执行CREATE PLUGGABLE DATABASE pdb_name FROM NON$CDB@dblink;
4、ALTER SESSION SET CONTAINER=new_pdb_name;
5、执行$ORACLE_HOME/dbms/admin/noncdb_to_pdb
6、执行转换脚本后,openpdb。
注:第三步之前,non-cdb数据库要处于只读模式,第三步完成后,新创建的PDB不要OPEN,执行完第五步后进行open。
评论
有用 0
墨值悬赏

