重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 361|回复: 0

[升级] oracle11.2.0.1升级11.2.0.4(DG)

[复制链接]
发表于 2021-1-17 14:36:21 | 显示全部楼层 |阅读模式
Oracle DataGuard 升级 [11.2.0.1 -> 11.2.4]
**Primary:**11.2.0.1 单机,orcl。
Standby: 11.2.0.1 单机,orcldg
当前DG环境示意图:
DG环境
需求:升级至11.2.4
升级思路:
主库暂停归档传输;备库安装新版本软件,备库启动到mount;主库安装软件,主库升级数据库,主库启用归档传输,备库开启日志恢复。
注意:
11g新版本软件安装到一个新目录下,注意copy之前的spfile、密码文件、network file等(监听配置文件的静态监听部分需要修改);
备库只升级软件版本。数据库升级是通过主库升级后通过应用主库归档完成升级和同步的。
操作步骤:
1.主库暂停归档向备库传输
2.备库在新目录下安装新版本软件
3.备库启动到mount状态
4.主库安装软件,升级数据库
5.主库启用归档向备库传输
6.备库开启日志恢复
7.检查备库、主库升级情况
8.定时任务检查修正
1.主库暂停归档向备库传输
show parameterlog_archive_dest_state_X
alter system setlog_archive_dest_state_X=defer scope=both sid='*';
这里是暂停Orcl的主库的log_archive_dest_state_2,如果是多个备库,也需要暂时其他的通道。
show parameterlog_archive_dest_state_2
alter system set log_archive_dest_state_2=deferscope=both sid='*';
2.备库在新目录下安装新版本软件
**2.1 关闭数据库,监听。**
shutdown immediate
lsnrctl stop
2.2 备库在新目录下安装Oracle 11.2.4 软件。
--Orcldg
--创建新的$ORACLE_HOME目录
$ mkdir -p/u01/app/oracle/product/11.2.4/db_1
--编辑oracle用户环境变量,修改ORACLE_HOME变量值为新的目录
vi ~/.bash_profile
exportORACLE_HOME=$ORACLE_BASE/product/11.2.4/db_1
3.备库启动到mount状态
环境变量修改为新目录ORACLE_HOME 11.2.4 新目录注意copy之前的spfile和network file(tnsnames.ora listener.ora)等
--network file(tnsnames.ora listener.ora sqlnet.ora)
[oracle@oracle2admin]$ cp /u01/app/oracle/product/11.2.0/network/admin/*.ora/u01/app/oracle/product/11.2.4/db_1/network/admin/
--SPFILE
cp/u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora/u01/app/oracle/product/11.2.4/db_1/dbs/
启动数据库到mount状态,启动监听。
4.主库安装软件,升级数据库
安装、升级相关过程:
4.1 备份数据库
升级是一个很大的动作,升级前需要事先备份数据库。
--rman.sql
morerman.sql
run{
  allocate channel d1 TYPE disk;
  allocate channel d2 TYPE disk;
  allocate channel d3 TYPE disk;
  allocate channel d4 TYPE disk;
  backup as compressed backupset databaseformat '/home/oradata/rman/data_%d_%T_%s.bak' plus archivelog format'/home/oradata/rman/arch_%d_%T_%s.bak';
  release channel d1;
  release channel d2;
  release channel d3;
  release channel d4;
}
--rman.sh
catrman.sh
#!/bin/bash
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/11.2.0
exportORACLE_SID=orcl
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib
exportPATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
rmantarget / @/home/oradata/rman/rman.sql log=/home/oradata/rman/rman.log
--nohup执行 备份数据库
nohupsh rman.sh &
4.2 关闭数据库,监听
停止监听,关闭数据库:
$ lsnrctl stop
SQL> shutdownimmediate
4.3 新目录下安装新版本软件
主库:
./runInstaller 图形安装新版本软件(upgrade)。
root需要执行的脚本按提示执行。
注意,监听程序不需要配置。
4.4 旧版本软件执行升级检查
在11.2.0.1的sqlplus 执行11.2.4的utlu112i.sql,进行升级检查。
$ sqlplus / assysdba
SQL> startup
SQL> SPOOLupgrade_info.log
SQL>@/u01/app/oracle/product/11.2.4/db_1/rdbms/admin/utlu112i.sql
SQL> SPOOL OFF
根据提示修正不符合升级条件的地方。
--purgeDBA_RECYCLEBIN;
select count(*) fromDBA_RECYCLEBIN;
purgeDBA_RECYCLEBIN;
--EXECUTEdbms_stats.gather_dictionary_stats;
EXECUTEdbms_stats.gather_dictionary_stats;
4.5 升级前确认无效对象数量
select count(*) fromdba_objects where status<>'VALID';
这里是0。
--正常关闭数据库:
shutdown immediate
4.6 新版本软件对应的环境变量
修改环境变量中指定11.2.4,并用source或者重新使用oracle用户登录生效
exportORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.4/db_1
4.7 新版本软件环境,spfile,密码文件和网络配置相关文件
copy 参数文件spfile,network file「tnsnames.ora listener.ora sqlnet.ora」,密码文件,
--拷贝参数文件spfile:
[oracle@orcl ~]$ cp/u01/app/oracle/product/11.2.0/dbhome_1/dbs/spfileorcl.ora/u01/app/oracle/product/11.2.4/db_1/dbs/
--拷贝密码文件:
[oracle@orcl ~]$ cp/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapworcl /u01/app/oracle/product/11.2.4/db_1/dbs/orapworcl
--拷贝网络配置相关文件「tnsnames.ora listener.orasqlnet.ora」
[oracle@orcl ~]$ cp/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/*.ora /u01/app/oracle/product/11.2.4/db_1/network/admin/
--修正DG listener.ora 中静态监听内容(ORACLE_HOME),然后重启监听文件
SID_LIST_LISTENER=
(SID_DESC=(GLOBAL_DBNAME= orcl)(ORACLE_HOME = /u01/app/oracle/product/11.2.4/db_1)(SID_NAME = orcl)
)
4.8 升级数据库
--使用新目录中的DBUA升级
[oracle@orcldatabase]$ /u01/app/oracle/product/11.2.4/db_1/bin/dbua
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image014.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image018.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image020.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image022.jpg
file:///C:/Users/LENOVO/AppData/Local/Temp/msohtmlclip1/01/clip_image024.jpg
也可使用手动升级的方式升级数据库
--upgrade模式打开数据库
SQL> startupUPGRADE
SQL>@?/rdbms/admin/catupgrd.sql
SQL> startup
SQL>@?/rdbms/admin/utlu112s.sql
SQL> selectcount(*) from dba_objects where status<>'VALID';
SQL>@?/rdbms/admin/utlrp.sql
SQL> shutdownimmediate
SQL> startup
检查主库升级情况:
  
SQL>  select ACTION_TIME,ACTION,NAMESPACE,VERSION,ID from registry$history;
  
  
ACTION_TIME
  
---------------------------------------------------------------------------
  
ACTION                         NAMESPACE
  
------------------------------  ------------------------------
  
VERSION                                ID
  
------------------------------  ----------
  
30-DEC-20  02.14.08.219110 PM
  
VIEW  INVALIDATE
  
                                  8289601
  
  
30-DEC-20  02.14.08.285613 PM
  
UPGRADE                        SERVER
  
11.2.0.4.0
  
  
ACTION_TIME
  
---------------------------------------------------------------------------
  
ACTION                         NAMESPACE
  
------------------------------  ------------------------------
  
VERSION                                ID
  
------------------------------  ----------
  
  
30-DEC-20  02.14.32.964367 PM
  
APPLY                          SERVER
  
11.2.0.4                                0
  
5.主库启用归档向备库传输
show parameterlog_archive_dest_state_X
alter system setlog_archive_dest_state_X=enable scope=both sid='*';
altersystem set log_archive_dest_state_2=enable scope=both sid='*';
show parameterlog_archive_dest_state_2
show parameterlog_archive_dest_state_3
6.备库开启日志恢复
备库mount状态下开启日志恢复,等待恢复完成,终止日志恢复然后将数据库在open状态后再开启日志恢复。
--mount状态下开启日志恢复
startup mount
alter databaserecover managed standby database disconnect from session;
--等待恢复完成...
--取消日志恢复
alter databaserecover managed standby database cancel;
--打开数据库
alter database open;
--open状态下开启日志恢复
alter databaserecover managed standby database using current logfile disconnect from session;
7.检查备库升级情况
select ACTION_TIME,ACTION,NAMESPACE,VERSION,IDfrom registry$history;
  
SQL>  select ACTION_TIME,ACTION,NAMESPACE,VERSION,ID from registry$history;
  
  
ACTION_TIME
  
---------------------------------------------------------------------------
  
ACTION                         NAMESPACE
  
------------------------------  ------------------------------
  
VERSION                                ID
  
------------------------------  ----------
  
30-DEC-20  02.14.08.219110 PM
  
VIEW  INVALIDATE
  
                                  8289601
  
  
30-DEC-20  02.14.08.285613 PM
  
UPGRADE                        SERVER
  
11.2.0.4.0
  
  
ACTION_TIME
  
---------------------------------------------------------------------------
  
ACTION                         NAMESPACE
  
------------------------------  ------------------------------
  
VERSION                                ID
  
------------------------------  ----------
  
  
30-DEC-20  02.14.32.964367 PM
  
APPLY                          SERVER
  
11.2.0.4                                0
  
至此,OracleDataGuard 从版本11.2.0.1成功升级到版本11.2.4。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2022-1-20 22:24 , Processed in 0.084123 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表