Grid infrastructure software is required to setup ASM in a standalone DB configuration. GI has hostname dependent directory paths and components. Changing the hostname in a such configuration requires re-configuring the GI software after the hostname has been changed. This post list the steps for changing the hostname in a standalone DB configuration with ASM.
The current hostname is rhel7.domain.net and this will changed to rhel7s.domain.net
In certain systems (in this case OS RHEL 7.0, kernel 3.10.0-123.el7.x86_64, Oracle 11.2.0.4) may run in to following error due to perl version related issues. Solution for this is to use the perl binary provided with GI.
Add the ASM and set auto start option to 1. In this case the ASM Spfile was not residing in a ASM diskgroup.
Useful metalink notes
How to Reconfigure Oracle Restart on 12c / 12.1 [ID 1570358.1]
rootcrs.pl/roothas.pl Fails With Can't locate Env.pm [ID 2019784.1]
rootcrs.pl/roothas.pl Fails With "Can't locate Env.pm"[ID 1925577.1]
How to change Hostname / IP for a Grid Infrastructure Oracle Restart Standalone Configuration (SIHA) [ID 1552810.1]
Related Posts
Changing The Cluster Name
The current hostname is rhel7.domain.net and this will changed to rhel7s.domain.net
In certain systems (in this case OS RHEL 7.0, kernel 3.10.0-123.el7.x86_64, Oracle 11.2.0.4) may run in to following error due to perl version related issues. Solution for this is to use the perl binary provided with GI.
$GI_HOME/crs/install/roothas.pl -deconfig -forceThe MOS notes mention to change the hostname and then de-configure but this fails with the following error
Can't locate Env.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /opt/app/oracle/product/11.2.0/grid/crs/install) at /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_lib.pm line 710.
BEGIN failed--compilation aborted at /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_lib.pm line 710.
Compilation failed in require at /opt/app/oracle/product/11.2.0/grid/crs/install/roothas.pl line 171.
BEGIN failed--compilation aborted at /opt/app/oracle/product/11.2.0/grid/crs/install/roothas.pl line 171.
$GI_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.pl -deconfig -forceReason is that deconfig option is looking for a directory path that does not exists
Using configuration parameter file: /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params
Can't open /etc/oracle/scls_scr/rhel7s/grid/ohasdstr for write: No such file or directory at /opt/app/oracle/product/11.2.0/grid/crs/install/s_crsconfig_lib.pm line 1386.
# ls /etc/oracle/scls_scr/It maybe possible to rename this directory and run the deconfig. But instead the deconfig was run (as root) without changing the hostname (reverting to original hostname).
rhel7
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.pl -deconfig -forceOnce the deconfig is complete change the hostname
Using configuration parameter file: /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params
CRS resources for listeners are still configured
PRKO-2573 : ONS daemon is already stopped.
CRS-2673: Attempting to stop 'ora.DATA.dg' on 'rhel7'
CRS-2673: Attempting to stop 'ora.FRA.dg' on 'rhel7'
CRS-2673: Attempting to stop 'ora.std11g2.db' on 'rhel7'
CRS-2677: Stop of 'ora.std11g2.db' on 'rhel7' succeeded
CRS-2677: Stop of 'ora.FRA.dg' on 'rhel7' succeeded
CRS-2677: Stop of 'ora.DATA.dg' on 'rhel7' succeeded
CRS-2673: Attempting to stop 'ora.asm' on 'rhel7'
CRS-2677: Stop of 'ora.asm' on 'rhel7' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'rhel7'
CRS-2677: Stop of 'ora.cssd' on 'rhel7' succeeded
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rhel7'
CRS-2673: Attempting to stop 'ora.evmd' on 'rhel7'
CRS-2677: Stop of 'ora.evmd' on 'rhel7' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rhel7' has completed
CRS-4133: Oracle High Availability Services has been stopped.
Successfully deconfigured Oracle Restart stack
hostnameRun (as root) the roothas.pl script to configure the HAS again.
rhel7s.domain.net
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.plAt this stage the services would be in the following states
Using configuration parameter file: /opt/app/oracle/product/11.2.0/grid/crs/install/crsconfig_params
LOCAL ADD MODE
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node rhel7s successfully pinned.
Adding Clusterware entries to oracle-ohasd.service
rhel7s 2016/02/12 13:10:13 /opt/app/oracle/product/11.2.0/grid/cdata/rhel7s/backup_20160212_131013.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server
Resource Name Type Target State HostAs grid user, enable the cssd auto start and stop and start the HAS again
------------- ------ ------- -------- ----------
ora.cssd ora.cssd.type OFFLINE OFFLINE
ora.diskmon ora.diskmon.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE rhel7s
ora.ons ora.ons.type OFFLINE OFFLINE
$ crsctl modify resource "ora.cssd" -attr "AUTO_START=1"Check the states of the services and HAS service
$ crsctl stop has
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'rhel7s'
CRS-2673: Attempting to stop 'ora.evmd' on 'rhel7s'
CRS-2677: Stop of 'ora.evmd' on 'rhel7s' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'rhel7s' has completed
CRS-4133: Oracle High Availability Services has been stopped.
$ crsctl start has
CRS-4123: Oracle High Availability Services has been started.
Resource Name Type Target State HostGI has its services but listener, ASM and DB are missing. These need to be manually added to the configuration. First add and start the listener
------------- ------ ------- -------- ----------
ora.cssd ora.cssd.type ONLINE ONLINE rhel7s
ora.diskmon ora.diskmon.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE rhel7s
ora.ons ora.ons.type OFFLINE OFFLINE
$ crsctl check has
CRS-4638: Oracle High Availability Services is online
$ srvctl add listener
$ srvctl start listener
Resource Name Type Target State Host
------------- ------ ------- -------- ----------
ora.LISTENER.lsnr ora.listener.type ONLINE ONLINE rhel7s
ora.cssd ora.cssd.type ONLINE ONLINE rhel7s
ora.diskmon ora.diskmon.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE rhel7s
ora.ons ora.ons.type OFFLINE OFFLINE
Add the ASM and set auto start option to 1. In this case the ASM Spfile was not residing in a ASM diskgroup.
$ srvctl add asmFinally add the database and start it
$ crsctl modify resource "ora.asm" -attr "AUTO_START=1"
$ srvctl modify asm -p /opt/app/oracle/product/11.2.0/grid/dbs/spfile+ASM.ora -l listener
$ srvctl config asm
ASM home: /opt/app/oracle/product/11.2.0/grid
ASM listener: LISTENER
Spfile: /opt/app/oracle/product/11.2.0/grid/dbs/spfile+ASM.ora
ASM diskgroup discovery string: ++no-value-at-resource-creation--never-updated-through-ASM++
$ crsctl stop has
$ crsctl start has
Resource Name Type Target State Host
------------- ------ ------- -------- ----------
ora.DATA.dg ora.diskgroup.type ONLINE ONLINE rhel7s
ora.FRA.dg ora.diskgroup.type ONLINE ONLINE rhel7s
ora.LISTENER.lsnr ora.listener.type ONLINE ONLINE rhel7s
ora.asm ora.asm.type ONLINE ONLINE rhel7s
ora.cssd ora.cssd.type ONLINE ONLINE rhel7s
ora.diskmon ora.diskmon.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE rhel7s
ora.ons ora.ons.type OFFLINE OFFLINE
$ srvctl add database -d std11g2 -o $ORACLE_HOME -p +DATA/std11g2/spfilestd11g2.oraThis conclude the changing of hostname in a standalone DB configuration with ASM.
$ srvctl config database -d std11g2
Database unique name: std11g2
Database name:
Oracle home: /opt/app/oracle/product/11.2.0/dbhome_4
Oracle user: oracle
Spfile: +DATA/std11g2/spfilestd11g2.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Database instance: std11g2
Disk Groups:
Services:
$ srvctl start database -d std11g2
Resource Name Type Target State Host
------------- ------ ------- -------- ----------
ora.DATA.dg ora.diskgroup.type ONLINE ONLINE rhel7s
ora.FRA.dg ora.diskgroup.type ONLINE ONLINE rhel7s
ora.LISTENER.lsnr ora.listener.type ONLINE ONLINE rhel7s
ora.asm ora.asm.type ONLINE ONLINE rhel7s
ora.cssd ora.cssd.type ONLINE ONLINE rhel7s
ora.diskmon ora.diskmon.type OFFLINE OFFLINE
ora.evmd ora.evm.type ONLINE ONLINE rhel7s
ora.ons ora.ons.type OFFLINE OFFLINE
ora.std11g2.db ora.database.type ONLINE ONLINE rhel7s
Useful metalink notes
How to Reconfigure Oracle Restart on 12c / 12.1 [ID 1570358.1]
rootcrs.pl/roothas.pl Fails With Can't locate Env.pm [ID 2019784.1]
rootcrs.pl/roothas.pl Fails With "Can't locate Env.pm"[ID 1925577.1]
How to change Hostname / IP for a Grid Infrastructure Oracle Restart Standalone Configuration (SIHA) [ID 1552810.1]
Related Posts
Changing The Cluster Name