oracle12c在线热迁移到Oracle19c PDB 测试(2)

目的

测试通过热迁移的方式将12c database 升级到19c pdb
测试参考,生产慎用

环境如下

源库目标库
12.2.0.1.019.15.0.0.0
ORCLPRODCDB/PDBPROD7
NONCDBCDB

在目标库创建dblink

create database link db12c_orcl connect to system identified by oracle using 'orcl';

进行迁移每隔5分钟刷新一次pdb

CREATE pluggable database pdbprod7 from non$cdb@db12c_orcl file_name_convert=('orcl','PRODCDB/PDBPROD7') refresh mode every 5 minutes;

在源库进行数据插入测试

system 用户
create table zhang(a int);
insert into zhang values('2');
commit;
普通用户
conn zhang/zhang 
insert into aa values(3);
commit;
迁移结束后在源库继续插入数据,测试刷新是否正常
insert into aa values(6);
commit;

创建完成后PDBPROD7是mount状态

SYS@PRODCDB>show pdbs

    CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDBPROD1			  READ WRITE NO
	 4 PDBPROD2			  READ WRITE NO
	 5 PDBPROD3			  READ WRITE NO
	 6 PDBPROD4			  READ WRITE NO
	 7 PDBPROD6			  READ WRITE NO
	 8 PDBPROD5			  READ WRITE NO
	 9 PDBPROD7			  MOUNTED

	 		 

源库alert日志中会出现

2024-05-26T10:48:52.490107+08:00
PDBPROD7(10):Media Recovery Complete (PRODCDB)
PDBPROD7(10):Completed: alter pluggable database refresh

无法打开数据库

SYS@PRODCDB>alter session set container=PDBPROD7;
Session altered.
SYS@PRODCDB>startup            
ORA-65341: cannot open pluggable database in read/write mode
跑升级脚本发现失败

等待5分钟关闭持续刷新模式

SYS@PRODCDB> ALTER PLUGGABLE DATABASE PDBPROD7 REFRESH MODE NONE;

Pluggable database altered.

执行升级脚本

<host01:PRODCDB:/home/oracle>$which dbupgrade 
/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbupgrade
<host01:PRODCDB:/u01/app/oracle/product/19.3.0/dbhome_1/bin> dbupgrade -c PDBPROD7

连入pdb执行脚本

SYS@PRODCDB>show pdbs
CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDBPROD1			  READ WRITE NO
	 4 PDBPROD2			  READ WRITE NO
	 5 PDBPROD3			  READ WRITE NO
	 6 PDBPROD4			  READ WRITE NO
	 7 PDBPROD6			  MOUNTED
	 8 PDBPROD5			  READ WRITE NO
	10 PDBPROD7			  MIGRATE    YES
SYS@PRODCDB>alter session set container=PDBPROD7;
Session altered.
执行如下两脚本
 @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
 @$ORACLE_HOME/rdbms/admin/utlrp.sql
 执行后重启pdb
     CON_ID CON_NAME			  OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
	 2 PDB$SEED			  READ ONLY  NO
	 3 PDBPROD1			  READ WRITE NO
	 4 PDBPROD2			  READ WRITE NO
	 5 PDBPROD3			  READ WRITE NO
	 6 PDBPROD4			  READ WRITE NO
	 7 PDBPROD6			  MOUNTED
	 8 PDBPROD5			  READ WRITE NO
	10 PDBPROD7			  READ WRITE NO

连入pdb后查询相关组件

select comp_name,version,status from sys.dba_registry;
COMP_NAME																	            VERSION							    STATUS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------ ----------------------------------------------------------------------------------------
Oracle Database Catalog Views															            19.0.0.0.0						    VALID
Oracle Database Packages and Types														            19.0.0.0.0						    VALID
JServer JAVA Virtual Machine															            19.0.0.0.0						    VALID
Oracle XDK																	            19.0.0.0.0						    VALID
Oracle Database Java Packages															            19.0.0.0.0						    VALID
OLAP Analytic Workspace 															            19.0.0.0.0						    VALID
Oracle Real Application Clusters														            19.0.0.0.0						    OPTION OFF
Oracle XML Database																            19.0.0.0.0						    VALID
Oracle Workspace Manager															            19.0.0.0.0						    VALID
Oracle Text																	            19.0.0.0.0						    VALID
Oracle Multimedia																            19.0.0.0.0						    VALID

COMP_NAME																	            VERSION							    STATUS
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------ ----------------------------------------------------------------------------------------
Spatial 																	            19.0.0.0.0						    VALID
Oracle OLAP API 																            19.0.0.0.0						    VALID
Oracle Label Security																            19.0.0.0.0						    VALID
Oracle Database Vault																            19.0.0.0.0						    VALID

15 rows selected.

查询在迁移时候进行数据插入的数据



ZHANG@PDBPROD7>select * from aa;

	 A
----------
	 6

注意

关闭PDB Refresh功能后,就不能再转换为Refresh PDB。
查询如下视图修改相关问题参数
select * from PDB_PLUG_IN_VIOLATIONS;

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宇灬宇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值