Asset ID: |
1-72-1543410.1 |
Update Date: | 2013-05-24 |
Keywords: | |
Solution Type
Problem Resolution Sure
Solution
1543410.1
:
RAC ONE Db For DBFS Repository
Related Items |
- Exadata X3-2 Quarter Rack
- Oracle Database - Enterprise Edition
|
Related Categories |
- PLA-Support>Eng Systems>Exadata/ODA/SSC>Oracle Exadata>DB: Exadata_EST
|
Created from <SR 3-7015321678>
Applies to:
Exadata X3-2 Quarter Rack - Version All Versions to All Versions [Release All Releases]
Oracle Database - Enterprise Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.
Symptoms
Following "Configuring DBFS on Oracle Database Machine (Doc ID 1054431.1)" to setup dbfs on a RAC One Node and find that DBFS mounting via Oracle Clusterware will not work. The crsctl start command fails with CRS-2674.
crsctl start resource dbfs_mount
CRS-2672: Attempting to start 'ora.prddbfs.db' on 'hostname01'
CRS-2676: Start of 'ora.prddbfs.db' on 'hostname01' succeeded
CRS-2672: Attempting to start 'ora.prddbfs.dbfs.svc' on 'hostname01'
CRS-2672: Attempting to start 'dbfs_mount' on 'hostname01'
CRS-2676: Start of 'ora.prddbfs.dbfs.svc' on 'hostname01' succeeded
CRS-2674: Start of 'dbfs_mount' on 'hostname01' failed
CRS-2679: Attempting to clean 'dbfs_mount' on 'hostname01'
CRS-2681: Clean of 'dbfs_mount' on 'hostname01' succeeded
CRS-2673: Attempting to stop 'ora.prddbfs.dbfs.svc' on 'hostname01'
CRS-2677: Stop of 'ora.prddbfs.dbfs.svc' on 'hostname01' succeeded
CRS-2527: Unable to start 'dbfs_mount' because it has a 'hard' dependency on 'ora.prddbfs.db'
CRS-2525: All instances of the resource 'ora.prddbfs.db' are already running; relocate is not allowed because the force option was not specified
CRS-4000: Command Start failed, or completed with errors.
Review of /var/log/messages shows following messages indicating that the ORACLE_SID is set to null value
Apr 3 17:14:11 hostname01 DBFS_/dbfs_direct: mount-dbfs.sh mounting DBFS at /dbfs_direct from database PRDDBFS
Apr 3 17:14:12 hostname01 DBFS_/dbfs_direct: ORACLE_SID is <<<< not set to any value
Apr 3 17:14:12 hostname01 DBFS_/dbfs_direct: No running ORACLE_SID available on this host, exiting
The instance however is running and can be accessed via sqlplus
ps -ef|grep pmon
oracle 49499 1 0 15:57 ? 00:00:00 ora_pmon_PRDDBFS_1
oracle 62662 1 0 10:33 ? 00:00:03 asm_pmon_+ASM2
oracle 63520 1 0 10:34 ? 00:00:04 ora_pmon_TSTORD6_1
srvctl status database -d prddbfs
Instance PRDDBFS_1 is running on node edw1dbadm02
Changes
The process works on non RAC One Node setups.
Cause
The mount-dbfs.sh script runs following commands to set ORACLE_SID
### set the ORACLE_SID dynamically based on OCR info, if it is running
export ORACLE_SID=$($SRVCTL status instance -d $DBNAME -n `$HN` | \
$GREP 'is running' | $AWK '{print $2}' )
logit info "ORACLE_SID is $ORACLE_SID"
### if there's no SID defined locally or it isn't running, stop
if [ -z "$ORACLE_SID" -a "$WALLET" = 'false' ]; then
logit error "No running ORACLE_SID available on this host, exiting"
exit 2
fi
The $SRVCTL status instance -d $DBNAME -n `$HN` expects to see following message
Instance PRDDBFS_1 is running on node hostname01
In this case, in a RAC One Node environment, the srvctl is returning following indicating the command is not supported
srvctl status instance -d PRDDBFS -n hostname01
PRKO-2136 : 'srvctl start/stop/enable/disable/modify/status/setenv/getenv/unsetenv instance' commands are not supported with RAC One Node databases
Solution
Modify the mount-dbfs.sh script to either hardcode the ORACLE_SID or change process to check pmon to see if instance is running
ie
From:
export ORACLE_SID=$($SRVCTL status instance -d $DBNAME -n `$HN` | \
$GREP 'is running' | $AWK '{print $2}' )
To:
export ORACLE_SID=$(ps -ef|$GREP -i pmon_$DBNAME|$GREP -v grep|$AWK '{print $8}'|sed -e 's/ora_pmon_//g')
References
<NOTE:1054431.1> - Configuring DBFS on Oracle Database Machine
Attachments
This solution has no attachment