11gR2 Silent Install errors with [SEVERE] – Invalid My Oracle Support credentials

While performing  11gR2 RAC Database Software installation with response file (silent mode), I got this error.

[SEVERE] - Invalid My Oracle Support credentials

I was using default response files for performing this installation. Searching on MOS (My Oracle Support ), I got a note indicating that following parameter need’s to be specified

MYORACLESUPPORT_USERNAME = 

MYORACLESUPPORT_PASSWORD =

I provided a dummy value for these two paramters but the installation again failed with same errors. Then I gave correct credentials and tried again, this time installation was succesful. My initial thought was ” Is Oracle forcing people to have valid MOS account for performing installation” But this couldn’t be true as I had earlier done GUI installation without providing these credentials. It was clear that there was some other parameter which controlled this behavior. So as to diagnose it , I created a response file using GUI (Un checking the check box for my oracle support credentials) . This time response file had two additional parameters

#------------------------------------------------------------------------------
# Specify whether to enable the user to set the password for
# My Oracle Support credentials. The value can be either true or false.
# If left blank it will be assumed to be false.
#
# Example    : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true
#------------------------------------------------------------------------------
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false

#------------------------------------------------------------------------------
# Specify whether user wants to give any proxy details for connection.
# The value can be either true or false. If left blank it will be assumed
# to be false.
#
# Example    : DECLINE_SECURITY_UPDATES=false
#------------------------------------------------------------------------------
DECLINE_SECURITY_UPDATES=true

We can see that DECLINE_SECUIRTY_UPDATES value is changed from default value of false to true.  From 11.2 docs

DECLINE_SECURITY_UPDATES
If the direct connection is unavailable, set this parameter to false if you do not want to configure Oracle Configuration Manager, or do not want to provide any proxy details for the connection. The default is False.

If you do not set MYORACLESUPPORT_USERNAME to any value and you set this parameter to true, the Oracle Configuration Manager is not configured.

So to workaround this problem, we need to set DECLINE_SECURITY_UPDATES=true

opmnctl start fails when ORA_NLS10 parameter is set

I got into this issue , where in while starting Grid Control components, opmnctl command failed with following errors

./opmnctl start
globalInitNLS: NLS boot file not found or invalid
 -- default linked-in boot block used
XML parser init: error 201.
globalInitNLS: NLS boot file not found or invalid
 -- default linked-in boot block used
XML parser init: error 201.
globalInitNLS: NLS boot file not found or invalid
 -- default linked-in boot block used
XML parser init: error 201.
opmnctl: opmn start failed

On checking environment variables, I found ORA_NLS10 env variable was set. Unsetting it resolved the issue.

11gR2: CVU needs SCAN Listeners’ Manual Startup During Grid-Infrastructure Configuration

During configuration phase of Grid Infrastructure for cluster, CVU failed while performing post-checks.
Following message is displaced in the Installation Log file:

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Checking Single Client Access Name (SCAN)...</span></span>

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">WARNING:
<strong>PRVF-5056</strong> : Scan Listener "LISTENER" not running</span></span>

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Checking name resolution setup for "scan-test.abc.com"...</span></span>

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Verification of SCAN VIP and Listener setup failed</span></span>

The LISTENER from Grid Infrastructure home is running fine:

$ ps -eaf | grep tns

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">/u01/app/grid_11.2/GridInfra/bin/tnslsnr LISTENER -inherit</span></span>

Same error is observerd by manually runnig CVU as:

$ cluvfy comp scan

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Verifying scan
Checking Single Client Access Name (SCAN)...</span></span>

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">WARNING:
<strong>PRVF-5056 </strong>: Scan Listener "LISTENER" not running</span></span>

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">Checking name resolution setup for "scan-test.abc.com"...
Verification of SCAN VIP and Listener setup failed
Verification of scan was unsuccessful on all the specified nodes.</span></span>

Checking the status of SCAN using SRVCTL gives correct results:

$ srvctl config scan

SCAN name: scan-test.abc.com, Network: 1/165.101.124.0/255.255.254.0/eth0
<span style="font-size: small;">SCAN VIP name: scan1, IP: /scan-test.abc.com/165.101.125.204
SCAN VIP name: scan2, IP: /scan-test.abc.com/165.101.125.235
SCAN VIP name: scan3, IP: /scan-test.abc.com/165.101.125.180</span>

Which shows that the SCAN is configured properly.

When I tried to start the SCAN Listener manually as:

$ srvctl start scan_listener

It showed the following results:

node1:
====

<span style="font-size: small;">oracle 379 1 0 07:53 ? 00:00:00 /u01/app/grid_11.2/GridInfra/bin/tnslsnr LISTENER_SCAN1 -inherit
oracle 401 1 0 07:53 ? 00:00:00 /u01/app/grid_11.2/GridInfra/bin/tnslsnr LISTENER_SCAN3 -inherit</span>

node2:
====

<span style="font-size: small;"><span style="font-family: arial,helvetica,sans-serif;">oracle 11726 1 0 07:53 ? 00:00:00 /u01/app/grid_11.2/GridInfra/bin/tnslsnr LISTENER_SCAN2 -inherit</span></span>

$ srvctl config scan_listener

<span style="font-size: small;">SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521</span>

After this, I clicked at the retry button for the CVU post checks and this time it succeeded.
Though it worked fine after this, but still not sure why I have to manually start the SCAN-Listeners !!!!!

Cheers!!!!

How To Discover Disk Name When LUN Number is Known (OEL5)

I am creating 11gR2 RAC setup for one of my client. Following Oracle documentation for storage, I opted for Oracle ASM and asked storage team for new physical devices.
Storage admin thus provided me with a set of LUNs instead of actual physical device names like /dev/sdcxxx.

Now the major task is to get the actual device name associated with LUNs.
In OEL4 this is easy to get by issuing

# iscsi-ls -l
This command will give output like:

<span style="font-size: medium;"><span style="font-family: times new roman,times;">DEVICE DETAILS:
---------------
LUN ID : 0
Vendor: DELL     Model: MD3000i          Rev: 0670
Type:   Direct-Access                    ANSI SCSI revision: 05
page83 type3: 6001e4f0003fa9970000083c48573c94
page80: 383438303045500a
Device: /dev/sdh
LUN ID : 1
Vendor: DELL     Model: MD3000i          Rev: 0670
Type:   Direct-Access                    ANSI SCSI revision: 05
page83 type3: 6001e4f0003fbc5b000008dd486dae67
page80: 383438303045500a
Device: /dev/sdl
LUN ID : 2
Vendor: DELL     Model: MD3000i          Rev: 0670
Type:   Direct-Access                    ANSI SCSI revision: 05
page83 type3: 6001e4f0003fbc5b0000082048574033
page80: 383438303045500a
Device: /dev/sdp</span></span>

But this command is obsolete in OEL5. The replacement for iscsi-ls in OEL5 is iscsiadm.

In OEL5, there are two ways to get the device name associated with LUN:

1. Use iscsiadm -m host -P 4

# iscsiadm -m host -P 4

It will show the output as:

<span style="font-size: medium;"><span style="font-family: times new roman,times;">************************
Attached SCSI devices:
************************
scsi6 Channel 00 Id 0 Lun: 0
Attached scsi disk sdk          State: running
scsi6 Channel 00 Id 0 Lun: 1
Attached scsi disk sdm          State: running
scsi6 Channel 00 Id 0 Lun: 10
Attached scsi disk sdah         State: running
scsi6 Channel 00 Id 0 Lun: 11
Attached scsi disk sdai         State: running
scsi6 Channel 00 Id 0 Lun: 13
Attached scsi disk sdap         State: running
scsi6 Channel 00 Id 0 Lun: 14
Attached scsi disk sdaq         State: running</span></span>

2. Install the OEL5 package: lsscsi-0.17-3.el5 (or similar version).

# lsscsi -l

<span style="font-size: medium;"><span style="font-family: times new roman,times;">It will show the output as:</span></span>

<span style="font-size: medium;"><span style="font-family: times new roman,times;">[6:0:0:22]   disk    DELL     MD3000i          0670  /dev/sdbp
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=60
[6:0:0:24]   disk    DELL     MD3000i          0670  /dev/sdbq
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30
[6:0:0:31]   disk    DELL     Universal Xport  0670  /dev/sdbx
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=60
[6:0:0:32]   disk    DELL     MD3000i          0670  /dev/sdby
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30
[6:0:0:33]   disk    DELL     MD3000i          0670  /dev/sdcg
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=60
[6:0:0:71]   disk    DELL     MD3000i          0670  /dev/sdch
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=60
[6:0:0:72]   disk    DELL     MD3000i          0670  /dev/sdci
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=30
[6:0:0:73]   disk    DELL     MD3000i          0670  /dev/sdck
state=running queue_depth=32 scsi_level=6 type=0 device_blocked=0 timeout=60</span></span>

<span style="font-size: medium;"><span style="font-family: times new roman,times;">Here we can see the LUN numbers in begning:</span></span>

[6:0:0:73] i.e 73 is the LUN number here.

[6:0:0:72] i.e 72 is the LUN number here.

Finally I created the disks with correct device names. 🙂

Cheers!!!

Saurabh Sood

Cluvfy Reports CRS not Installed on Nodes

Before I start my post, I would like to wish all our readers a “Happy New Year”.

While reviewing a 10gR2 RAC configuration I faced following errors on invoking cluvfy utility

$ ./cluvfy stage -post crsinst -n prod01,prod02 -verbose

Performing post-checks for cluster services setup 

Checking node reachability...

Check: Node reachability from node "prod01-fe"
  Destination Node                      Reachable?
  ------------------------------------  ------------------------
  prod01                              yes
  prod02                              yes
Result: Node reachability check passed from node "prod01-fe".

Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Comment
  ------------------------------------  ------------------------
  prod02                              passed
  prod01                              passed
Result: User equivalence check passed for user "oracle".

ERROR:
CRS is not installed on any of the nodes.
Verification cannot proceed.

Post-check for cluster services setup was unsuccessful on all the nodes.

Cluvfy has reported that Clusterware has not been installed on the server. But this was strange and unexpected as one RAC Database was already running on these nodes and crs_stat reported the status of all CRS resources. ocrcheck also did not report any problems with the OCR. To dig further I checked Cluvfy logs located under $ORA_CRS_HOME/cv/log. It had recorded following errors

[main] [15:52:41:800] [OUIData.readInventoryData:393]  ==== CRS home added: Oracle home properties:
Name     : OraCRS
Type     : CRS-HOME
Location : /app/oracle/product/10.2/crs
Node list: [prod01-fe, prod02-fe]
; Thu Dec 24 15:52:41 GMT+08:00 2009
[main] [15:52:41:800] [OUIData.readInventoryData:401]  ==== ORACLE home added: Oracle home properties:
Name     : OraHome
Type     : ORACLE-HOME
Location : /app/oracle/product/10.2/db_1
Node list: [prod01, prod02]
; Thu Dec 24 15:52:41 GMT+08:00 2009
[main] [15:52:41:800] [VerificationUtil.isCRSInstalled:1262]  CRS wasn't found installed  on node: prod02; Thu Dec 24 15:52:41
 GMT+08:00 2009
[main] [15:52:41:800] [VerificationUtil.isCRSInstalled:1262]  CRS wasn't found installed  on node: prod01; Thu Dec 24 15:52:41
 GMT+08:00 2009

You can notice that CRS_HOME has recorded Node list as [prod01-fe, prod02-fe] and for DB_HOME it is [prod01, prod02]. Actual hostname for the nodes are prod01 and prod02. prod01-fe and prod02-fe were aliases for the two nodes.

Cluvfy uses Central Oracle Inventory to obtain ORACLE_HOME information. Checking the $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml confirmed that the nodes corresponding to CRS_HOME were stored as prod01-fe and prod02-fe ( I have changed the Angled brackets to Round brackets as html considers them as tags. Don’t worry your inventory file is not corrupted 🙂 )

(INVENTORY)
(VERSION_INFO)
   (SAVED_WITH)10.2.0.1.0(/SAVED_WITH)
   (MINIMUM_VER)2.1.0.6.0(/MINIMUM_VER)
(/VERSION_INFO)
(HOME_LIST)
(HOME NAME="OraCRS" LOC="/app/oracle/product/10.2/crs" TYPE="O" IDX="1" CRS="true")
   (NODE_LIST)
      (NODE NAME="prod01-fe"/)
      (NODE NAME="prod02-fe"/)
   (/NODE_LIST)
(/HOME)
(HOME NAME="OraHome" LOC="/app/oracle/product/10.2/db_1" TYPE="O" IDX="2")
   (NODE_LIST)
      (NODE NAME="prod01"/)
      (NODE NAME="prod02"/)
   (/NODE_LIST)
(/HOME)

There are few reported issues on metalink but they relate to CRS=”true” not being present for CRS_HOME entry. There is one more reported issue listed here by Surachart which was caused by incorrect permissions on /etc/oraInst.loc file.

To correct this problem, we had to run runInstaller -updateNodelist command to update the correct nodes in file. Even though some metalink notes recommend to change this file manually,  I would recommend using runInstaller command for updating inventory.
Before executing the command, I ran olsnodes command to confirm that OCR stored prod01,prod02 in its repository.

runInstaller -updateNodeList -silent "CLUSTER_NODES={prod01,prod02}" ORACLE_HOME="/app/oracle/product/10.2/crs" ORACLE_HOME_NAME="OraCRS" LOCAL_NODE="prod01" CRS=true
Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
The inventory pointer is located at /var/opt/oracle/oraInst.loc
The inventory is located at /app/oracle/oraInventory
'UpdateNodeList' was successful.

Now the cluvfy worked fine. I do not have any reasoning for why the incorrect nodes were recorded in Oracle Inventory, but above solution should take care of this.

Life Is Changed Now!!!!!

Hi All,

This time I am sharing an experience from my personal life, I got Married on 2nd Dec 2009 🙂
I was on holidays since last month and just joined back. In this time I visited beautiful Island of Koh-Samui (Thailand).
At this time finding hard to concentrate on work 🙂

Cheers!!!
Saurabh Sood