生产环境有套Oracle 11.2.0.3的数据库在通过rman 方式搭建DG,然后进行升级数据字典,最后升级到19C。尝试在另一台CDB 19C数据库上通过DBLINK克隆该升级后的19C数据库,在目标端创建了dblink,但使用该dblink查询时却无法连接源端数据库。
虽然使用sqlplus sys/oracle@service_name as as sysdba也能从目标端连接源端数据库。
二、问题分析
尝试在源端修改sys密码,报如下错误:
SQL> alter user sys identified by oracle;
alter user sys identified by oracle
*
ERROR at line 1:
ORA-28017: The password file is in the legacy format.
查询网上资料,是因为旧的文件格式,从11G升级到12C以及以上版本会经常看到这种报错。
重新生成新的密码文件:
[oracle@local-powerflex-test-db2 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwmlandg entries=5 force=yEnter password for SYS:OPW-00029: Password complexity failed for SYS user : Password must contain at least 8 characters.[oracle@local-powerflex-test-db2 dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwmlandg entries=5 force=yEnter password for SYS:
然后在sqlplus 里再重新修改密码: alter user sys identified by xxx;
另外还需注意的是:需要在non-cdb源端需要为创建dblink的用户赋予create pluggable database权限,否则会无法创建PDB
另外通过测试:同网段两台服务器之间通过dblink方式克隆远程non-cdb,1T的数据拷贝时间是十几分钟

原文作者:尚雷的驿站;如有侵权,请联系管理员删除。