oracle crs 配置错误详解.docx
《oracle crs 配置错误详解.docx》由会员分享,可在线阅读,更多相关《oracle crs 配置错误详解.docx(18页珍藏版)》请在冰豆网上搜索。
oraclecrs配置错误详解
oraclecrs配置错误详解
*******************************
PRKP-1001
CRS-0215
*******************************
当我们在安装Clusterware的时候,需要在第二节点上vipca, 配置到最后安装的时候,安装到75%左右,报错:
CRS-0215:
Couldnotstartresource'ora.mxb2bcoredb01.ons'.
Checkthelogfile"/u01/product/crs/log/mxb2bcoredb01/racg/ora.mxb2bcoredb01.ons.log" andfixtheproblembeforeretrying.
/etc/hosts文件配置不对127.0.0.1localhost
************
OUI-25031
************
检查linux主机名是否符合规范,因为oracle不是直接获取IP地址的,而是
通过解析主机名来获取IP的
hostname检查主机名
两个文件
/etc/sysconfig/network
/etc/hosts
添加一项主机ip主机名
************************************
ASM装载磁盘组时ORA-15063错误处理
************************************
可以看到这个错误是由于ASM实例无法装载硬盘组的所有磁盘而引起的,有可能是权限问题。
马上想到是否是由于OS重启后祼设备的用户、权限是否变更,导致ORACLE用户没有权限访问祼设备。
将祼设备的权限更改完后,
果然ASM能够正常启动。
其实这个问题还是很简单的,LINUX启动后默认会把祼设备的拥有者改为root用户,只需把/etc/udev/permissions.d/50-udev.permissions这个文件中的行“raw/*:
root:
disk:
0660”注释掉,添加新行“raw/*:
oracle:
dba:
0660”,这样系统启动后祼设备的拥有者就变
为ORACLE用户了,当然如果祼设备还有其他用户的话,那么就需要针对不同的祼设备进行更改了。
为了防止下次再出现这种情况,可以采用如下的解决方法
在/etc/rc.local中加入
chownoracle:
dba/dev/raw/raw1
执行root.sh脚本卡住
Raw权限不够
**********************************************
无法读取init+ASM.ora文件
**********************************************
配置文件.bash_profile
ORACLE_SID不正确
在dbs目录下vi一个init+ASM.ora
内容如下:
asm_diskgroups='DATA'
asm_diskstring='/dev/rdsk/*'
background_dump_dest='/oracle/ora10g/admin/+ASM/bdump'
core_dump_dest='/oracle/ora10g/admin/+ASM/cdump'
instance_type='asm'
large_pool_size=12M
remote_login_passwordfile='SHARED'
user_dump_dest='/oracle/ora10g/admin/+ASM/udump'
然后
$exportORACLE_SID=+ASM
$sqlplus/assysdba
CRS-0213
************************************
ASM重建过程
************************************
node1&&node2都运行一下命令
cd/opt/ora10g/product/10.2.0/db_1/dbs
rm-rf*
cd/opt/ora10g/admin
rm-rf*
ddif=/dev/zeroof=/dev/raw/raw3bs=8192count=12800
ddif=/dev/zeroof=/dev/raw/raw4bs=8192count=12800
ddif=/dev/zeroof=/dev/raw/raw1bs=8192count=12800[crsdisk]
ddif=/dev/zeroof=/dev/raw/raw2bs=8192count=12800[votdisk]
/etc/init.d/oracleasmcreatediskNOVA1/dev/sdd1
/etc/init.d/oracleasmcreatediskNOVA2/dev/sde1
vi/etc/oratab[删除+ASM相关字段]
crs_unregisterora.node2.ASM2.asm
crs_unregisterora.node1.ASM1.asm
***********************************************
删除ASM实例的方法
**********************************************
先停掉一个节点的ASM实例
[oracle@node1~]$sqlplus/assysdba
SQL*Plus:
Release10.2.0.1.0–ProductiononSunApr2614:
56:
13
2009
Copyright(c)1982,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0–
Production
WiththePartitioning,RealApplicationClusters,OLAPandData
Miningoptions
SQL>selectinstance_namefromv$asm_client;
norowsselected
SQL>selectnamefromv$asm_diskgroup;
NAME
——————————
RAC_DISK
SQL>dropdiskgroupRAC_DISKincludingcontents;
Diskgroupdropped.
SQL>shutdownimmediate
ORA-15100:
invalidormissingdiskgroupname
ASMinstanceshutdown
[oracle@node1~]$oradism-delete-asmsid+ASM
[oracle@node1~]$oradism-delete-asmsid+ASM1
[oracle@node1~]$oradism-delete-asmsid+ASM2
srvctlstopasm-nnode1
srvctlstopasm-nnode2
[oracle@node2~]$crs_stat-t
NameTypeTargetStateHost
————————————————————
ora….SM1.asmapplicationONLINEONLINEnode1
ora….E1.lsnrapplicationOFFLINEOFFLINE
ora.node1.gsdapplicationONLINEONLINEnode1
ora.node1.onsapplicationONLINEONLINEnode1
ora.node1.vipapplicationONLINEONLINEnode1
ora….SM2.asmapplicationONLINEOFFLINE
ora….E2.lsnrapplicationOFFLINEOFFLINE
ora.node2.gsdapplicationONLINEONLINEnode2
ora.node2.onsapplicationONLINEONLINEnode2
ora.node2.vipapplicationONLINEONLINEnode2
[oracle@node2~]$crsctlcheckcrs
CSSappearshealthy
CRSappearshealthy
EVMappearshealthy
srvctladdasm-nnode1-i+ASM1-o/opt/ora10g/admin
删除自动存储管理实例+ASM
实例+ASM的删除是在数据库被卸载之后完成的,并删除/ORACLE_HOME/dbs
目录下的所有文件(除了与ASM相关的)。
因此必须完成下列步骤:
1)在命令提示符中,设置oracle_sid环境变量为+ASM实例:
#exportoracle_sid=+ASM
2)启动SQL*Plus并以sys用户连接到自动存储管理+ASM实例:
#sqlplus/assysdba
3)使用下列命令来确定是否有数据库实例正在使用自动存储管理实例+ASM:
SQL>selectinstance_namefromv$asm_client;
该命令结果列出所有正在运行并使用+ASM实例的数据库实例。
只要+ASM包含正在支持的数据库实例,就不能删除该+ASM实例。
4)如果没有与+ASM相关联的数据库实例,则删除与该实例相关联的磁盘组。
首先,识别与+ASM相关联的磁盘组:
SQL>selectnamefromv$asm_diskgroup;
其次,用下列命令删除每个要删除的磁盘组:
SQL>dropdiskgroupincludingcontents;
5)关闭+ASM实例并退出SQL*Plus:
SQL>shutdown
SQL>exit
6)在命令提示符中输入下列命令,删除+ASM服务:
oradim-delete-asmsid+ASM
********************************************
crs_stop-all命令后遇到UNKNOWN
**********************************************
RAC中执行crs_stop-all后提示一些服务停不了,再用crs_stat-t查看状态的时候,停不掉的服务会显示状态是UNKNOWN,
服务在UNKNOWN状态下用crs_start不能启动服务
例如:
[oracle@rac1~]$crs_stop-all
Attemptingtostop`ora.rac1.gsd`onmember`rac1`
Attemptingtostop`ora.rac1.ons`onmember`rac1`
Attemptingtostop`ora.rac2.gsd`onmember`rac2`
Attemptingtostop`ora.ora9i.db`onmember`rac1`
Attemptingtostop`ora.rac2.ons`onmember`rac2`
Stopof`ora.rac1.gsd`onmember`rac1`succeeded.
Stopof`ora.rac2.gsd`onmember`rac2`succeeded.
Stopof`ora.rac2.ons`onmember`rac2`succeeded.
Stopof`ora.rac1.ons`onmember`rac1`succeeded.
Stopof`ora.ora9i.db`onmember`rac1`succeeded.
Attemptingtostop`ora.rac1.LISTENER_RAC1.lsnr`onmember`rac1`
Attemptingtostop`ora.rac2.LISTENER_RAC2.lsnr`onmember`rac2`
`ora.rac1.LISTENER_RAC1.lsnr`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.ora9i.ora9i1.inst`isalreadyOFFLINE.
`ora.rac2.LISTENER_RAC2.lsnr`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.ora9i.ora9i2.inst`isalreadyOFFLINE.
Attemptingtostop`ora.rac1.ASM1.asm`onmember`rac1`
`ora.rac1.ASM1.asm`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostop`ora.rac2.ASM2.asm`onmember`rac2`
Attemptingtostop`ora.rac1.LISTENER_RAC1.lsnr`onmember`rac1`
`ora.rac2.ASM2.asm`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.rac1.LISTENER_RAC1.lsnr`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostop`ora.rac1.ASM1.asm`onmember`rac1`
`ora.rac1.ASM1.asm`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostop`ora.rac2.LISTENER_RAC2.lsnr`onmember`rac2`
Attemptingtostop`ora.rac1.vip`onmember`rac1`
`ora.rac2.LISTENER_RAC2.lsnr`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostop`ora.rac2.ASM2.asm`onmember`rac2`
`ora.rac2.ASM2.asm`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostop`ora.rac2.vip`onmember`rac2`
Stopof`ora.rac1.vip`onmember`rac1`succeeded.
Stopof`ora.rac2.vip`onmember`rac2`succeeded.
CRS-0216:
Couldnotstopresource'ora.ora9i.ora9i1.inst'.
CRS-0216:
Couldnotstopresource'ora.ora9i.ora9i2.inst'.
CRS-0216:
Couldnotstopresource'ora.rac1.ASM1.asm'.
CRS-0216:
Couldnotstopresource'ora.rac1.LISTENER_RAC1.lsnr'.
CRS-0216:
Couldnotstopresource'ora.rac1.vip'.
CRS-0216:
Couldnotstopresource'ora.rac2.ASM2.asm'.
CRS-0216:
Couldnotstopresource'ora.rac2.LISTENER_RAC2.lsnr'.
CRS-0216:
Couldnotstopresource'ora.rac2.vip'.
在UNKNOWN状态下,使用crs_start-all命令不会把RAC启动起来,启动的时候会报错。
[oracle@rac1~]$crs_start-all
Attemptingtostart`ora.rac1.vip`onmember`rac1`
Attemptingtostart`ora.rac2.vip`onmember`rac2`
Attemptingtostart`ora.rac2.gsd`onmember`rac2`
Attemptingtostart`ora.rac2.ons`onmember`rac2`
Attemptingtostart`ora.rac1.gsd`onmember`rac1`
Attemptingtostart`ora.rac1.ons`onmember`rac1`
`ora.rac2.gsd`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.rac2.ons`onmember`rac2`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Attemptingtostart`ora.ora9i.db`onmember`rac1`
`ora.rac1.ons`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.rac1.gsd`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
`ora.ora9i.db`onmember`rac1`hasexperiencedanunrecoverablefailure.
Humaninterventionrequiredtoresumeitsavailability.
Startof`ora.rac1.vip`onmember`rac1`succeeded.
CRS-1028:
Dependencyanalysisfailedbecauseof:
'ResourceinUNKNOWNstate:
ora.rac1.ASM1.asm'
Startof`ora.rac2.vip`onmember`rac2`succeeded.
CRS-1028:
Dependencyanalysisfailedbecauseof:
'ResourceinUNKNOWNstate:
ora.rac2.ASM2.asm'
CRS-0215:
Couldnotstartresource'ora.ora9i.db'.
CRS-0223:
Resource'ora.ora9i.ora9i1.inst'hasplacementerror.
CRS-0223:
Resource'ora.ora9i.ora9i2.inst'hasplacementerror.
CRS-0215:
Couldnotstartresource'ora.rac1.gsd'.
CRS-0215:
Couldnotstartresource'ora.rac1.ons'.
CRS-0215:
Couldnotstartresource'ora.rac2.gsd'.
CRS-0215:
Couldnotstartresource'ora.rac2.ons'.
此时crs_stat-t的状态还是有很多的UNKNOWN
(烦、烦、烦,rac中真奇怪,正常启动关闭服务时,
状态只有online和offline两种(启动与未启动),结果RAC中给你来了个UNKNOWN):
[oracle@rac1~]$crs_stat-t
Name Type Target State Host
------------------------------------------------------------
ora.ora9i.db application ONLINE UNKNOWN rac1
ora....i1.instapplic