原 【DB宝27】在Oracle 19c中创建容器数据库(4)--Duplicating a CDB(从18c开始)
Tags: Oracle原创Dockerrac环境搭建OCPCDB
之前的3篇:
【DB宝24】在Oracle 19c中创建容器数据库(1)--DBCA静默创建CDB
【DB宝25】在Oracle 19c中创建容器数据库(2)--DBCA图形化创建CDB
【DB宝26】在Oracle 19c中创建容器数据库(3)--手动创建CDB
这是Oracle OCP给出的一个duplicating a CDB的一般步骤:
从Oracle 18c开始,我们可以在rman中直接使用duplicate来复制一个cdb,下边给出一个示例:
2.4.1 环境介绍
源库 | 目标库 | |
---|---|---|
IP地址 | 172.17.0.3 | 172.17.0.2 |
主机名 | ocp19c | lhr2019ocp |
存储方式 | FS | FS |
ORACLE_SID、DB_NAME | ORCLCDB | CDB2 |
归档模式 | Yes | Yes |
1、新建一个容器(可以当做一个新主机)
1 2 3 4 5 6 7 8 9 | -- 新建一个容器 docker rm -f ocp19c docker run -itd -h ocp19c --name ocp19c \ -p 222:22 -p 1521:1521 -p 5500:5500 -p 5501:5501 \ --privileged=true \ lhrbest/oracle19clhr_rpm_db /usr/sbin/init -- 进入容器 docker exec -it ocp19c bash |
2、创建CDB2的spfile和密码文件,启动到nomount阶段
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | -- 1、创建密码文件 orapwd file=$ORACLE_HOME/dbs/orapwCDB2 force=y format=12 password=lhr -- 2、创建CDB2的数据文件存储路径 mkdir -p /opt/oracle/oradata/CDB2/ -- 3、创建pfile文件 cat > /home/oracle/a.txt <<"EOF" db_name='CDB2' compatible='19.0.0' control_files='/opt/oracle/oradata/CDB2/control01.ctl','/opt/oracle/oradata/CDB2/control02.ctl' enable_pluggable_database=true sga_target=1024m log_archive_dest_1='location=/opt/oracle/oradata/CDB2/' DB_FILE_NAME_CONVERT=(/opt/oracle/oradata/ORCLCDB/,/opt/oracle/oradata/CDB2/) LOG_FILE_NAME_CONVERT=(/opt/oracle/oradata/ORCLCDB/,/opt/oracle/oradata/CDB2/) EOF -- 4、创建spfile文件并且启动到nomount阶段 export ORACLE_SID=CDB2 sqlplus / as sysdba create spfile from pfile='/home/oracle/a.txt'; startup nomount; |