在网上查到有人是先将备库切换为主库后升级数据库软件,再升级数据库,完成新主库的升级后,再将原来的主库的软件进行升级,并将数据库的升级留待下次执行切换后原来的主库恢复为DATAGUARD的主库后再执行数据库的升级,我在测试时发现完全没有必要执行切换,即可完成升级过程。
LINUX AS5
oracle10.2.0.1
要想执行库的升级,可能直接在主库上将数据库软件升级到10.2.0.4,然后再执行catupgrd.sql进行数据库的升级,数据库升级过程中产生的归档日志会不停的发送到物理备库,并进行恢复,虽然此时备库的版本仍然是10.2.0.1,但不影响归档日志的恢复。当主库完成了全部升级以后,物理备库实际上也完成了数据库的升级,但物理备库还差数据库软件的升级,所以在完成主库的全部升级以后,还需要对备库的数据库软件进行升级,这样便可实现物理DATAGUARD的主备库升级,在下次主备库切换时不需要在备库上执行那个执行时间很的catupgrd.sql脚本,完全可以直接打开数据库。
在主备库升级完成以后要记得修改compatible参数,因为在配置了DATAGUARD的主备库中进行升级的时候,并没有执行该参数的升级,仍然使用升级前的参数值。
逻辑备库升级
主库A 10201 备库B 10201
先升级逻辑备库B的数据库软件由10201升级到10204,然后执行CATUPGRD.SQL升级数据库,执行完成后COMPATIBLE参数保持升级前的10201。备库升级完成后,打开日志同步功能。
升级主库A,按常规方法升级即可,在升级过程中执行CATUPGRD.SQL产生的日志自动传送到备库侧并应用,并没有对备库B产生破坏,没有对备库产生任何影响。
主备库升级完成后,找个时间同时停机修改主备库的COMPATIBLE参数到相应版本。
物理主备库版本不一致情况
主库A oracle 10g 10201 备库B oracle 10g 10201
搭建DATAGUARD后将主库升级到10204后,进行主备库的切换,发现可以进行切换,但新的主库B只能用UPGRADE方式打开。将新主库B的数据库软件从10201升级到10204后才能以通常的模式打开数据库。
?
逻辑主备库版本不一致
?主库A oracle 10g 10201 备库B oracle 10g 10201
?创建了物理备库,将主库A的版本升级到10204后,再转换为逻辑备库,?逻辑备库不能正常模式打开,只能以UPGRADE方式打开。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/280958/viewspace-1153608/,如需转载,请注明出处,否则将追究法律责任。