Pages

Showing posts with label 11g R2 RAC. Show all posts
Showing posts with label 11g R2 RAC. Show all posts

Tuesday, 24 July 2012

11g R2 RAC : PROBLEMS DISCOVERED AND SOLUTIONS



                11G R2 RAC PROBLEMS AND SOLUTIONS

I discovered some issues while working with 11g R2 RAC. I would like to share them with u all.

- During c/w installation, If kernel parameters are not set to
  appropriate values and runfixup.sh is run, kernel.sem parameter
  is set for running machine only. It's value is reset on next
  reboot and will have to be set manually to

  kernel.sem = 250 32000  100 128

-------------------------------------------------------------

- Whenver there is any problemwith ASM, it could be due to
  following reasons

 - parameter kernel.sem not set to appropriate value
 - Inappropriate permissions on /u01/app/11.2.0/grid/bin/oracle
 - Inappropriate permissions on /u01/app/oracle/product/11.2.0/dbhome_1/bin


------------------------------------------------------
  - parameter kernel.sem not set to appropriate value
-------------------------------------------------------

  soln:

  - add following line to /etc/sysctl.conf

    kernel.sem = 250 32000  100 128

  - #sysctl -p

-------------------------------------------------------
 - Inappropriate permissions on /u01/app/11.2.0/grid/bin/oracle
-------------------------------------------------------

- Check  that Permission on file /u01/app/11.2.0/grid/bin/oracle
  shd be

# ls -lr /u01/app/11.2.0/grid/bin/oracle

-rwsr-s--x 1 grid oinstall 152462728 Apr  4 08:45 oracle

  soln:

  - if permissions are not appropriate, change them

    #chmod 6751 /u01/app/11.2.0/grid/bin/oracle

     chown grid:oinstall /u01/app/11.2.0/grid/bin/oracle

-------------------------------------------------------
 - Inappropriate permissions on /u01/app/oracle/product/11.2.0/dbhome_1/bin
-------------------------------------------------------

- Check  that Permission on file
  /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle   shd be

#ls -lr oracle

-r-sr-s--x 1 oracle asmadmin 173515905 Apr 10 23:29 oracle

  soln:

  - if permissions are not appropriate, change them

    #chmod 6751  /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle

     chown oracle:asmadmin  /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle


------------------------------------------------------------------------

IF CRS SERVICE IS NOT STARTING ON A NODE AND CRSD.LOG HAS AN ENTRY
LIKE

   hash-id does not match

It implies that OCR info on that node is not compatible with
other nodes. This could be the case when OCR was reconfigured
(add/delete/replace a location) and the affected node was not
online so that it's ocr.loc was not updated.

Soln: Copy /etc/oracle/ocr.loc from a runnning node to the
      affected node and try to restart crs

-------------------------------------------------------------------
RCONFIG

IF WE USE RCONFIG TO ADD AN INSTANCE, ENTRIES ARE NOT AUTOMATICALLY
ADDED TO THE TNSNAMES.ORA ON THE NEWLY ADDED NODE. THEY HAVE TO BE
ADDED MANUALLY.

RCONFIG WILL AUTOMATICALLY ADD REDO THREADS FOR THE ALL THE RUNNING NODES IN THE CLUSTER. FOR EXAMPLE, IF WE HAVE
- A SINGLE INSTANCE DATABASE (NODE1)
- 5 NODES IN THE CLUSTER AND
- 3 RUNNING NODES (NODE1, NODE2, NODE3)

IF WE USE RCONFIG TO ADD ANOTHER INSTANCE ON ONE OF THE REMAINING RUNNING NODES (NODE2), IT WILL AUTOMATICALLY ADD 2 SETS OF REDO THREADS, ONE FOR NODE2 AND ANOTHER FOR NODE3.

--------------------------------------------------------------------

IF A NODE IS DELETED USING ROOTCRS.PL etc. procedure (steps 3,4 and 7)
GRID HOME IS NOT DELETED FROM THE DELETED NODE.

TO ADD BACK SUCH NODE,

  - RUN ADDNODE.SH WITH NOCOPY OPTION

    It will update the inventories on all existing nodes and
    instantiates scripts on local node

    #cd grid_home/oui/bin

     addNode.sh -silent -noCopy ORACLE_HOME=$ORACLE_HOME "CLUSTER_NEW_NODES={host03}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={host03-vip}"


   - RUN ROOT.SH

     In case it is not available in grid home, copy root.sh
     from any of the existing nodes

     #cd /u01/app/11.2.0/grid

      ./root.sh

---------------------------------------------------------------------------------------------

WHEN AN INSTANCE IS ADDED TO A RAC DATABASE USING DBCA, TNSNAMES.ORA
ON NEWLY ADDED INSTANCE IS NOT UPDATED.

Soln: Copy entry for the database from tnsnames.ora from existing node to the newly added node.

---------------------------------------------------------------------------------------------
 Problem:

After adding a node to the cluster, sometimes the node is visible to the cluster i.e. it appears when
crsctl stat res -t is issued but it is not listed in DBCA. The reason is that its information is not updated
in the inventory of existing nodes. 

Solution:

Add the entry of the newly added node in the inventory of the existing nodes for database home.

$cd /u01/app/oraInventory/ContentsXML
  vi inventory.xml
i.e.

<HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/dbhome_1" TYPE="O" IDX="2">
   <NODE_LIST>
      <NODE NAME="host01"/>
      <NODE NAME="host02"/>
      <NODE NAME="host03"/>

--------------------------------------------------------------------------------------------------------

If a serverpool is created using srvctl e.g. test and we want to see its status, we can see it using srvctl or crsctl.
If we query using srvctl status serverpool -g test, it will display its status
If we query using crsctl status serverpool test, it will not recognize test serverpool but
if we query using crsctk status serverpool ora.test, it displays the status.

Hence, the name of the serverpool created using srvctl should be prefixed by ora. for crsctl to recognize it. 

Another issue related to the same problem is that DBCA recognizes only the pools prefixed with ora. Hence if we want to create a policy managed database ,
  - create the corresponding serverpool using srvctl
   - if we create serverpool using crsctl and prefix  the name with .ora.   i.e crsctl create serverpool ora.test , DBCA will recognize the pool but the database created using this pool will be listed as ADMIN MANAGED when its configuration is checked using srvctl although it runs in the sreverpool.

   Hence we should use srvctl to create a serverpool if we want a database to run in that pool.

-------------------------------------------------------------------------------------------------------------

In case of an admin managed database , names of the instances have the format db1, db2 etc.
In case of an policy managed database , names of the instances have the format db_1, db_2 etc.
/etc/oratab should have entries for all the instances so that we can invoke EM.
To invoke EM:
$export ORACLE_UNQNAME=db
 -- check which is instance is running on current node
#srvctl status database -d db
-- set ORACLE_SID to the instance running on current node
#export ORACLE_SID=db_n
$emctl start dbconsole


------------------------------------------------------------------------------------------------------

 Related links :

HOME

11.2 RAC GOODIES AND SERVERPOOLS
11G R2 RAC PROBLEMS AND SOLUTIONS
CLONE DATABASE HOME IN 11GR2 RAC
NIC BONDING IN 11G R2 RAC
PREREQUISITE TO CONFIGURE GNS AND GPNP IN 11G R2 RAC
SERVICES CONFUSIONS CLEARED
SETUP 10G RAC ON YOUR LAPTOP
SETUP AND PLAY WITH 11G R2 RAC AT YOUR HOME PC
http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20ADD%20INSTANCE%20MANUALLY

11g R2 RAC - LOCAL ARCHIVE WITH NFS
  http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20LOCAL%20ARCHIVE%20WITH%20NFS
 
 11g R2 RAC : CACHE FUSION DEMONSTRATED
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20CACHE%20FUSION%20DEMONSTRATED


11G R2 RAC : DYNAMIC REMASTERING DEMONSTRATED

11gR2 RAC : USE RCONFIG TO CONVERT NON RAC DATABASE TO RAC DATABASE
http://koenigocm.blogspot.in/search/label/11gR2%20RAC%20%3A%20USE%20RCONFIG%20TO%20CONVERT%20NON%20RAC%20DATABASE%20TO%20%20RAC%20DATABASE

11g R2 RAC : RECOVER VOTING DISK - A SCENARIO
http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20RECOVER%20VOTING%20DISK%20-%20A%20SCENARIO


11g R2 RAC : TRACING SERVICES IN A RAC DATABASE
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20TRACING%20SERVICES%20%20IN%20A%20RAC%20DATABASE

11G R2 RAC: INSTANCE RECOVERY
 http://koenigocm.blogspot.in/search/label/11G%20R2%20RAC%3A%20INSTANCE%20RECOVERY

11g R2 RAC: MANAGING THIRD PARTY APPLICATIONS USING APPLICATION VIP
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%3A%20MANAGING%20THIRD%20PARTY%20APPLICATIONS%20USING%20APPLICATION%20VIP

Friday, 1 June 2012

11.2 RAC GOODIES AND SERVERPOOLS

Oracle RAC is designed to cater for Oracle specific applications and also non-oracle applications. These applications, both Oracle and non-Oracle, when deployed on RAC, are termed as resources and Oracle RAC can manage both kinds of resources on the clusterware stack. Examples of both oracle and non-oracle resources are: database instance, database services, xclock, Apache etc.

The traditional way to manage these resources was manually. The DBA was supposed to decide on which instance (or instances) these resources would run and would set them up accordingly. An example of this can be taken when you are configuring a service which has to be present on some nodes as Preferred and on another node(s) as Available. Although this kind of management works well, it’s not something that can scale for a cluster which has got a large number of nodes in it. Think about sitting and managing the instances over a 200 nodes cluster, it wouldn’t be very exciting would it?

Enter Server Pools

Grid computing is a concept within Oracle database which has been there since 10g. The basic meaning of grid computing is to divide the hard coupling of the availability of a resource over the machines thus letting the resources be available on a ‘wherever and whenever’ kind of basis. This means that there shouldn’t be a restriction on a said resource which must be present on a specific machine itself or can only be accessed from a specific machine. The very same concept is enhanced in 11.2 RAC with the introduction of Server Pools.

Server Pools allow the same functionality of logically dividing the cluster into small segments that can be used for varying workloads. But unlike the traditional mechanism available up to 11.1, which only allows this task by choosing the instances to run on nodes as Preferred & Available and running services using the same architecture, server pools offer a much larger list of attributes which help in the management of resources in a rather simple and transparent way. In server pools, the underlying hosts of the cluster are added (and removed) from the pools much more on-the-fly, and take the burden off the DBA’s shoulders for this task. With just a few parameters to take care of, the whole stack becomes much easier to govern and administer, while still being completely transparent yet powerful to manage all the types of different resources in the RAC clusterware environment, especially  when the number of the nodes go beyond two digits.

The built-in pools, Free and Generic

In 11.2, with the installation of the cluster, two pools get created by default-Free & Generic.

Generic Pool

When you upgrade your existing version of the clusterware to 11.2, all the nodes get mapped to the in-built Generic pool. This is an internally managed server pool and the modification of the attributes of this pool is not allowed. Besides the addition of the nodes of the previous cluster, in 11.2, when you create a database which is Admin-managed, that also becomes a part of the Generic Pool as a child pool of it.

Free Pool

This is another pool which gets created by default with the installation of the 11.2 clusterware. If it’s going to be a fresh installation of the clusterware environment, all the nodes would be attached to this pool first of all. From this pool only, the nodes would move to the manually created server pools. As like the Generic pool, this is also an internally managed pool but still some attributes are available to be modified by the dba like IMPORTANCE.

Child Pools

Server pools can have the child pools under them as well. The child pools are going to have their own properties. The order in which the host allocated to them is going to be based on the IMPORTANCE parameter assigned to them. To understand the child pools, we can imagine a parent pool named as OLTP which represents the working of OLTP database. This parent pool now can have two further child pools, HR (human resource) and AP (account payable) . Now, we can have different attributes set up for the child pools depending on the importance that we want to give to each domain of the work. The hosts assigned are mutually exclusive within the parent pools. For the child pools, whether the same is possible for the child pools or not, would be based on the fact that what’s the value of the attribute EXCLUSIVE_POOL for them. If there is a string value assigned to this parameter and this is shared by two child pools, host assigned to one child pool can’t be shared by its other sibling.

How the hosts are added to the server pools

The allocation of the hosts is going to be happening in the following order:

    Generic Pool
    Explicitly created pool
    Free Pool

Oracle would keep on adding the hosts to the server pools as long as they have not been equal to the values of the MIN_SIZE and MAX_SIZE on the basis of the IMPORTANCE that’s assigned to the server pools. The hosts are going to be added exclusively to the pools i.e. the hosts added to one server pool won’t be shared with the other pools. The hosts can be shared by the child pools provided that there is no value set for the parameter EXCLUSIVE_POOLS which would restrict the host sharing within the child pools as well.

Database management changes in 11.2 -to use server pools

To incorporate the usage of server pools, there is a change introduced in the database itself. From 11.2 onwards, there would be two types of databases available, Admin Managed and Policy Managed. Choosing either one would make you use the server pools though it would vary whether those server pools would be explicitly created by you or would be the default one available already.

Admin managed database

This is sort of the same as the traditional database type i.e. where a DBA is responsible to manage the allocation of the resources and instances explicitly on the available instances, and also the instances on the respective nodes. This database type would assign the instances to a child pool of the default pool available Generic pool. Having the Generic pool as the parent, no modification of the child pools of the Admin managed database’s instances would be allowed for the DBA to be done by their self. Depending on the number of nodes being chosen initially for the database, the instances would be started on each one of them. By default, with a fresh installation of 11.2 RAC, all the nodes would get added to the Generic pool and in the upgrade, all the nodes of the previous version would also be added to the Generic pool. Although this type seems to be much simpler and like the older versions and techniques of managing the instances, this can’t be used when the number of nodes pass a number which is difficult to manage by a DBA, for example 100. In that case, the next type of the 11.2 database would be helpful-Policy Managed database.

Policy Managed Database

This type of database administration is meant to make DBAs’ life simpler by not letting them worry about managing each of their instances on each node individually, but to use a server pool to manage the instances. By using server pools, the administrative tasks to manage the database becomes much simpler.

-----------------------------------------------------------------------------------------------------------

Related links:


11G R2 RAC PROBLEMS AND SOLUTIONS

CLONE DATABASE HOME IN 11GR2 RAC

NIC BONDING IN 11G R2 RAC

PREREQUISITE TO CONFIGURE GNS AND GPNP IN 11G R2 RAC

SERVICES CONFUSIONS CLEARED

SETUP 10G RAC ON YOUR LAPTOP

SETUP AND PLAY WITH 11G R2 RAC AT YOUR HOME PC

11g R2 RAC - ADD INSTANCE MANUALLY
http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20ADD%

11g R2 RAC - LOCAL ARCHIVE WITH NFS
  http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20LOCAL%20ARCHIVE%20WITH%20NFS

  11g R2 RAC : CACHE FUSION DEMONSTRATED
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20CACHE%20FUSION%20DEMONSTRATED


11G R2 RAC : DYNAMIC REMASTERING DEMONSTRATED

11gR2 RAC : USE RCONFIG TO CONVERT NON RAC DATABASE TO RAC DATABASE
http://koenigocm.blogspot.in/search/label/11gR2%20RAC%20%3A%20USE%20RCONFIG%20TO%20CONVERT%20NON%20RAC%20DATABASE%20TO%20%20RAC%20DATABASE

11g R2 RAC : RECOVER VOTING DISK - A SCENARIO
http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20RECOVER%20VOTING%20DISK%20-%20A%20SCENARIO


11g R2 RAC : TRACING SERVICES IN A RAC DATABASE
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20TRACING%20SERVICES%20%20IN%20A%20RAC%20DATABASE

11G R2 RAC: INSTANCE RECOVERY
 http://koenigocm.blogspot.in/search/label/11G%20R2%20RAC%3A%20INSTANCE%20RECOVERY

11g R2 RAC: MANAGING THIRD PARTY APPLICATIONS USING APPLICATION VIP
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%3A%20MANAGING%20THIRD%20PARTY%20APPLICATIONS%20USING%20APPLICATION%20VIP

Tuesday, 10 January 2012

SERVICES CONFUSIONS CLEARED


ORACLE SERVICES

Well i was buzzed on my email by one of my close client, and he asks what is actually a service in RAC, so i decided to post on this. Well now lets get to the point, to manage workloads efficiently we define services to a particular application or to a subset of an application's operations. You can also group work by type under services. For example, online users can be a service while batch processing can be another and reporting can be yet another service type.

When you define a service, you specify which instances support that service. These are known as the PREFERRED instances. You can also define other instances to support a service if the service's preferred instance fails. These are known as AVAILABLE instances.

When you specify PREFERRED instances, you are specifying the number of instances on which a service will normally run. The Oracle Clusterware attempts to ensure that the service always runs on the number of nodes for which you have configured the service. Afterwards, due to either instance failure or planned service relocations, a service may be running on an AVAILABLE instance.

Services are integrated with Resource Manager which enables you to restrict the resources that are used by a service within an instance. The Resource Manager enables you to map a consumer group to a service so that users who connect with the service are members of the specified consumer group. Also, the Automatic Workload Repository (AWR) enables you to monitor performance by service.

Oracle Net Services provides connection load balancing to enable you to spread user connections across all of the instances that are supporting a service. For each service, you can define the method that you want the listener to use for load balancing by setting the connection load balancing goal, CLB_GOAL. You can also specify a single TAF policy for all users of a service by defining the FAILOVER_METHOD, FAILOVER_TYPE, and so on. Oracle RAC uses FAN to notify applications about configuration changes and the current service level that is provided by each instance where the service is enabled.

Oracle Net Services provides the ability to balance client connections across the instances in an Oracle RAC configuration. There are two types of load balancing that you can implement: client-side and server-side load balancing. Client-side load balancing balances the connection requests across the Listeners. With server-side load balancing, the Listener directs a connection request to the best instance currently providing the service by using the load balancing advisory.

In an Oracle RAC database, client connections should use both types of connection load balancing.

FAN, FCF, and the load balancing advisory depend on an accurate connection load balancing configuration that includes setting the connection load balancing goal for the service. You can use a goal of either long or short for connection load balancing. These goals have the following characteristics:

Long := Use the LONG connection load balancing method for applications that have long-lived connections. This is typical for connection pools and SQL*Forms sessions. Long is the default connection load balancing goal. The following is an example of modifying a service, POSTMAN, with the PL/SQL DBMS_SERVICE package and the CLB_GOAL_LONG package constant to define the connection load balancing goal for long-lived sessions:

EXECUTE DBMS_SERVICE.MODIFY_SERVICE (service_name => 'POSTMAN', clb_goal => DBMS_SERVICE.CLB_GOAL_LONG);

Short := Use the SHORT connection load balancing method for applications that have short-lived connections. The following example modifies the service known as ORDER, using the DBMS_SERVICE.CLB_GOAL_SHORT package constant to set the goal to short:

EXECUTE DBMS_SERVICE.MODIFY_SERVICE (service_name => 'ORDER', CLB_GOAL => DBMS_SERVICE.CLB_GOAL_SHORT);



To make things simple let me explain you what actually FAN is :=

FAN (FAST APPLICATION NOTIFICATION) := It is nothing but a notification mechanism which RAC uses to quickly alert applications about configuration and workload service level changes.

On the other hand LBA (Load balancing advisory) := For LBA the concept is simple, it makes recommendations to applications about where to direct application requests to obtain the best service based on the policy that you have defined for that service.

Finally FCF (Fast Connection Failover) is the ability of oracle clients to provide a rapid failover of connections by subscribing to FAN events.

One last thing but not the least := There are 2 types of service level goals := 1) Service Time 2) Throughput

Service Time attempts to direct work requests to instances according to response time. Because LBA stats are based on elapsed time for work done in the service plus available bandwidth to the service.

Throughput attempts to direct work requests according to throughput. LBA stats are based on the rate that work is completed in the service plus available bandwidth to the service

In this post im not gonna deal more about RAC concepts as the question was only for a service. But i shall be posting more on RAC in this blog as i love RAC infact every DBA loves RAC.

-----------------------------------------------------------------------------------------------------------

Related links:
11.2 RAC GOODIES AND SERVERPOOLS

11G R2 RAC PROBLEMS AND SOLUTIONS

CLONE DATABASE HOME IN 11GR2 RAC

NIC BONDING IN 11G R2 RAC

PREREQUISITE TO CONFIGURE GNS AND GPNP IN 11G R2 RAC
  
SETUP 10G RAC ON YOUR LAPTOP

SETUP AND PLAY WITH 11G R2 RAC AT YOUR HOME PC

11g R2 RAC - ADD INSTANCE MANUALLY


11gR2 RAC : USE RCONFIG TO CONVERT NON RAC DATABASE TO RAC DATABASE
http://koenigocm.blogspot.in/search/label/11gR2%20RAC%20%3A%20USE%20RCONFIG%20TO%20CONVERT%20NON%20RAC%20DATABASE%20TO%20%20RAC%20DATABASE

11g R2 RAC : TRACING SERVICES IN A RAC DATABASE
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20TRACING%20SERVICES%20%20IN%20A%20RAC%20DATABASE

11G R2 RAC: INSTANCE RECOVERY
 http://koenigocm.blogspot.in/search/label/11G%20R2%20RAC%3A%20INSTANCE%20RECOVERY

11g R2 RAC: MANAGING THIRD PARTY APPLICATIONS USING APPLICATION VIP
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%3A%20MANAGING%20THIRD%20PARTY%20APPLICATIONS%20USING%20APPLICATION%20VIP









Tuesday, 3 January 2012

SETUP AND PLAY WITH 11G R2 RAC AT YOUR HOME PC

Before to follow below steps to setup 2-node 11g cluster ensure that DNS is up and running and you have already resolve scan name into three multiple IPs(recommended by oracle).



2- NODE 11g RAC SETUP WITH OPENFILER

PART-A  Open-filer Set-up



ü  Install openfiler on a machine (Leave 100GB free space on the hdd)

ü  Login to root user

ü  Start iSCSI target service

*      # service iscsi-target start

*      # chkconfig –level 345 iscsi-target on

PART –B Configuring Storage on openfiler



ü  From any client machine open the browser and access openfiler console (https://hostname:446) use openfiler as username and password is itself “password”

ü  Open system tab and update the local N/W configuration for both nodes with netmask (255.255.255.255).

ü  Create a single primary partition with partition type as “Physical Volume”.

ü  Create a volume group.

ü  Now create a single volume over the volume group which will be mapped to cluster nodes.

ü  Edit the property of each volume and change access to allow.



PART –C N/W Configuration on Linux Nodes

ü  Assign the ips

ü  Edit the /etc/hosts on both nodes as given below if you are not using DNS Server



Oracle RAC Node 1- (node1)
Device
IP Address
Subnet
Gateway
Purpose
Eth0
192.9.201.183
255.255.255.0
192.9.201.1
Connect node to the public network
Eth1
10.0.0.1
255.255.255.0

Connect node1 (interconnect) to node2
/etc/hosts
127.0.0.1                             localhost.localdomain                        localhost

#Public network – (eth0)
192.9.201.183                     node1.oracle.com                               node1
 192.9.201.187                    node2,oracle.com                               node2

#Private Interconnect – (eth1)
 10.0.0.1                              node1-priv.oracle.com                       node1-priv
 10.0.0.2                              node2-priv.oracle.com                       node2-priv

#Public Virtual IP (VIP Addresses) – (eth0:1)
 192.9.201.184                    node1-vip.oracle.com                         node1-vip
 192.9.201.187                    node2-vip.oracle.com                         node2-vip

#Private Storage network for openfiler
 192.9.201.182                   openfiler.oracle.com                            openfiler











Oracle RAC Node 2- (node2)

Device

IP Address

Subnet

Gateway

Purpose

Eth0

192.9.201.187

255.255.255.0

192.9.201.1

Connect node to the public network

Eth1

10.0.0.2

255.255.255.0



Connect node1 (interconnect) to node2

/etc/hosts

127.0.0.1                             localhost.localdomain                        localhost

#Public network – (eth0)
192.9.201.183                     node1.oracle.com                               node1
 192.9.201.187                    node2,oracle.com                               node2

#Private Interconnect – (eth1)
 10.0.0.1                              node1-priv.oracle.com                       node1-priv
 10.0.0.2                              node2-priv.oracle.com                       node2-priv

#Public Virtual IP (VIP Addresses) – (eth0:1)
 192.9.201.184                    node1-vip.oracle.com                         node1-vip
 192.9.201.187                    node2-vip.oracle.com                         node2-vip

#Private Storage network for openfiler
 192.9.201.182                   openfiler.oracle.com                            openfiler








Note:- Node wise perform ping operation

For node1:-

ping node2.oracle.com

ping node2

ping node2-priv.oracle.com

ping node2.priv

ping openfiler.oracle.com

ping openfiler



For node2:-

ping node1.oracle.com

ping node1

ping node1-priv.oracle.com

ping node1.priv

ping openfiler.oracle.com

ping openfiler



PART – D Node Configuration



ü  Set Kernel Parameters (/etc/sysctl.conf)


fs.aio-max-nr = 1048576
 fs.file-max = 6815744
 kernel.shmall = 2097152
 kernel.shmmax = 536870912
 kernel.shmmni = 4096
 kernel.sem = 250 32000 100 128
 net.ipv4.ip_local_port_range = 9000 65500
 net.core.rmem_default = 262144
 net.core.rmem_max = 4194304
 net.core.wmem_default = 262144
 net.core.wmem_max = 1048586


ü  Configure /etc/security/limits.conf file



*           soft    nproc   2047

            *           hard   nproc   16384

            *           soft    nofile   1024

            *           hard   nofile   65536



ü  Configure /etc/pam.d/login file



      session   required     /lib/security/pam_limits.so



ü  Create user and groups on both nodes



# groupadd oinstall

      # groupadd dba

      # groupadd oper

      #groupadd asmadmin

      #groupadd asmdba

      #groupadd asmoper

      # useradd –g oinstall –G asmadmin,asmdba,asmoper grid

      #useradd –g oinstall –G dba,oper,asmdba

      #passwd grid

      # passwd oracle



ü  Create required directories and set the ownership and permission.



# mkdir –p /u01/app/grid

#chown –R grid:oinstall /u01/app/

#chmod –R 775 /u01/app/grid

#mkdir –p /u01/app/oracle

#chown –R oracle:oinstall /u01/app/oracle/



ü  Dump all the required software



ü  Configure ssh



ü  Run cluster verifier



ü  Create partition and install & configure ASM LIBRARY

 
 
 
Configire SSH for both users Grid & Oracle
 
SSH configuration for Oracle user
 
On node1:- $ssh-keygen –t rsa
                          $ssh-keygen –t dsa
 
On node2:- $ssh-keygen –t rsa
                          $ssh-keygen –t dsa
 
On node1:- $cd .ssh
                          $cat *.pub>>node1
 
On node2:- $cd .ssh
                          $cat *.pub>>node2
 
On node1:- $scp node1 node2:/home/oracle/.ssh
On node2:- $scp node2 node2:/home/oracle/.ssh
 
On node1:- $cat node*>>authowized_keys
On node2:- $cat node*>>authowized_keys
 
SSH configuration for grid user
 
On node1:- $ssh-keygen –t rsa
                          $ssh-keygen –t dsa
 
On node2:- $ssh-keygen –t rsa
                          $ssh-keygen –t dsa
 
On node1:- $cd .ssh
                          $cat *.pub>>node1
 
On node2:- $cd .ssh
                          $cat *.pub>>node2
 
On node1:- $scp node1 node2:/home/grid/.ssh
On node2:- $scp node2 node2:/home/grid/.ssh
 
On node1:- $cat node*>>authowized_keys
On node2:- $cat node*>>authowized_keys
 
 
Now test the ssh configuration
$ vi a.sh
 
Ssh node1 hostname
Ssh node2 hostname
Ssh node1-priv hostname
Ssh node2-priv hostname
 
$chmod +x a.sh
$./a.sh
 
Execute above script from both nodes from both user grid and oracle to generate keys.
 
To run cluster verifier
 
PART –F iSCSI Volume configuration on nodes
 
Now on both nodes
1)      Open the /etc/iscsid/iscsid.conf
               ……………
               ins.address=Openfiler hostname
       
2)      start ths iscsi service
         #service iscsi restart
         #chkconfig –level 345 iscsi on
         #iscsiadm –m discovery –t sendtargets –p 192.9.201.182
         #service iscsi restart
 
3)      Now prepare a plan for creating partitions. Examples are given below
 

 
SL NO
 
Partition name

ASM disk name

For What?

Approx Size
 
1
/dev/sdb5

ASMDISK01
DATA(DISKGROUP)

2g

 
2
 /dev/sdb6
ASMDISK02
DATA(DISKGROUP)


2g

 
3
/dev/sdb7
ASMDISK03
DATA(DISKGROUP)

2g


4
/dev/sdb8
ASMDISK04
DATA1(DISKGROUP)

8g


5
/dev/sdb9
ASMDISK05
DATA1(DISKGROUP)

8g


6
/dev/sdb10
ASMDISK06
DATA1(DISKGROUP)

8g


7
/dev/sdb11
ASMDISK07
DATA1(DISKGROUP)


8g


8


9
/dev/sdb12


/dev/sdb13
ASMDISK08


ASMDISK09
FRA(DISKGROUP)


FRA(DISKGROUP)
8g


8g








5. Now you need to create 9 partitions as per above table. Create first three partitions with the size of 2gb and rest six partition with the size of 8gb. First allocate entire space as extended partition and then create logical partition within extended.



#fdisk /dev/sdb

……

:e (extended)

Part No. 1

First Cylinder: <Enter>

Last Cylinder: <Enter>

:p

:n

:l

First Cylinder: <Enter>

Last Cylinder: +2048M

…………………

……………………

…………………………..



6. Note the /dev/sdb* names.

7. #partprobe

8. Login as root user on node2 and run partprobe



On node1 login as root user and Install ASM LIBRARY



#rpm –Uvh –nodeps /software/asmlibrhel54/oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm

# rpm –Uvh –nodeps /software/asmlibrhel54/oracleasm-2.6.18-164.el5PAE-2.0.5-1.el5.i686.rpm

# rpm –Uvh –nodeps /software/asmlibrhel54/oracleasmlib-2.0.4-1.el5.i386.rpm

# rpm –Uvh –nodeps /software/asmlibrhel54/oracleasm-support-2.1.3-1.el5.i386.rpm

#oracleasm configure –i

(use grid user as owner and asmadmin as group)

#oracleasm exit

#oracleasm init



Perform above steps on both the nodes.



Now Create ASM Disks from Node1



#oracleasm createdisk ASMDISK01 /dev/sdb5

#oracleasm createdisk ASMDISK02 /dev/sdb6

#oracleasm createdisk ASMDISK03 /dev/sdb7

#oracleasm createdisk ASMDISK04 /dev/sdb8

#oracleasm createdisk ASMDISK05 /dev/sdb9

#oracleasm createdisk ASMDISK06 /dev/sdb10

#oracleasm createdisk ASMDISK07 /dev/sdb11

#oracleasm createdisk ASMDISK08 /dev/sdb12

#oracleasm createdisk ASMDISK09 /dev/sdb13







Execute these commands from both the nodes to scan the ASM Disks

#oracleasm scandisks

#oracleasm listdisks







PART – E Grid Infra Installation

As grid user Install Grid Infra Software

$ cd /software/grid

$./runInstaller





PART – G RDBMS Installation

Install 11g R2 database software
------------------------------------------------------------------------------------------------------------
Related links:


HOME

11.2 RAC GOODIES AND SERVERPOOLS




11G R2 RAC PROBLEMS AND SOLUTIONS




CLONE DATABASE HOME IN 11GR2 RAC




NIC BONDING IN 11G R2 RAC



PREREQUISITE TO CONFIGURE GNS AND GPNP IN 11G R2 RAC

SERVICES CONFUSIONS CLEARED

SETUP 10G RAC ON YOUR LAPTOP

11g R2 RAC - ADD INSTANCE MANUALLY
http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20ADD%

11g R2 RAC - LOCAL ARCHIVE WITH NFS
  http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20-%20LOCAL%20ARCHIVE%20WITH%20NFS
 
 11g R2 RAC : CACHE FUSION DEMONSTRATED
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20CACHE%20FUSION%20DEMONSTRATED


11G R2 RAC : DYNAMIC REMASTERING DEMONSTRATED

11gR2 RAC : USE RCONFIG TO CONVERT NON RAC DATABASE TO RAC DATABASE
http://koenigocm.blogspot.in/search/label/11gR2%20RAC%20%3A%20USE%20RCONFIG%20TO%20CONVERT%20NON%20RAC%20DATABASE%20TO%20%20RAC%20DATABASE

  11g R2 RAC : RECOVER VOTING DISK - A SCENARIO
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20RECOVER%20VOTING%20DISK%20-%20A%20SCENARIO

11g R2 RAC: MANAGING THIRD PARTY APPLICATIONS USING APPLICATION VIP
 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%3A%20MANAGING%20THIRD%20PARTY%20APPLICATIONS%20USING%20APPLICATION%20VIP


11g R2 RAC : TRACING SERVICES IN A RAC DATABASE

 http://koenigocm.blogspot.in/search/label/11g%20R2%20RAC%20%3A%20TRACING%20SERVICES%20%20IN%20A%20RAC%20DATABASE

11G R2 RAC: INSTANCE RECOVERY
 http://koenigocm.blogspot.in/search/label/11G%20R2%20RAC%3A%20INSTANCE%20RECOVERY