源库 | 目标库 | |
---|---|---|
版本 | 18.3 | 19.3 |
CDB的名称 | orcl | orcl |
要克隆pdb的名称 | fixfpdb | du_fixfpdb |
ip地址 | 192.168.5.124 | 192.168.5.129 |
存储方式 | FS | FS |
1.源库创建测试pdb
create pluggable database fixf_pdb from pdb ;
2.目标库创建到源库pdb 的dblink
create public database link test18cpdb
connect to system identified by "Oracle123"
using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.124)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = fixf_pdb)))';
3.源库给system 账户授权
grant create pluggable database to system container=all;
4.目标库创建远程源库的pdb
create pluggable database du_fixfpdb from fixf_pdb@test18cpdb ;
5.打开目标库已经复制的pdb数据库
注意:pdb 已经打开但有错误
SQL> alter pluggable database du_fixfpdb open;
Warning: PDB altered with errors.
6.查询不同版本pdb 复制导致的错误
SELECT to_char(time, 'YYYY-MM-DD HH24:MI:SS') time,
NAME,
CAUSE,
TYPE,
LINE,
MESSAGE,
STATUS,
ACTION,
CON_ID
FROM PDB_PLUG_IN_VIOLATIONS
where status='PENDING'
order by time desc;
7.执行脚本处理
1、如果是相同版本迁移,则不需要执行此命令。
#2、可以加上-n表示并行数
$ORACLE_HOME/bin/dbupgrade -c du_fixfpdb -n 4
# $ORACLE_HOME/bin/dbupgrade -c 'PDB1 PDB2' #同时升级2个PDB
执行完成后重新打开pdb 则无报错