ITPub博客

首页 > 数据库 > Oracle > 经历Oracle patch 5496862补丁

经历Oracle patch 5496862补丁

原创 Oracle 作者:xingfei80 时间:2012-06-01 09:57:26 0 删除 编辑
1. 环境
数据库平台硬件架构如下:
生产机:IBMp6 570安装AIX5L ML 5308 。
数据库平台:Oracle Server - Enterprise Edition - Version: 9.2.0.8
生产机:两台IBMp6 570 OS均为 5300-08-01-0189
应用系统:OA
2、故障现象:
系统管理员发现应用系统后台总是报错,错误如下:
ORA-01115:IO error reading block from file 6 (block #2707)
ORA-01110: data file 6 : ‘/oradata/smis1.dbf’
ORA-27091: skgfqio :unable to quere I/O
ORA-27072: skgfdisp : I/O error
IBM AIX RISC System/6000 Error : 5: I/O error
[@more@]
3、解决办法:
这个问题在网上一查也就能知道780,在确定不是硬件故障的前提下,需要打oracle 补丁5496862。问题是在这台机器上没有Opatch,首先需要进行安装。
4、安装Opath

上传文件p2617419_10102_GENERIC.zip(当然,上传之前肯定要下载,自己搜索吧,实在找不到,可以联系我)
解压到oracle目录下:
aix下解压到$ORACLE_HOME/OPatch下

windows下解压到oracle/ora92/OPatch

可以看到在OPatch下有两个opact文件,其中一个是.bat的,在windows下用。另一个是在aix下用的。

解压后如果忙着执行是不会有结果返回的。应该先配置环境变量。下面是操作步骤。解压就不说了。

1). 把$ORACLE_HOME/OPatch,如果$ORACLE_HOME不可用的话就把绝对路径放在前面。

$ cd home/oracle

---根目录下的.profile最好不要修改。尽管它也没有修改的权限。

$ vi .profile
".profile" 32 lines, 890 characters


PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:$ORACLE_HOME/OPatch:/usr/java14/bin:.

export PATH

if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically.
ORACLE_HOME=/oracle/product/9.2.0
export ORACLE_HOME
ORACLE_BASE=/oracle
export ORACLE_BASE
ORACLE_SID=hydk
export ORACLE_SID
#ORACLE_TERM=vt100
#export ORACLE_TERM
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
JAVA_HOME=/usr/java14
export JAVA_HOME
CLASSPATH=/oracle/product/9.2.0/jdbc/lib/classes12.zip:/oracle/product/9.2.0/jdbc/lib/nls_charset12.zip
export CLASSPATH
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
TMPDIR=/tmp
export TMPDIR
LIBPATH=$ORACLE_HOME/lib32:$JAVA_HOME/lib:$ORACLE_HOME/lib
export LIBPATH
#export DBCA_RAW_CONFIG=/oracle/admin/hydk/scripts/hydk_raw.cnf

umask 022
~
~
:q!

说明

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:$ORACLE_HOME/OPatch:/usr/java14/bin:.

可以修改成

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:/oracle/product/9.2.0/OPatch:/usr/java14/bin:.

2). 修改权限

# ls -al
total 128
drwxr-x--- 5 oracle dba 256 Dec 03 14:00 .
drwxr-xr-x 58 oracle dba 4096 Dec 03 14:00 ..
-rw-r----- 1 oracle dba 2446 Dec 03 14:00 README.txt
drwxr-x--- 2 oracle dba 256 Dec 03 14:00 docs
-rw-r----- 1 oracle dba 17965 Dec 03 14:00 emdpatch.pl
drwxr-x--- 2 oracle dba 256 Dec 03 14:00 jlib
-rw-r----- 1 oracle dba 6143 Dec 03 14:00 opatch
-rw-r----- 1 oracle dba 5269 Dec 03 14:00 opatch.bat
-rw-r----- 1 oracle dba 13703 Dec 03 14:00 opatch.pl
drwxr-x--- 2 oracle dba 4096 Dec 03 14:00 perl_modules
# su root
# whoami
root
# su oracle
$ whoami
oracle
$ cd $ORACLE_HOME/OPatch
$
$ opatch lsinventory -all -detail
ksh: opatch: 0403-006 Execute permission denied.
$ chmod 770 opatch
$ ls -al
total 128
drwxr-x--- 5 oracle dba 256 Dec 03 14:00 .
drwxr-xr-x 58 oracle dba 4096 Dec 03 14:00 ..
-rw-r----- 1 oracle dba 2446 Dec 03 14:00 README.txt
drwxr-x--- 2 oracle dba 256 Dec 03 14:00 docs
-rw-r----- 1 oracle dba 17965 Dec 03 14:00 emdpatch.pl
drwxr-x--- 2 oracle dba 256 Dec 03 14:00 jlib
-rwxrwx--- 1 oracle dba 6143 Dec 03 14:00 opatch
-rw-r----- 1 oracle dba 5269 Dec 03 14:00 opatch.bat
-rw-r----- 1 oracle dba 13703 Dec 03 14:00 opatch.pl
drwxr-x--- 2 oracle dba 4096 Dec 03 14:00 perl_modules

3). 执行。

$ cd $ORACLE_HOME/OPatch
$ opatch lsinventory -all -detail

Oracle Interim Patch Installer version 1.0.0.0.53
Copyright (c) 2005 Oracle Corporation. All Rights Reserved..

We recommend you refer to the OPatch documentation under
OPatch/docs for usage reference. We also recommend using
the latest OPatch version. For the latest OPatch version
and other support related issues, please refer to document
293369.1 which is viewable from metalink.oracle.com

Oracle Home = /oracle/product/9.2.0
Location of Oracle Universal Installer components = /oracle/product/9.2.0/oracle.swd.oui
Location of OraInstaller.jar = "/oracle/product/9.2.0/oracle.swd.oui/lib"
Oracle Universal Installer shared library = /oracle/product/9.2.0/oracle.swd.oui/bin/aix/liboraInstaller.so
Location of Oracle Inventory Pointer = /etc/oraInst.loc
Location of Oracle Inventory = /oracle
Path to Java = /oracle/product/9.2.0/jdk/jre/bin/java
Log file = /oracle/product/9.2.0/.patch_storage//*.log

Creating log file "/oracle/product/9.2.0/.patch_storage/LsInventory__12-04-2008_15-23-43.log"

ORACLE HOME LOCATION
----------- --------

OUIHome /oracle/product/9.2.0
There is no Interim Patch


OPatch succeeded.

到此,Opatch安装完成。

5、补丁安装

1)从SAP Service网站下载Oracle Enterprise Edition Version: 9.2.0.8的补丁包5496862。说实在这上文件真的不好找,没有Oracle网站的Metalink帐号,是下载不下来的,发动群众的力量帮你下载吧!!)

2)将补丁包p5496862_92080_AIX64-5L.zip的解压后上传到数据库主机的/oracle/patch目录

3)加载patch

详细步骤如下:
以oracle数据库用户执行下面的命令:
$su - oraprd
$cd /oracle/patch
$cd 5496862
$ORACLE_HOME/Opatch/opatch install
开始安装,接着提示
Please shut down Oracle instances running out of this ORACLE_HOME
(Oracle Home = /oracle/PRD/920_64)
Is this system ready for updating?
Please respond Y|N > ”输入’Y’
此时oracle会开始安装patch,因为要重新链接lib,所以要花几分钟时间,在安装完毕后会出现“OPatch succeeded”提示。

4)测试

5)如测试有问题卸载该patch
$ORACLE_HOME/Opatch/opatch rollback -id 5496862

6、原文件

(好像找不到可以上传的地方...................)

从论坛中发现另一种解决办法:

故障现象

执行SELECT tablespace_name 表空间,sum(blocks*8192/1000000) 剩余空间M FROM dba_free_space GROUP BY tablespace_name;
报如下错误
ORA-01116: error in opening database file 47
ORA-01110: data file 47: '/dev/rpt_itrusca_disk'
ORA-27041: unable to open file
IBM AIX RISC System/6000 Error: 13: Permission denied
Additional information: 3

故障分析
根据Permission denied怀疑是权限问题,如下查询得知果然权限crw-rw----和其他空间不一样
p550a:/dev#ls -lt|grep rpt_
crw-rw---- 1 root system 80,100 8月09 17时39 rpt_itrusca_disk
crwxrwxrwx 1 oracle dba 80,102 6月25 13时08 rpt_gaza_disk
crwxrwxrwx 1 oracle dba 80,101 6月25 13时08 rpt_silkroad
crwxrwxrwx 1 root system 80, 98 6月25 13时08 rpt_website_disk
crwxrwxrwx 1 oracle dba 80,103 6月25 13时08 rpt_zjport1_disk
crwxrwxrwx 1 oracle dba 80,104 6月25 13时08 rpt_zjport2_disk
crwxrwxrwx 1 oracle dba 80,105 6月25 13时08 rpt_zjport3_disk
crwxrwxrwx 1 oracle dba 80,106 6月25 13时08 rpt_zjport4_disk
crwxrwxrwx 1 oracle dba 80,107 6月25 13时08 rpt_zjport5_disk
crwxrwxrwx 1 oracle dba 80,108 6月25 13时08 rpt_zjport6_disk
crwxrwxrwx 1 oracle dba 80,109 6月25 13时08 rpt_zjport7_disk
crwxrwxrwx 1 oracle dba 80,110 6月25 13时08 rpt_zjport8_disk
crw-rw---- 1 oracle dba 80, 99 6月25 13时08 rpt_zjport_index
crwxrwxrwx 1 root system 80, 97 4月30 17时38 rpt_users_disk
解决
chmod 后故障消失
p550a:/dev#chmod 777 rpt_itrusca_disk
后续规范解决:chown oracle:dba rpt_itrusca_disk

作者及原文:http://www.aixchina.net/club/thread-26872-1-2.html

没有测试过,不知道是不是真的可以解决!有待查证。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14663377/viewspace-1058393/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-14

  • 博文量
    102
  • 访问量
    492752