Installation of SAP on RAC with Oracle ASM
I am writing this blog , as i faced issue on installing SAP system on oracle RAC with ASM.
When i raised a message with SAP , SAP told me to install SAP on oracle and then migrate it to RAC with ASM.
So i want to add few points to make it easier for others. There are few importants points which we need to remember.
1. SWPM will give you four options to install SAP
i. Single Instance on Filesystem
ii. Single Instance on Oracle ASM
iii. RAC on Filesystem
iv. RAC on oracle ASM
2.Database RAC Parameter
3. We need to know about the scan listener name and port which it is using. By default it uses a port 1521.
4. Listener Configuration for each RAC Node.
I have to install the SAP on RAC with oracle ASM , in a distributed environment, so i installed the SCS first , which got completed successfully.
After this ,i started the installation with Database instance installation.
What option should we select in SWPM for RAC?
SWPM will give you four options for Database installation scenario.
i. Single Instance on Filesystem (normal)
ii. Single Instance on Oracle ASM(oracle is on ASM without RAC )
iii. RAC on Filesystem (RAC nodes without ASM )
iv. RAC on oracle ASM(RAC node will exists with ASM)
I have selected option RAC on oracle ASM as we are having RAC with ASM environment.
Database RAC Parameter
In the below diagram , where you need to provide the RAC Parameters
i. Database Name : You need to enter the Database name(DBSID) as per your requirement for example i have given DBSID as RAD.
ii. Number of instances : You need to specify the number of instances to be created which in turn depends on the number of RAC Node.
Suppose , we are having three RAC node RACN1 , RACN2 , RACN3 and i have mentioned DBSID as RAD.
Since we are using three RAC node so Number of Instances we need to mentioned 3 and it will create three instances of DB and assigned them to each RAC node.
RAD1 RAD2 RAD3
iii. Length of Instance Number : i. One character
ii. Three character.
if we select the one character option , then DBSID(in our case which is RAD) followed by one character digit for each instance on RAC node.
RAD<N> RAD<N+1> RAD<N+2> Where N stands for Length for Instance Number
Since we have selected the option one character so here value of N will start from 1.
RAD1 RAD2 RAD3 where N=1
So it will be same for three character option where N starts from 001 and so the naming convention for the instances will be
RAD001 RAD002 RAD003 where N=001
What we need to know about the SCAN Listener?
SWPM asked for scan listener name only but we need to input port number as well , which it didn’t asked for?
if you don’t specify the port number , it will give I/O network error and will not able to connect to Database.
When we setup the RAC environment , a Server control utility get installed on each RAC node by default which is used to start ,stop , manage configuration information and also used to add and remove the instances from RAC environment. By the help of Server control utility , we can get the scan listener name and its port number.
When we run below command on the primary RAC node , we will be get the scan listener name.
srvctl config scan
It will give us the scan listener name and ip information(Generally we keep three scan listener)
srvctl config scan_listener
The above command , will let us know which port is configured for the scan listener.
Here we need to enter the correct scan listener name which is configured on RAC environment as it will have it own scan listener.
SCAN stands for Single client Access Name.
Scan Listener* : Enter the scan listener name which will be used by the SAP to connect to Database and if , it is a Dual stack or only Java stack then JDBC string will be created using the scan listener name.
After firing the command ” srvctl config scan” and “srvctl config scan_listener” we will get the scan listener name and its port number
Suppose our scan listener name is scan1 and port number is 1521 (which is default) so in Label
Oracle RAC secure store connect* will be like this
jdbc:oracle:thin:@/scan1:1521/Service_name since the Service_name is the DBSID which is RAD.
So the final string , will be
jdbc:oracle:thin:@/scan1:1521/RAD (Here i have mentioned the port 1521 explicitly)
Listener Configuration for each RAC Node
You need to configure the local listener parameter for each RAC node and remote listener parameter will be scan listener which will be common for each RAC node.
In Spfile<SID>.ora , you need to add local listener for each RAC node with the port number which will be different from scan listener port number.
In Spfile<SID>.ora , you need to remove the parameter *.local_listener and in place of it you need to add three parameter for each RAC node and the corresponding instance. For example , we are having three instance distributed on each RAC node RACN1 , RACN2 , RACN3.
Local Listener parameter will be like this
RAD1.local_listener=’//RACN1:1527′ (for RAC node RACN1 having a instance RAD1)
RAD2.local_listener=’//RACN1:1527′ (for RAC node RACN2 having a instance RAD2)
RAD3.local_listener=’//RACN1:1527′ (for RAC node RACN3 having a instance RAD3)
There will be only remote listener which will have the scan listener name and its port number
*.remote_listener=’//scan1:1521′ (it will be common on all the RAC Node)
Now why we are configuring the local listener on each RAC node with a a different port number.
We are configuring the local listener so that we can take the backup for Database using a BR*TOOLS.
I will be writing a next blog on BRTOOLS in RAC environment.
Please follow the below SAP Notes and While Paper published from SAP
1. Note 581320 – FAQ: Oracle Real Application Cluster (RAC)
2. Note 527843 – Oracle RAC support in the SAP environment
Kindly also check the blogs