Oracle 11.2.0.1 升级到 11.2.0.4 补丁方案
数据库升级方案11.2.0.1-11.2.0.4数据库升级方案11.2.0.1-11.2.0.4
修改历史
日期 | 版本号 | 作者 | 修改说明 | 更改请求号 |
注释:“变更请求号”为文档正式发布后需要变更时的编号。
审阅
姓名 | 日期 | 备注 |
分发
公司 | 姓名 | 日期 | 备注 |
风险
※补丁升级时需要启停Oracle集群或Oracle数据库;
※新版本可能会引入新的BUG,届时需要升级PSU.
生产环境说明
生产环境信息
编号 | 信息项 | 描述 |
1 | 操作系统 | AIX 7.1 |
2 | Oracle数据库信息 | |
3 | 待升级版本信息 |
PSU补丁升级前准备工作
备份全库
可以使用如下rman备份脚本进行备份全库
rman target / <<EOF run { CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE COMPRESSION ALGORITHM 'HIGH'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/data/11g/oracle/ora_bak/$full_day/PID-%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 2; crosscheck backup; delete noprompt obsolete; delete noprompt expired backup; allocate channel dev1 type disk format '/data/11g/oracle/ora_bak/$full_day/%n_%T_%U' maxpiecesize=30720M; allocate channel dev2 type disk format '/data/11g/oracle/ora_bak/$full_day/%n_%T_%U' maxpiecesize=30720M; allocate channel dev3 type disk format '/data/11g/oracle/ora_bak/$full_day/%n_%T_%U' maxpiecesize=30720M; allocate channel dev4 type disk format '/data/11g/oracle/ora_bak/$full_day/%n_%T_%U' maxpiecesize=30720M; backup as compressed backupset incremental level 0 tag='db0' format '/data/11g/oracle/ora_bak/$full_day/%n_%T_%U' database; release channel dev1; release channel dev2; release channel dev3; release channel dev4; } EOF ps:需要修改备份路径 |
清理日志,减少目录大小
如下为清理脚本,相关目录根据实际情况修订
cat /shell/rm_aud.sh GI_AUD_DIR=/u01/app/11.2.0/grid/rdbms/audit LSNR_DIR=/u01/app/grid/diag/tnslsnr/qashxdb1/listener/alert HXDB_AUD_DIR=/u01/app/oracle/admin/hxdb/adump HXDB_TRACE_DIR=/u01/app/oracle/diag/rdbms/hxdb/hxdb1/trace MDATE=`date` echo "*****Begin time: $MDATE******" echo echo "Begin to clean up the *.aud" find $GI_AUD_DIR -name "*.aud" -exec rm {} \; find $LSNR_DIR -name "log_*.xml" -exec rm -rf {} \; find $HXDB_AUD_DIR -name "*.aud" -exec rm {} \; find $HXDB_TRACE_DIR -name "*.tr*" -ctime +7 -exec rm -rf {} \; echo "End to clean up the .aud" echo echo echo echo echo "*****End time: $MDATE******" echo |
相关信息备份
备份grid/oracle目录及文件权限
使用permission.pl脚本进行备份: 备份GRID_HOME chmod 777 /install//permission.pl su - grid ./permission.pl /u01/app/11.2.0/grid 备份ORACLE_HOME备份权限: su - oracle ./permission.pl /u01/app/oracle/product/11.2.0/dbhome_1 备注: 脚本会生成两个文件: a. permission-<time stamp> --它包含八进制值的文件许可权,捕获文件的所有者和组信息 b. restore-perm-<time stamp>.cmd - 该命令包含更改捕获文件的权限,所有者和组的命令 恢复权限的话步骤如下: chmod 755 restore-perm-<timestamp>.cmd $ ./restore-perm-<timestamp>.cmd |
备份OCR磁盘组
su – root cd /u01/app/11.2.0/grid/bin ./ocrconfig -local -export /tmp/bak/ocr.bak ./ocrconfig -manualbackup |
备份spfile
create pfile='/tmp/bak/init.ora.bak' from spfile; create pfile='/tmp/bak/initASM.ora.bak' from spfile; |
备份GI和DB目录(所有节点均要备份):
tar -cvf /u01/grid_0408.tar.bak /u01/app/11.2.0/grid/ gzip /u01/grid_0408.tar.bak tar -cvf /u01/oracle_0408.tar.bak -oh /u01/app/oracle/product/11.2.0/dbhome_1 gzip /u01/oracle_0408.tar.bak |
上传软件包到/install并解压
mkdir -p /install/ chmod -R 777 /install/ cd /install/ lcd E:\oracle11.2.0.4\1202aix put *.zip unzip p6880880_122010_AIX64-5L.zip unzip p30501932_122010_AIX64-5L.zip chmod -R 777 /install/ |
检查GRID_HOME/ORCLE_HOME磁盘空间
su - grid % cat /install//patch_list_gihome.txt /install/30501932/30593149 /install/30501932/30585969 /install/30501932/30586063 /install/30501932/26839277 /install/30501932/30591794 $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt su - oracle % cat /tmp/patch_list_dbhome.txt /install/30501932/30593149 /install/30501932/30585969 $ORACLE_HOME/OPatch/opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt |
升级过程






















PSU补丁升级后检查
数据库对象有效性检查
set line 100 COLUMN owner FORMAT a60 COLUMN object_type FORMAT a25 COLUMN obj_count FORMAT 999,999,999,999 SELECT owner , object_type , count(*) obj_count FROM dba_objects where status='INVALID' GROUP BY owner , object_type ORDER BY owner , object_type; |
检查集群状态
crsctl status res -t |
检查数据库和集群日志
find /u01/app -name alert*.log find /u01/app -name alert_*.log tail -100f /u01/app/oracle/diag/rdbms/hxdb/hxdb1/trace/alert*.log tail -100f /u01/app/grid/diag/crs/qashxdb1/crs/trace/alert*.log |
业务验证
※登陆业务系统,在使用业务功能的操作中,发现补丁升级对现有业务功能是否会有影响,如有影响及时反馈。
注意:
如果是多节点的RAC,请在每个节点上重复执行以上步骤;
DataGuard备库升级方案
检查DataGuard同步状态
查看数据角色: set linesize 300 select database_role,protection_mode,open_mode,switchover_status from v$database; 备库检查传输日志序列号: set linesize 300 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; select process,client_process,thread#,status,sequence#,block#,blocks,delay_mins from v$managed_standby order by 3,1; 备库检测延时: set linesize 400 set pagesize 999 col value for a15 select name,value from v$dataguard_stats ; |
关闭主备库同步
以下操作需要在主备同步延迟为0的情况进行操作 : 1.查看数据角色: set linesize 300 select database_role,protection_mode,open_mode,switchover_status from v$database; 2.关闭adg备库日志应用(备库操作) su – oracle sqlplus / as sysdba alter database recover managed standby database cancel; 3.关闭主库往备库传输归档日志的网络链路(主库操作) su – oracle sqlplus / as sysdba show parameter log_archive 以下以为log_archive_dest_state_2传输到备库的网络链路为例: alter system set log_archive_dest_state_2=defer ; |
备库升级前检查
同步操作文档中4.2---4.8章节 |
应急回退方案
回退ORACLE_HOME和GRID_HOME
回退目录 #$GRID_HOME cd /u01/app/11.2.0/ mv grid grid_0408bak gzip -d /u01/grid_0408.tar.bak tar -xvf /u01/grid_0408.tar.bak -C /u01/app/11.2.0 cd /u01/app/oracle/product/11.2.0/ mv dbhome_1 dbhome_1_0408bak gzip -d /u01/oracle_0408.tar.bak tar -xvf /u01/oracle_0408.tar.bak -C /u01/app/oracle/product/11.2.0/ |
附件:
https://docs.oracle.com/cd/E11882_01/install.112/e48740/toc.htm