-
1. win上的主库先停1次,做冷备
-
rman target /
-
backup database format 'D:\BAK\full_%U';
-
backup current controlfile format 'd:\bak\control_%U';
-
-
传输pfile和备份集到linux
-
-
2. 在linux上启动并恢复
-
startup nomount pfile=i.ora
-
rman target /
-
restore standby controlfile from '/bak/ccontrol_AABB';
-
sql 'alter database mount';
-
crosscheck backup;
-
delete expired backup;
-
catalog backuppiece '/bak/';
-
run {
-
set newname for database to '/oradata/ORCL/datafile_%U';
-
restore database;
-
}
-
switch database to copy;
-
alter database recover managed standby database disconnect from session;
-
-
3. 参考Doc ID 1984091.1配置主备库
-
-
-
4. 确定linux上的数据同步后
-
alter database activate standby database;
-
关闭win上的库
-
-
5. 升级linux上的版本(这边是19c)
-
shutdown immediate
-
startup upgrade
-
@?/rdbms/admin/utlu112i.sql有待完善 -
@?/rdbms/admin/catupgrd.sql
-
STARTUP
-
@?/rdbms/admin/utlu112s.sql
-
@?/rdbms/admin/catuppst.sql
-
execute dbms_stats.gather_fixed_objects_stats;
-
@?/rdbms/admin/utlrp.sql
-
SELECT distinct object_name FROM dba_invalid_objects;
-
-
6. 添加服务重启检查
-
srvctl add database -d <db_unique_name> -o <oracle_home> -n <db_name> -p <spfile> -s <start_options> -t <stop_options>
-
-r PRIMARY -y automatic -a <disk_group_list>
-
shutdown immediate
-
startup
-
-
-
How To Migrate 11g Database Running on Windows to Linux and upgrade to 19c Using Data Guard With Minimum Downtime (Doc ID 2950115.1)
- Migrating Database To Another Host With Higher Oracle Home Version Using Data Guard (Doc ID 2508481.1)