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 -force 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.The MOS notes mention to change the hostname and then de-configure but this fails with the following error
export ORACLE_HOME=$GI_HOME $GI_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.pl -deconfig -force 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.Reason is that deconfig option is looking for a directory path that does not exists
# ls /etc/oracle/scls_scr/ rhel7It 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).
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.pl -deconfig -force 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 stackOnce the deconfig is complete change the hostname
hostname rhel7s.domain.netRun (as root) the roothas.pl script to configure the HAS again.
# $ORACLE_HOME/perl/bin/perl $ORACLE_HOME/crs/install/roothas.pl 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 ServerAt this stage the services would be in the following states
Resource Name Type Target State Host ------------- ------ ------- -------- ---------- 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 OFFLINEAs grid user, enable the cssd auto start and stop and start the HAS again
$ crsctl modify resource "ora.cssd" -attr "AUTO_START=1" $ 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.Check the states of the services and HAS service
Resource Name Type Target State Host ------------- ------ ------- -------- ---------- 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 onlineGI 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
$ 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 asm $ 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 OFFLINEFinally add the database and start it
$ srvctl add database -d std11g2 -o $ORACLE_HOME -p +DATA/std11g2/spfilestd11g2.ora $ 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 rhel7sThis conclude the changing of hostname in a standalone DB configuration with ASM.
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