一、安装19c软件
参考文章oracle12c到19c adg搭建(三)oracle19c数据库软件安装
二、原主库尝试通过19c软件启动数据库
2.1复制12c的相关参数文件和密码文件到19c目录
注意:密码文件需要从已切换主库19c传过来
oracle@o12u19p \~$ cd /u01/app/oracle/product/12.1.0.2/dbhome_1/dbs/
oracle@o12u19p dbs$ ls
hc_orcl.dat init.ora initorcl.ora lkORCL orapworcl snapcf_orcl.f spfileorcl.ora
oracle@o12u19p dbs$ cp * /u01/app/oracle/product/19.3.0.0/dbhome_1/dbs/
oracle@o12u19p dbs$ cd /u01/app/oracle/product/19.3.0.0/dbhome_1/dbs/
oracle@o12u19p dbs$ ls
hc_orcl.dat init.ora initorcl.ora lkORCL orapworcl snapcf_orcl.f spfileorcl.ora
oracle@o12u19p dbs$
2.2主库生成控制文件
SQL> ALTER DATABASE CREATE standby controlfile AS '/backup/orcl.ctl';
Database altered.
oracle@o12u19s backup$ scp orcl.ctl oracle@o12u19p:/backup
2.3恢复控制文件
oracle@o12u19p backup$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 19 10:02:39 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 6174013840 bytes
Fixed Size 9148816 bytes
Variable Size 1056964608 bytes
Database Buffers 5100273664 bytes
Redo Buffers 7626752 bytes
SQL>
RMAN> restore controlfile from'/backup/orcl.ctl';
Starting restore at 19-JUN-24
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=21 device type=DISK
channel ORA_DISK_1: copied control file copy
output file name=/u01/app/oracle/oradata/orcl/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/orcl/control02.ctl
Finished restore at 19-JUN-24
RMAN>
2.4复制12c监听文件到19c目录下并启动监听文件
oracle@o12u19p admin$ cd /u01/app/oracle/product/12.1.0.2/dbhome_1/network/admin/
oracle@o12u19p admin$ scp * /u01/app/oracle/product/19.3.0.0/dbhome_1/network/admin/
cp: omitting directory 'samples'
oracle@o12u19p admin$ ls
listener.ora samples shrept.lst sqlnet.ora tnsnames.ora
oracle@o12u19p admin$ lsnrclt start
bash: lsnrclt: command not found...
oracle@o12u19p admin$ lsnrctl start

2.5备库开库
oracle@o12u19p admin$ sqlplus / as sysdba
SQL*Plus: Release 19.0.0.0.0 - Production on Wed Jun 19 10:29:44 2024
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
SQL> alter database open
2 ;
报错:


由于控制文件的scn和数据文件的scn差异过大导致
2.6尝试从主库拷贝一些日志到备库 备库尝试日志应用
oracle@o12u19s backup$ cd /u01/app/oracle/oradata/
oracle@o12u19s oradata$ ls
orcl orcldg
oracle@o12u19s oradata$ cd orcldg/
oracle@o12u19s orcldg$ ls
arch pdb1 pdbseed sysaux01.dbf system01.dbf temp01.dbf undotbs01.dbf users01.dbf
oracle@o12u19s orcldg$ cd arch/
oracle@o12u19s arch$ ls

备库日志到1-27

主库从1-28开始拷贝
oracle@o12u19s arch$ scp 1_28_1171969607.dbf 1_28_1171991791.dbf 1_29_1171991791.dbf 1_30_1171991791.dbf 1_31_1171991791.dbf oracle@o12u19p:/u01/app/oracle/oradata/orcl/arch

2.7开启日志应用
alter database recover managed standby database using current logfile disconnect from session;

2.8主备库打开pdb
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
SQL> alter pluggable database pdb1 open;
Pluggable database altered.
三、主备库同步检查
主库查看seq
SQL> select sequence#,applied from v$archived_log order by sequence# asc;

备库查看seq

可以看到备库已经开始同步主库的日志从283开始。
至此我们完成了12c到19cadg的搭建及12c滚动升级到19c的过程