在redhat 5.5 新安裝的雙節點RAC,使用ASM存儲OCR和votedisk,安裝完成後遇到一個問題,可以通過ps -ef | grep asm 查看到asm進程,也可以通過srvctl和crs命令操作asm 實例,但是卻不能通過sqlplus和asmcmd進入asm實例,這問題折騰了數天,最終發現是自己的疏忽導致。
通過ps -ef |grep asm 查看一切正常
[grid@hnundb2 ~]$ ps -ef | grep asm
oracle 5740 1 0 Jul19 ? 00:00:21 ora_asmb_ecom2
grid 5748 1 0 Jul19 ? 00:00:00 oracle+ASM2_asmb_ecom2 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
grid 6553 1 0 Jul18 ? 00:00:16 asm_pmon_+ASM2
grid 6557 1 0 Jul18 ? 00:00:00 asm_vktm_+ASM2
grid 6563 1 0 Jul18 ? 00:00:00 asm_gen0_+ASM2
grid 6567 1 0 Jul18 ? 00:00:00 asm_diag_+ASM2
grid 6571 1 0 Jul18 ? 00:00:18 asm_ping_+ASM2
grid 6575 1 0 Jul18 ? 00:00:00 asm_psp0_+ASM2
asm 實例爲+ASM2,設置了ORACLE_SID=+ASM後缺無法進入asm 實例,
[grid@hnundb2 ~]$ export ORACLE_SID=+ASM
[grid@hnundb2 ~]$
[grid@hnundb2 ~]$
[grid@hnundb2 ~]$
[grid@hnundb2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 29 14:57:08 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
使用asmcmd 進入也是如此,如此反覆折騰多日。後來查看環境變量設置,
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_SID=+ASM2; export ORACLE_SID
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid/; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
THREADS_FLAG=native; export THREADS_FLAG
PATH=$ORACLE_HOME/bin:$PATH; export PATH
感覺應該跟環境變量有關,修改了一下ORACLE_HOME,把後面的斜線去了,改成ORACLE_HOME=/u01/app/11.2.0/grid,再次嘗試時,一切正常。