In 11g Release 2 Oracle introduced a Grid Infrastructure (GI) which can be also called Oracle Restart if it is implemented for single instance only. If database is based on Oracle ASM there is no other option and GI has to be installed. Since version 11gR2 ASM is not longer part of RDBMS but part of Grid Infrastructure.
I would like to present how to perform reconfiguration of Grid Infrastructure on one server together with change of server name and IP. Of course reconfiguration can be done in case of other problems and I want to show that it isn't very complicated.
Part 1 - Gathering current configuration
Information about current configuration of ASM and LISTENER should be well documented so in case of reconfiguration it can be easily used.
[oracle@piorovm ~]$ srvctl config asm ASM home: /u01/app/11.2.0/grid ASM listener: LISTENER Spfile: +DATA_SOURCE/ASM/ASMPARAMETERFILE/REGISTRY.253.722024685 ASM diskgroup discovery string: /dev/sd* [oracle@piorovm ~]$ srvctl config listener Name: LISTENER Home: /u01/app/11.2.0/grid End points: TCP:1521
In addition all ASM disk group names should be documented. If there is no information about group names this information could be read from ASM disks even when ASM instance is down.
In that example information from header of all disks matching string '/dev/sd*' will be displayed.
[oracle@piorovm ~]$ asmcmd Connected to an idle instance. ASMCMD> lsdsk -I -p /dev/sd* Disk_Num Disk_group Header_Stat Path 0 DATA_SOURCE MEMBER /dev/sdb1 ASMCMD>
Part 2- Grid Control deconfiguration
Current Grid Infrastructure configuration has to be deleted. To achieve it roothas.pl script with proper attributes has to be executed. If Grid Infrastructure was working all resources will be stopped automatically before deletion. This script has to be run as root user.
[root@piorovm install]# cd /u01/app/11.2.0/grid/crs/install [root@piorovm install]# ./roothas.pl -delete -force 2010-06-18 14:40:33: Checking for super user privileges 2010-06-18 14:40:33: User has super user privileges 2010-06-18 14:40:33: Parsing the host name Using configuration parameter file: ./crsconfig_params CRS-4639: Could not contact Oracle High Availability Services CRS-4000: Command Stop failed, or completed with errors. CRS-4639: Could not contact Oracle High Availability Services CRS-4000: Command Delete failed, or completed with errors. CRS-4544: Unable to connect to OHAS CRS-4000: Command Stop failed, or completed with errors. ACFS-9200: Supported 2560+0 records in 2560+0 records out 10485760 bytes (10 MB) copied, 0.077012 seconds, 136 MB/s Successfully deconfigured Oracle Restart stack
Part 3- Host rename and Grid Infrastructure configuration
In that part any required changes to host can be made. If reconfiguration was a result of errors
next new configuration of Grid Infrastructure can be done now.
In this example both IP and host name have been changed.
next new configuration of Grid Infrastructure can be done now.
In this example both IP and host name have been changed.
[oracle@piorovm2 ~]$ cat /etc/hosts # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost ::1 localhost6.localdomain6 localhost6 10.10.30.150 piorovm2.localdomain piorovm2 [oracle@piorovm2 ~]$ hostname piorovm2.localdomain
As a first step of Grid Infrastructure configuration "roothas.pl" script has to be executed.
It will create all local resources and allow future configuration of whole stack. This script has to be run as root user.
[root@piorovm install]# cd /u01/app/11.2.0/grid/crs/install [root@piorovm2 install]# ./roothas.pl -verbose 2010-06-19 13:38:35: Checking for super user privileges 2010-06-19 13:38:35: User has super user privileges 2010-06-19 13:38:35: Parsing the host name Using configuration parameter file: ./crsconfig_params LOCAL ADD MODE Creating OCR keys for user 'oracle', privgrp 'oinstall'.. Operation successful. CRS-4664: Node piorovm2 successfully pinned. Adding daemon to inittab CRS-4123: Oracle High Availability Services has been started. ohasd is starting piorovm2 2010/06/19 13:41:12 /u01/app/11.2.0/grid/cdata/piorovm2/backup_20100619_134112.olr Successfully configured Oracle Grid Infrastructure for a Standalone Server [root@piorovm2 install]#
Next part of GI configuration will be executed from "oracle" account who is a owner of GI home.
First of all current status of all resources will be displayed.
[oracle@piorovm2 ~]$ crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 OFFLINE OFFLINE ora.diskmon 1 OFFLINE OFFLINE [oracle@piorovm2 ~]$
Both resources CSSD and DISKMON are offline and are not automatically started. It has to be changed and auto start mode has to be enabled.
[oracle@piorovm2 ~]$ crsctl modify resource "ora.cssd" -attr "AUTO_START=1" [oracle@piorovm2 ~]$ crsctl modify resource "ora.diskmon" -attr "AUTO_START=1" [oracle@piorovm2 ~]$ crsctl start resource "ora.cssd" CRS-2672: Attempting to start 'ora.cssd' on 'piorovm2' CRS-2672: Attempting to start 'ora.diskmon' on 'piorovm2' CRS-2676: Start of 'ora.diskmon' on 'piorovm2' succeeded CRS-2676: Start of 'ora.cssd' on 'piorovm2' succeeded [oracle@piorovm2 ~]$ crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE piorovm2 ora.diskmon 1 ONLINE ONLINE piorovm2 [oracle@piorovm2 ~]$
In that step both cluster resources (in single node configuration both resources are not really cluster one) are started and other GI resources like Oracle Listener and Oracle ASM instance can be added.
In this example host name has been changed and appropriate changes has to be done for Oracle Listener configuration. After changes configuration file should look like this.
[oracle@piorovm2 ~]$ cat /u01/app/11.2.0/grid/network/admin/listener.ora # listener.ora Network Configuration File: /u01/app/11.2.0/grid/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = piorovm2.localdomain)(PORT = 1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle
Listener and Oracle ASM has to be added to Grid Infrastructure and can be managed by it
Listener name LISTENER has been taken from information gathered in first part.
[oracle@piorovm2 ~]$ srvctl add listener -l LISTENER [oracle@piorovm2 ~]$ srvctl start listener [oracle@piorovm2 ~]$ crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.LISTENER.lsnr ONLINE ONLINE piorovm2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE piorovm2 ora.diskmon 1 ONLINE ONLINE piorovm2
When Listener is up and running Oracle ASM instance can be added to GI.
Listener name, disk string path and path and name of ASM parameter file has been taken from part 1.
[oracle@piorovm2 ~]$ srvctl add asm -l LISTENER -d "/dev/sd*" -p "+DATA_SOURCE/ASM/ASMPARAMETERFILE/REGISTRY.253.722024685" [oracle@piorovm2 ~]$ srvctl start asm [oracle@piorovm2 ~]$ crsctl status resource -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA_SOURCE.dg ONLINE ONLINE piorovm2 ora.LISTENER.lsnr ONLINE ONLINE piorovm2 ora.asm ONLINE ONLINE piorovm2 Started -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.cssd 1 ONLINE ONLINE piorovm2 ora.diskmon 1 ONLINE ONLINE piorovm2 [oracle@piorovm2 ~]$
When both - Listener and Oracle ASM instance has been successfully added Grid Infrastructure configuration has been completed.
Oracle Grid Infrastructure and all management commands related in previous version for Oracle RAC only are now required for single instance environment with ASM and in my opinion this is a new direction of Oracle software. All differences between Oracle RAC and single instance will be minimized from maintenance and configuration point of view.
regards,
Marcin