分类: LINUX
2015-04-03 20:03:03
由于缺少补丁包无法正常启动,需要打p8670579_112010_LINUX.zip补丁包。
【解决方案】
到下述网站上下载p8670579_112010_LINUX.zip补丁包,按照README.txt步骤将该补丁打上后执行dbca,,创建db的图形出来了,问题解决.
p8670579_112010_LINUX.zip下载:
具体下载目录在 /2012年资料/8月/28日/Oracle 11gR2执行DBCA报错误
网上搜索了很多相关的帖子,基本上说的是64位的机器安装了32位的数据导致的,但我的机器是32位的,
下载的oracle版本也是32位的,但也报这个错误.先不管了,按照网上说的需要打补丁p8670579_112010_LINUX.zip.
【补丁安装步骤】
1.下载p8670579_112010_LINUX.zip,并上传到服务器上的目录/ftp
2.确认是否配置了ORACLE_HOME
[oracle@primary]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0/ 此处目录根据自己具体安装目录更改
3.检查perl的版本,需要5.00503以上的版本
[oracle@primary 8670579]$ perl -v
This is perl, v5.8.8 built for i386-linux-thread-multi
4.Verify the OUI Inventory.
$opatch lsinventory //若没有将opath的路径加入到oralce用户的PATH变量中,也可以使用以下命令:$/u01/app/oracle/product/11.2.0/db_1/OPatch/opatch lsinventory
注意:
opatch命令是在$ORACLE_HOME/OPatch/目录下,环境变量PATH中没有包含该目录的话,直接敲入opatch命令是提示找不到改命令的,这时需要将该目录加入到PATH中.
命令结果如下所示:
若执行opatch lsinventory查看之前已应用的补丁情况,也报错误如下。
> opatch lsinventory
Invoking OPatch 11.1.0.8.5
Oracle Interim Patch Installer version 11.1.0.8.5
Copyright (c) 2011, Oracle Corporation. All rights reserved.
Oracle Home : /opt/oracle/product/11g/db
Central Inventory : n/a
from :
OPatch version : 11.1.0.8.5
OUI version : 11.1.0.7.0
OUI location : /opt/oracle/product/11g/db/oui
Log file location : n/a
Patch history file: /opt/oracle/product/11g/db/cfgtoollogs/opatch/opatch_history.txt
OPatch cannot find a valid oraInst.loc file to locate Central Inventory.
OPatch failed with error code 104
则、对于该错误,我们可以指明oraInst.loc文件的绝对路径来执行相应的命令,如下所示:
opatch lsinventory -invPtrLoc /opt/oracle/product/11g/db/oraInst.loc 此处目录根据自己具体安装目录更改
opatch apply -invPtrLoc /opt/oracle/product/11g/db/oraInst.loc
3、或者从其他相同版本的数据库软件目录下拷贝/opt/oracle/oraInventory目录和/etc/oraInst.loc文件
到相对应的目录
4、当然,也是可以重建的,(注意替换你自己的ORACLE_HOME和ORACLE_HOME_NAME):
/opt/oracle/product/11g/db/oui/bin/runInstaller -silent -ignoreSysPrereqs -attachHome ORACLE_HOME="/opt/oracle/product/11g/db/" ORACLE_HOME_NAME="home1"
5、比如执行opatch lsinventory出现如下错误,则重建oraInventory,可以解决
Inventory load failed... OPatch cannot load inventory for the given Oracle Home.
Possible causes are:
Oracle Home dir. path does not exist in Central Inventory
Oracle Home is a symbolic link
Oracle Home inventory is corrupted
LsInventorySession failed: OracleHomeInventory::load() gets null oracleHomeInfo
OPatch failed with error code 73
5.解压缩补丁包
$unzip p8670579_112010_LINUX.zip
6.确保数据库已经停止。
$cd /ftp/8670579
$opatch apply //在8670579这个目录下执行此命令
7. 若打完补丁成功,则会出现下属结果。