Monday, October 15, 2012

11.2.0.1 Grid infrastructure (Non Rolling) upgrade to 11.2.0.3 Grid infrastructure




The steps followed to upgrade 11.2.0.1 grid infrastructure to 11.2.0.3 GI


Current Environment:-

GI home - /grid/11.2 Version 11.2.0.1
New GI home - /grid/11.2.0.3 Version 11.2.0.3

Nodes - gridtest1 & gridtest2


1) Check whether all the prerequsite are met before doing the upgrade, there are two type of upgrade
one is rolling upgrade and other is non rolling upgrade.

Check the Metalink note for the patches to be applied if we are going with rolling upgrade.

Things to Consider Before Upgrading to 11.2.0.2 Grid Infrastructure/ASM [ID 1312225.1]

In this we are proceeding with NON rolling upgrade.


Run the cluvfy from the staging area of 11.2.0.3 software.

$ cd /software/11.2.0.3/grid

$ ./runcluvfy.sh stage -pre crsinst -upgrade -n gridtest1,gridtest2 -src_crshome /grid/11.2 -dest_crshome /grid/11.2.0.3 -dest_version 11.2.0.3.0 -fixup -fixupdir /home/oracle -verbose


Performing pre-checks for cluster services setup

Checking node reachability...

Check: Node reachability from node "gridtest1"
  Destination Node                      Reachable?
  ------------------------------------  ------------------------
  gridtest1                             yes
  gridtest2                             yes
Result: Node reachability check passed from node "gridtest1"


Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed
Result: User equivalence check passed for user "oracle"

Checking CRS user consistency
Result: CRS user consistency check successful

Checking node connectivity...

Checking hosts config file...
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed

Verification of the hosts config file successful


Interface information for node "gridtest2"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   192.168.0.31    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:6B:A6:76 1500
 eth0   192.168.0.36    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:6B:A6:76 1500
 eth1   10.10.10.31     10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:6B:A6:80 1500


Interface information for node "gridtest1"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   192.168.0.30    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth0   192.168.0.38    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth0   192.168.0.35    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth1   10.10.10.30     10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:B0:4B:99 1500


Check: Node connectivity for interface "eth0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest2[192.168.0.31]         gridtest2[192.168.0.36]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.30]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.38]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.35]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.30]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.38]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.35]         yes
  gridtest1[192.168.0.30]         gridtest1[192.168.0.38]         yes
  gridtest1[192.168.0.30]         gridtest1[192.168.0.35]         yes
  gridtest1[192.168.0.38]         gridtest1[192.168.0.35]         yes
Result: Node connectivity passed for interface "eth0"


Check: TCP connectivity of subnet "192.168.0.0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest1:192.168.0.30          gridtest2:192.168.0.31          passed
  gridtest1:192.168.0.30          gridtest2:192.168.0.36          passed
  gridtest1:192.168.0.30          gridtest1:192.168.0.38          passed
  gridtest1:192.168.0.30          gridtest1:192.168.0.35          passed
Result: TCP connectivity check passed for subnet "192.168.0.0"


Check: Node connectivity for interface "eth1"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest2[10.10.10.31]          gridtest1[10.10.10.30]          yes
Result: Node connectivity passed for interface "eth1"


Check: TCP connectivity of subnet "10.10.10.0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest1:10.10.10.30           gridtest2:10.10.10.31           passed
Result: TCP connectivity check passed for subnet "10.10.10.0"

Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.0.0".
Subnet mask consistency check passed for subnet "10.10.10.0".
Subnet mask consistency check passed.

Result: Node connectivity check passed

Checking multicast communication...

Checking subnet "192.168.0.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.0.0" for multicast communication with multicast group "230.0.1.0" passed.

Checking subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0" passed.

Check of multicast communication passed.

Checking OCR integrity...

OCR integrity check passed

Checking ASMLib configuration.
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed
Result: Check for ASMLib configuration passed.

Check: Total memory
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     1.5932GB (1670600.0KB)    1.5GB (1572864.0KB)       passed
  gridtest1     1.5932GB (1670600.0KB)    1.5GB (1572864.0KB)       passed
Result: Total memory check passed

Check: Available memory
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     431.457MB (441812.0KB)    50MB (51200.0KB)          passed
  gridtest1     380.0625MB (389184.0KB)   50MB (51200.0KB)          passed
Result: Available memory check passed

Check: Swap space
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     3.1867GB (3341512.0KB)    2.3898GB (2505900.0KB)    passed
  gridtest1     3.1867GB (3341512.0KB)    2.3898GB (2505900.0KB)    passed
Result: Swap space check passed

Check: Free disk space for "gridtest2:/grid/11.2.0.3,gridtest2:/tmp"
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /grid/11.2.0.3    gridtest2     /             12.3008GB     7.5GB         passed
  /tmp              gridtest2     /             12.3008GB     7.5GB         passed
Result: Free disk space check passed for "gridtest2:/grid/11.2.0.3,gridtest2:/tmp"

Check: Free disk space for "gridtest1:/grid/11.2.0.3,gridtest1:/tmp"
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /grid/11.2.0.3    gridtest1     /             12.137GB      7.5GB         passed
  /tmp              gridtest1     /             12.137GB      7.5GB         passed
Result: Free disk space check passed for "gridtest1:/grid/11.2.0.3,gridtest1:/tmp"

Check: User existence for "oracle"
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    exists(501)
  gridtest1     passed                    exists(501)

Checking for multiple users with UID value 501
Result: Check for multiple users with UID value 501 passed
Result: User existence check passed for "oracle"

Check: Group existence for "oinstall"
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    exists
  gridtest1     passed                    exists
Result: Group existence check passed for "oinstall"

Check: Membership of user "oracle" in group "oinstall" [as Primary]
  Node Name         User Exists   Group Exists  User in Group  Primary       Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         yes           yes           yes           yes           passed
  gridtest1         yes           yes           yes           yes           passed
Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed

Check: Run level
  Node Name     run level                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     5                         3,5                       passed
  gridtest1     5                         3,5                       passed
Result: Run level check passed

Check: Hard limits for "maximum open file descriptors"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         hard          65536         65536         passed
  gridtest1         hard          65536         65536         passed
Result: Hard limits check passed for "maximum open file descriptors"

Check: Soft limits for "maximum open file descriptors"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         soft          1024          1024          passed
  gridtest1         soft          1024          1024          passed
Result: Soft limits check passed for "maximum open file descriptors"

Check: Hard limits for "maximum user processes"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         hard          16384         16384         passed
  gridtest1         hard          16384         16384         passed
Result: Hard limits check passed for "maximum user processes"

Check: Soft limits for "maximum user processes"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         soft          2047          2047          passed
  gridtest1         soft          2047          2047          passed
Result: Soft limits check passed for "maximum user processes"

Checking for Oracle patch "9413827" in home "/grid/11.2".
  Node Name     Applied                   Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  gridtest2     missing                   9413827                   failed
  gridtest1     missing                   9413827                   failed
Result: Check for Oracle patch "9413827" in home "/grid/11.2" failed

There are no oracle patches required for home "/grid/11.2.0.3".

Check: System architecture
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     x86_64                    x86_64                    passed
  gridtest1     x86_64                    x86_64                    passed
Result: System architecture check passed

Check: Kernel version
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     2.6.18-194.el5            2.6.18                    passed
  gridtest1     2.6.18-194.el5            2.6.18                    passed
Result: Kernel version check passed

Check: Kernel parameter for "semmsl"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         250           250           250           passed
  gridtest1         250           250           250           passed
Result: Kernel parameter check passed for "semmsl"

Check: Kernel parameter for "semmns"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         32000         32000         32000         passed
  gridtest1         32000         32000         32000         passed
Result: Kernel parameter check passed for "semmns"

Check: Kernel parameter for "semopm"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         100           100           100           passed
  gridtest1         100           100           100           passed
Result: Kernel parameter check passed for "semopm"

Check: Kernel parameter for "semmni"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         128           128           128           passed
  gridtest1         128           128           128           passed
Result: Kernel parameter check passed for "semmni"

Check: Kernel parameter for "shmmax"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4294967295    4294967295    855347200     passed
  gridtest1         4294967295    4294967295    855347200     passed
Result: Kernel parameter check passed for "shmmax"

Check: Kernel parameter for "shmmni"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4096          unknown       4096          failed        Configured value too low.
  gridtest1         4096          unknown       4096          failed        Configured value too low.
Result: Kernel parameter check failed for "shmmni"

Check: Kernel parameter for "shmall"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4294967296    4294967296    2097152       passed
  gridtest1         4294967296    4294967296    2097152       passed
Result: Kernel parameter check passed for "shmall"

Check: Kernel parameter for "file-max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         6815744       6815744       6815744       passed
  gridtest1         6815744       6815744       6815744       passed
Result: Kernel parameter check passed for "file-max"

Check: Kernel parameter for "ip_local_port_range"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  passed
  gridtest1         between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  passed
Result: Kernel parameter check passed for "ip_local_port_range"

Check: Kernel parameter for "rmem_default"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         262144        262144        262144        passed
  gridtest1         262144        262144        262144        passed
Result: Kernel parameter check passed for "rmem_default"

Check: Kernel parameter for "rmem_max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4194304       4194304       4194304       passed
  gridtest1         4194304       4194304       4194304       passed
Result: Kernel parameter check passed for "rmem_max"

Check: Kernel parameter for "wmem_default"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         262144        262144        262144        passed
  gridtest1         262144        262144        262144        passed
Result: Kernel parameter check passed for "wmem_default"

Check: Kernel parameter for "wmem_max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         1048586       1048586       1048576       passed
  gridtest1         1048586       1048586       1048576       passed
Result: Kernel parameter check passed for "wmem_max"

Check: Kernel parameter for "aio-max-nr"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         1048576       1048576       1048576       passed
  gridtest1         1048576       1048576       1048576       passed
Result: Kernel parameter check passed for "aio-max-nr"

Check: Package existence for "make"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     make-3.81-3.el5           make-3.81                 passed
  gridtest1     make-3.81-3.el5           make-3.81                 passed
Result: Package existence check passed for "make"

Check: Package existence for "binutils"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6      passed
  gridtest1     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6      passed
Result: Package existence check passed for "binutils"

Check: Package existence for "gcc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     gcc(x86_64)-4.1.2-48.el5  gcc(x86_64)-4.1.2         passed
  gridtest1     gcc(x86_64)-4.1.2-48.el5  gcc(x86_64)-4.1.2         passed
Result: Package existence check passed for "gcc(x86_64)"

Check: Package existence for "libaio(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libaio(x86_64)-0.3.106-5  libaio(x86_64)-0.3.106    passed
  gridtest1     libaio(x86_64)-0.3.106-5  libaio(x86_64)-0.3.106    passed
Result: Package existence check passed for "libaio(x86_64)"

Check: Package existence for "glibc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc(x86_64)-2.5-49      glibc(x86_64)-2.5-24      passed
  gridtest1     glibc(x86_64)-2.5-49      glibc(x86_64)-2.5-24      passed
Result: Package existence check passed for "glibc(x86_64)"

Check: Package existence for "compat-libstdc++-33(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     compat-libstdc++-33(x86_64)-3.2.3-61  compat-libstdc++-33(x86_64)-3.2.3  passed
  gridtest1     compat-libstdc++-33(x86_64)-3.2.3-61  compat-libstdc++-33(x86_64)-3.2.3  passed
Result: Package existence check passed for "compat-libstdc++-33(x86_64)"

Check: Package existence for "elfutils-libelf(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     elfutils-libelf(x86_64)-0.137-3.el5  elfutils-libelf(x86_64)-0.125  passed
  gridtest1     elfutils-libelf(x86_64)-0.137-3.el5  elfutils-libelf(x86_64)-0.125  passed
Result: Package existence check passed for "elfutils-libelf(x86_64)"

Check: Package existence for "elfutils-libelf-devel"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     elfutils-libelf-devel-0.125-3.el5  elfutils-libelf-devel-0.125  passed
  gridtest1     elfutils-libelf-devel-0.125-3.el5  elfutils-libelf-devel-0.125  passed
Result: Package existence check passed for "elfutils-libelf-devel"

Check: Package existence for "glibc-common"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-common-2.5-49       glibc-common-2.5          passed
  gridtest1     glibc-common-2.5-49       glibc-common-2.5          passed
Result: Package existence check passed for "glibc-common"

Check: Package existence for "glibc-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-devel(x86_64)-2.5-49  glibc-devel(x86_64)-2.5   passed
  gridtest1     glibc-devel(x86_64)-2.5-49  glibc-devel(x86_64)-2.5   passed
Result: Package existence check passed for "glibc-devel(x86_64)"

Check: Package existence for "glibc-headers"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-headers-2.5-49      glibc-headers-2.5         passed
  gridtest1     glibc-headers-2.5-49      glibc-headers-2.5         passed
Result: Package existence check passed for "glibc-headers"

Check: Package existence for "gcc-c++(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     gcc-c++(x86_64)-4.1.2-48.el5  gcc-c++(x86_64)-4.1.2     passed
  gridtest1     gcc-c++(x86_64)-4.1.2-48.el5  gcc-c++(x86_64)-4.1.2     passed
Result: Package existence check passed for "gcc-c++(x86_64)"

Check: Package existence for "libaio-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libaio-devel(x86_64)-0.3.106-3.2  libaio-devel(x86_64)-0.3.106  passed
  gridtest1     libaio-devel(x86_64)-0.3.106-3.2  libaio-devel(x86_64)-0.3.106  passed
Result: Package existence check passed for "libaio-devel(x86_64)"

Check: Package existence for "libgcc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libgcc(x86_64)-4.1.2-48.el5  libgcc(x86_64)-4.1.2      passed
  gridtest1     libgcc(x86_64)-4.1.2-48.el5  libgcc(x86_64)-4.1.2      passed
Result: Package existence check passed for "libgcc(x86_64)"

Check: Package existence for "libstdc++(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libstdc++(x86_64)-4.1.2-48.el5  libstdc++(x86_64)-4.1.2   passed
  gridtest1     libstdc++(x86_64)-4.1.2-48.el5  libstdc++(x86_64)-4.1.2   passed
Result: Package existence check passed for "libstdc++(x86_64)"

Check: Package existence for "libstdc++-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libstdc++-devel(x86_64)-4.1.2-48.el5  libstdc++-devel(x86_64)-4.1.2  passed
  gridtest1     libstdc++-devel(x86_64)-4.1.2-48.el5  libstdc++-devel(x86_64)-4.1.2  passed
Result: Package existence check passed for "libstdc++-devel(x86_64)"

Check: Package existence for "sysstat"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     sysstat-7.0.2-1.el5       sysstat-7.0.2             passed
  gridtest1     sysstat-7.0.2-1.el5       sysstat-7.0.2             passed

WARNING:
PRVF-7584 : Multiple versions of package "sysstat" found on node gridtest2: sysstat(x86_64)-7.0.2-1.el5,sysstat(i386)-7.0.2-1.el5

WARNING:
PRVF-7584 : Multiple versions of package "sysstat" found on node gridtest1: sysstat(x86_64)-7.0.2-1.el5,sysstat(i386)-7.0.2-1.el5
Result: Package existence check passed for "sysstat"

Check: Package existence for "ksh"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     ksh-20100202-1.el5        ksh-20060214              passed
  gridtest1     ksh-20100202-1.el5        ksh-20060214              passed
Result: Package existence check passed for "ksh"

Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed

Check: Current group ID
Result: Current group ID check passed

Starting check for consistency of primary group of root user
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed

Check for consistency of root user's primary group passed

Starting Clock synchronization checks using Network Time Protocol(NTP)...

NTP Configuration file check started...
The NTP configuration file "/etc/ntp.conf" is available on all nodes
NTP Configuration file check passed

Checking daemon liveness...

Check: Liveness for "ntpd"
  Node Name                             Running?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result: Liveness check passed for "ntpd"
Check for NTP daemon or service alive passed on all nodes

Checking NTP daemon command line for slewing option "-x"
Check: NTP daemon command line
  Node Name                             Slewing Option Set?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result:
NTP daemon slewing option check passed

Checking NTP daemon's boot time configuration, in file "/etc/sysconfig/ntpd", for slewing option "-x"

Check: NTP daemon's boot time configuration
  Node Name                             Slewing Option Set?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result:
NTP daemon's boot time configuration check for slewing option passed

Checking whether NTP daemon or service is using UDP port 123 on all nodes

Check for NTP daemon or service using UDP port 123
  Node Name                             Port Open?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes

NTP common Time Server Check started...
PRVF-5408 : NTP Time Server "124.82.204.2" is common only to the following nodes "gridtest1"
NTP Time Server ".LOCL." is common to all nodes on which the NTP daemon is running
Check of common NTP Time Server passed

Clock time offset check from NTP Time Server started...
Checking on nodes "[gridtest2, gridtest1]"...
Check: Clock time offset from NTP Time Server

Time Server: .LOCL.
Time Offset Limit: 1000.0 msecs
  Node Name     Time Offset               Status
  ------------  ------------------------  ------------------------
  gridtest2     0.0                       passed
  gridtest1     0.0                       passed
Time Server ".LOCL." has time offsets that are within permissible limits for nodes "[gridtest2, gridtest1]".
Clock time offset check passed

Result: Clock synchronization check using Network Time Protocol(NTP) passed

Checking Core file name pattern consistency...
Core file name pattern consistency check passed.

Checking to make sure user "oracle" is not in "root" group
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    does not exist
  gridtest1     passed                    does not exist
Result: User "oracle" is not part of "root" group. Check passed

Check default user file creation mask
  Node Name     Available                 Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  gridtest2     0022                      0022                      passed
  gridtest1     0022                      0022                      passed
Result: Default user file creation mask check passed
Checking consistency of file "/etc/resolv.conf" across nodes

Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
PRVF-5622 : search entry does not exist in file "/etc/resolv.conf" on nodes: "gridtest1"
Checking file "/etc/resolv.conf" to make sure that only one search entry is defined
All nodes have one search entry defined in file "/etc/resolv.conf"
Checking DNS response time for an unreachable node
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             failed
  gridtest1                             passed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: gridtest2

File "/etc/resolv.conf" is not consistent across nodes


UDev attributes check for OCR locations started...
Result: UDev attributes check passed for OCR locations


UDev attributes check for Voting Disk locations started...
Result: UDev attributes check passed for Voting Disk locations

Check: Time zone consistency
Result: Time zone consistency check passed
Checking VIP configuration.
Checking VIP Subnet configuration.
Check for VIP Subnet configuration passed.
Checking VIP reachability
Check for VIP reachability passed.

Checking Oracle Cluster Voting Disk configuration...

ASM Running check passed. ASM is running on all specified nodes

Oracle Cluster Voting Disk configuration check passed

Clusterware version consistency passed
Fixup information has been generated for following node(s):
gridtest1,gridtest2
Please run the following script on each node as "root" user to execute the fixups:
'/tmp/CVU_11.2.0.3.0_oracle/runfixup.sh'

Pre-check for cluster services setup was unsuccessful on all the nodes.





2) The pre-check has been failed with the below errors.

a)

Check: Kernel parameter for "shmmni"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4096          unknown       4096          failed        Configured value too low.
  gridtest1         4096          unknown       4096          failed        Configured value too low.


b) Checking for Oracle patch "9413827" in home "/grid/11.2".
  Node Name     Applied                   Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  gridtest2     missing                   9413827                   failed
  gridtest1     missing                   9413827                   failed
Result: Check for Oracle patch "9413827" in home "/grid/11.2" failed

c) Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
PRVF-5622 : search entry does not exist in file "/etc/resolv.conf" on nodes: "gridtest1"
Checking file "/etc/resolv.conf" to make sure that only one search entry is defined
All nodes have one search entry defined in file "/etc/resolv.conf"
Checking DNS response time for an unreachable node
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             failed
  gridtest1                             passed
PRVF-5636 : The DNS response time for an unreachable node exceeded "15000" ms on following nodes: gridtest2

File "/etc/resolv.conf" is not consistent across nodes


3) Fix all the above said errors.

1) Checked and updated the kernel.shmmni correctly.
2) Apply the patch 9413827 in grid home /grid/11.2
3) Check the consistency of /etc/resolve.conf file.

4) Run the cluvfy utility again to check still you face any errors.

       [oracle@gridtest1 grid]$ ./runcluvfy.sh stage -pre crsinst -upgrade -n gridtest1,gridtest2 -src_crshome /grid/11.2 -dest_crshome /grid/11.2.0.3 -dest_version 11.2.0.3.0 -fixup -fixupdir /home/oracle -verbose

Performing pre-checks for cluster services setup

Checking node reachability...

Check: Node reachability from node "gridtest1"
  Destination Node                      Reachable?
  ------------------------------------  ------------------------
  gridtest1                             yes
  gridtest2                             yes
Result: Node reachability check passed from node "gridtest1"


Checking user equivalence...

Check: User equivalence for user "oracle"
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed
Result: User equivalence check passed for user "oracle"

Checking CRS user consistency
Result: CRS user consistency check successful

Checking node connectivity...

Checking hosts config file...
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed

Verification of the hosts config file successful


Interface information for node "gridtest2"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   192.168.0.31    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:6B:A6:76 1500
 eth0   192.168.0.36    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:6B:A6:76 1500
 eth1   10.10.10.31     10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:6B:A6:80 1500


Interface information for node "gridtest1"
 Name   IP Address      Subnet          Gateway         Def. Gateway    HW Address        MTU
 ------ --------------- --------------- --------------- --------------- ----------------- ------
 eth0   192.168.0.30    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth0   192.168.0.35    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth0   192.168.0.38    192.168.0.0     0.0.0.0         192.168.0.1     00:0C:29:B0:4B:8F 1500
 eth1   10.10.10.30     10.10.10.0      0.0.0.0         192.168.0.1     00:0C:29:B0:4B:99 1500


Check: Node connectivity for interface "eth0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest2[192.168.0.31]         gridtest2[192.168.0.36]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.30]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.35]         yes
  gridtest2[192.168.0.31]         gridtest1[192.168.0.38]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.30]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.35]         yes
  gridtest2[192.168.0.36]         gridtest1[192.168.0.38]         yes
  gridtest1[192.168.0.30]         gridtest1[192.168.0.35]         yes
  gridtest1[192.168.0.30]         gridtest1[192.168.0.38]         yes
  gridtest1[192.168.0.35]         gridtest1[192.168.0.38]         yes
Result: Node connectivity passed for interface "eth0"


Check: TCP connectivity of subnet "192.168.0.0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest1:192.168.0.30          gridtest2:192.168.0.31          passed
  gridtest1:192.168.0.30          gridtest2:192.168.0.36          passed
  gridtest1:192.168.0.30          gridtest1:192.168.0.35          passed
  gridtest1:192.168.0.30          gridtest1:192.168.0.38          passed
Result: TCP connectivity check passed for subnet "192.168.0.0"


Check: Node connectivity for interface "eth1"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest2[10.10.10.31]          gridtest1[10.10.10.30]          yes
Result: Node connectivity passed for interface "eth1"


Check: TCP connectivity of subnet "10.10.10.0"
  Source                          Destination                     Connected?
  ------------------------------  ------------------------------  ----------------
  gridtest1:10.10.10.30           gridtest2:10.10.10.31           passed
Result: TCP connectivity check passed for subnet "10.10.10.0"

Checking subnet mask consistency...
Subnet mask consistency check passed for subnet "192.168.0.0".
Subnet mask consistency check passed for subnet "10.10.10.0".
Subnet mask consistency check passed.

Result: Node connectivity check passed

Checking multicast communication...

Checking subnet "192.168.0.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "192.168.0.0" for multicast communication with multicast group "230.0.1.0" passed.

Checking subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0"...
Check of subnet "10.10.10.0" for multicast communication with multicast group "230.0.1.0" passed.

Check of multicast communication passed.

Checking OCR integrity...

OCR integrity check passed

Checking ASMLib configuration.
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed
Result: Check for ASMLib configuration passed.

Check: Total memory
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     1.5932GB (1670600.0KB)    1.5GB (1572864.0KB)       passed
  gridtest1     1.5932GB (1670600.0KB)    1.5GB (1572864.0KB)       passed
Result: Total memory check passed

Check: Available memory
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     703.5742MB (720460.0KB)   50MB (51200.0KB)          passed
  gridtest1     640.5391MB (655912.0KB)   50MB (51200.0KB)          passed
Result: Available memory check passed

Check: Swap space
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     3.1867GB (3341512.0KB)    2.3898GB (2505900.0KB)    passed
  gridtest1     3.1867GB (3341512.0KB)    2.3898GB (2505900.0KB)    passed
Result: Swap space check passed

Check: Free disk space for "gridtest2:/grid/11.2.0.3,gridtest2:/tmp"
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /grid/11.2.0.3    gridtest2     /             10.4902GB     7.5GB         passed
  /tmp              gridtest2     /             10.4902GB     7.5GB         passed
Result: Free disk space check passed for "gridtest2:/grid/11.2.0.3,gridtest2:/tmp"

Check: Free disk space for "gridtest1:/grid/11.2.0.3,gridtest1:/tmp"
  Path              Node Name     Mount point   Available     Required      Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  /grid/11.2.0.3    gridtest1     /             8.4503GB      7.5GB         passed
  /tmp              gridtest1     /             8.4503GB      7.5GB         passed
Result: Free disk space check passed for "gridtest1:/grid/11.2.0.3,gridtest1:/tmp"

Check: User existence for "oracle"
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    exists(501)
  gridtest1     passed                    exists(501)

Checking for multiple users with UID value 501
Result: Check for multiple users with UID value 501 passed
Result: User existence check passed for "oracle"

Check: Group existence for "oinstall"
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    exists
  gridtest1     passed                    exists
Result: Group existence check passed for "oinstall"

Check: Membership of user "oracle" in group "oinstall" [as Primary]
  Node Name         User Exists   Group Exists  User in Group  Primary       Status
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         yes           yes           yes           yes           passed
  gridtest1         yes           yes           yes           yes           passed
Result: Membership check for user "oracle" in group "oinstall" [as Primary] passed

Check: Run level
  Node Name     run level                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     5                         3,5                       passed
  gridtest1     5                         3,5                       passed
Result: Run level check passed

Check: Hard limits for "maximum open file descriptors"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         hard          65536         65536         passed
  gridtest1         hard          65536         65536         passed
Result: Hard limits check passed for "maximum open file descriptors"

Check: Soft limits for "maximum open file descriptors"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         soft          1024          1024          passed
  gridtest1         soft          1024          1024          passed
Result: Soft limits check passed for "maximum open file descriptors"

Check: Hard limits for "maximum user processes"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         hard          16384         16384         passed
  gridtest1         hard          16384         16384         passed
Result: Hard limits check passed for "maximum user processes"

Check: Soft limits for "maximum user processes"
  Node Name         Type          Available     Required      Status
  ----------------  ------------  ------------  ------------  ----------------
  gridtest2         soft          2047          2047          passed
  gridtest1         soft          2047          2047          passed
Result: Soft limits check passed for "maximum user processes"

Checking for Oracle patch "9413827" in home "/grid/11.2".
  Node Name     Applied                   Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  gridtest2     9413827                   9413827                   passed
  gridtest1     9413827                   9413827                   passed
Result: Check for Oracle patch "9413827" in home "/grid/11.2" passed

There are no oracle patches required for home "/grid/11.2.0.3".

Check: System architecture
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     x86_64                    x86_64                    passed
  gridtest1     x86_64                    x86_64                    passed
Result: System architecture check passed

Check: Kernel version
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     2.6.18-194.el5            2.6.18                    passed
  gridtest1     2.6.18-194.el5            2.6.18                    passed
Result: Kernel version check passed

Check: Kernel parameter for "semmsl"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         250           250           250           passed
  gridtest1         250           250           250           passed
Result: Kernel parameter check passed for "semmsl"

Check: Kernel parameter for "semmns"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         32000         32000         32000         passed
  gridtest1         32000         32000         32000         passed
Result: Kernel parameter check passed for "semmns"

Check: Kernel parameter for "semopm"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         100           100           100           passed
  gridtest1         100           100           100           passed
Result: Kernel parameter check passed for "semopm"

Check: Kernel parameter for "semmni"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         128           128           128           passed
  gridtest1         128           128           128           passed
Result: Kernel parameter check passed for "semmni"

Check: Kernel parameter for "shmmax"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4294967295    4294967295    855347200     passed
  gridtest1         4294967295    4294967295    855347200     passed
Result: Kernel parameter check passed for "shmmax"

Check: Kernel parameter for "shmmni"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4096          4096          4096          passed
  gridtest1         4096          4096          4096          passed
Result: Kernel parameter check passed for "shmmni"

Check: Kernel parameter for "shmall"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4294967296    4294967296    2097152       passed
  gridtest1         4294967296    4294967296    2097152       passed
Result: Kernel parameter check passed for "shmall"

Check: Kernel parameter for "file-max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         6815744       6815744       6815744       passed
  gridtest1         6815744       6815744       6815744       passed
Result: Kernel parameter check passed for "file-max"

Check: Kernel parameter for "ip_local_port_range"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  passed
  gridtest1         between 9000.0 & 65500.0  between 9000.0 & 65500.0  between 9000.0 & 65500.0  passed
Result: Kernel parameter check passed for "ip_local_port_range"

Check: Kernel parameter for "rmem_default"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         262144        262144        262144        passed
  gridtest1         262144        262144        262144        passed
Result: Kernel parameter check passed for "rmem_default"

Check: Kernel parameter for "rmem_max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         4194304       4194304       4194304       passed
  gridtest1         4194304       4194304       4194304       passed
Result: Kernel parameter check passed for "rmem_max"

Check: Kernel parameter for "wmem_default"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         262144        262144        262144        passed
  gridtest1         262144        262144        262144        passed
Result: Kernel parameter check passed for "wmem_default"

Check: Kernel parameter for "wmem_max"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         1048586       1048586       1048576       passed
  gridtest1         1048586       1048586       1048576       passed
Result: Kernel parameter check passed for "wmem_max"

Check: Kernel parameter for "aio-max-nr"
  Node Name         Current       Configured    Required      Status        Comment
  ----------------  ------------  ------------  ------------  ------------  ------------
  gridtest2         1048576       1048576       1048576       passed
  gridtest1         1048576       1048576       1048576       passed
Result: Kernel parameter check passed for "aio-max-nr"

Check: Package existence for "make"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     make-3.81-3.el5           make-3.81                 passed
  gridtest1     make-3.81-3.el5           make-3.81                 passed
Result: Package existence check passed for "make"

Check: Package existence for "binutils"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6      passed
  gridtest1     binutils-2.17.50.0.6-14.el5  binutils-2.17.50.0.6      passed
Result: Package existence check passed for "binutils"

Check: Package existence for "gcc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     gcc(x86_64)-4.1.2-48.el5  gcc(x86_64)-4.1.2         passed
  gridtest1     gcc(x86_64)-4.1.2-48.el5  gcc(x86_64)-4.1.2         passed
Result: Package existence check passed for "gcc(x86_64)"

Check: Package existence for "libaio(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libaio(x86_64)-0.3.106-5  libaio(x86_64)-0.3.106    passed
  gridtest1     libaio(x86_64)-0.3.106-5  libaio(x86_64)-0.3.106    passed
Result: Package existence check passed for "libaio(x86_64)"

Check: Package existence for "glibc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc(x86_64)-2.5-49      glibc(x86_64)-2.5-24      passed
  gridtest1     glibc(x86_64)-2.5-49      glibc(x86_64)-2.5-24      passed
Result: Package existence check passed for "glibc(x86_64)"

Check: Package existence for "compat-libstdc++-33(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     compat-libstdc++-33(x86_64)-3.2.3-61  compat-libstdc++-33(x86_64)-3.2.3  passed
  gridtest1     compat-libstdc++-33(x86_64)-3.2.3-61  compat-libstdc++-33(x86_64)-3.2.3  passed
Result: Package existence check passed for "compat-libstdc++-33(x86_64)"

Check: Package existence for "elfutils-libelf(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     elfutils-libelf(x86_64)-0.137-3.el5  elfutils-libelf(x86_64)-0.125  passed
  gridtest1     elfutils-libelf(x86_64)-0.137-3.el5  elfutils-libelf(x86_64)-0.125  passed
Result: Package existence check passed for "elfutils-libelf(x86_64)"

Check: Package existence for "elfutils-libelf-devel"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     elfutils-libelf-devel-0.125-3.el5  elfutils-libelf-devel-0.125  passed
  gridtest1     elfutils-libelf-devel-0.125-3.el5  elfutils-libelf-devel-0.125  passed
Result: Package existence check passed for "elfutils-libelf-devel"

Check: Package existence for "glibc-common"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-common-2.5-49       glibc-common-2.5          passed
  gridtest1     glibc-common-2.5-49       glibc-common-2.5          passed
Result: Package existence check passed for "glibc-common"

Check: Package existence for "glibc-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-devel(x86_64)-2.5-49  glibc-devel(x86_64)-2.5   passed
  gridtest1     glibc-devel(x86_64)-2.5-49  glibc-devel(x86_64)-2.5   passed
Result: Package existence check passed for "glibc-devel(x86_64)"

Check: Package existence for "glibc-headers"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     glibc-headers-2.5-49      glibc-headers-2.5         passed
  gridtest1     glibc-headers-2.5-49      glibc-headers-2.5         passed
Result: Package existence check passed for "glibc-headers"

Check: Package existence for "gcc-c++(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     gcc-c++(x86_64)-4.1.2-48.el5  gcc-c++(x86_64)-4.1.2     passed
  gridtest1     gcc-c++(x86_64)-4.1.2-48.el5  gcc-c++(x86_64)-4.1.2     passed
Result: Package existence check passed for "gcc-c++(x86_64)"

Check: Package existence for "libaio-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libaio-devel(x86_64)-0.3.106-3.2  libaio-devel(x86_64)-0.3.106  passed
  gridtest1     libaio-devel(x86_64)-0.3.106-3.2  libaio-devel(x86_64)-0.3.106  passed
Result: Package existence check passed for "libaio-devel(x86_64)"

Check: Package existence for "libgcc(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libgcc(x86_64)-4.1.2-48.el5  libgcc(x86_64)-4.1.2      passed
  gridtest1     libgcc(x86_64)-4.1.2-48.el5  libgcc(x86_64)-4.1.2      passed
Result: Package existence check passed for "libgcc(x86_64)"

Check: Package existence for "libstdc++(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libstdc++(x86_64)-4.1.2-48.el5  libstdc++(x86_64)-4.1.2   passed
  gridtest1     libstdc++(x86_64)-4.1.2-48.el5  libstdc++(x86_64)-4.1.2   passed
Result: Package existence check passed for "libstdc++(x86_64)"

Check: Package existence for "libstdc++-devel(x86_64)"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     libstdc++-devel(x86_64)-4.1.2-48.el5  libstdc++-devel(x86_64)-4.1.2  passed
  gridtest1     libstdc++-devel(x86_64)-4.1.2-48.el5  libstdc++-devel(x86_64)-4.1.2  passed
Result: Package existence check passed for "libstdc++-devel(x86_64)"

Check: Package existence for "sysstat"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     sysstat-7.0.2-1.el5       sysstat-7.0.2             passed
  gridtest1     sysstat-7.0.2-1.el5       sysstat-7.0.2             passed

WARNING:
PRVF-7584 : Multiple versions of package "sysstat" found on node gridtest2: sysstat(x86_64)-7.0.2-1.el5,sysstat(i386)-7.0.2-1.el5

WARNING:
PRVF-7584 : Multiple versions of package "sysstat" found on node gridtest1: sysstat(x86_64)-7.0.2-1.el5,sysstat(i386)-7.0.2-1.el5
Result: Package existence check passed for "sysstat"

Check: Package existence for "ksh"
  Node Name     Available                 Required                  Status
  ------------  ------------------------  ------------------------  ----------
  gridtest2     ksh-20100202-1.el5        ksh-20060214              passed
  gridtest1     ksh-20100202-1.el5        ksh-20060214              passed
Result: Package existence check passed for "ksh"

Checking for multiple users with UID value 0
Result: Check for multiple users with UID value 0 passed

Check: Current group ID
Result: Current group ID check passed

Starting check for consistency of primary group of root user
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed

Check for consistency of root user's primary group passed

Starting Clock synchronization checks using Network Time Protocol(NTP)...

NTP Configuration file check started...
The NTP configuration file "/etc/ntp.conf" is available on all nodes
NTP Configuration file check passed

Checking daemon liveness...

Check: Liveness for "ntpd"
  Node Name                             Running?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result: Liveness check passed for "ntpd"
Check for NTP daemon or service alive passed on all nodes

Checking NTP daemon command line for slewing option "-x"
Check: NTP daemon command line
  Node Name                             Slewing Option Set?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result:
NTP daemon slewing option check passed

Checking NTP daemon's boot time configuration, in file "/etc/sysconfig/ntpd", for slewing option "-x"

Check: NTP daemon's boot time configuration
  Node Name                             Slewing Option Set?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes
Result:
NTP daemon's boot time configuration check for slewing option passed

Checking whether NTP daemon or service is using UDP port 123 on all nodes

Check for NTP daemon or service using UDP port 123
  Node Name                             Port Open?
  ------------------------------------  ------------------------
  gridtest2                             yes
  gridtest1                             yes

NTP common Time Server Check started...
PRVF-5408 : NTP Time Server "124.82.204.2" is common only to the following nodes "gridtest1"
NTP Time Server ".LOCL." is common to all nodes on which the NTP daemon is running
Check of common NTP Time Server passed

Clock time offset check from NTP Time Server started...
Checking on nodes "[gridtest2, gridtest1]"...
Check: Clock time offset from NTP Time Server

Time Server: .LOCL.
Time Offset Limit: 1000.0 msecs
  Node Name     Time Offset               Status
  ------------  ------------------------  ------------------------
  gridtest2     0.0                       passed
  gridtest1     0.0                       passed
Time Server ".LOCL." has time offsets that are within permissible limits for nodes "[gridtest2, gridtest1]".
Clock time offset check passed

Result: Clock synchronization check using Network Time Protocol(NTP) passed

Checking Core file name pattern consistency...
Core file name pattern consistency check passed.

Checking to make sure user "oracle" is not in "root" group
  Node Name     Status                    Comment
  ------------  ------------------------  ------------------------
  gridtest2     passed                    does not exist
  gridtest1     passed                    does not exist
Result: User "oracle" is not part of "root" group. Check passed

Check default user file creation mask
  Node Name     Available                 Required                  Comment
  ------------  ------------------------  ------------------------  ----------
  gridtest2     0022                      0022                      passed
  gridtest1     0022                      0022                      passed
Result: Default user file creation mask check passed
Checking consistency of file "/etc/resolv.conf" across nodes

Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined
File "/etc/resolv.conf" does not have both domain and search entries defined
Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...
domain entry in file "/etc/resolv.conf" is consistent across nodes
Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...
search entry in file "/etc/resolv.conf" is consistent across nodes
Checking DNS response time for an unreachable node
  Node Name                             Status
  ------------------------------------  ------------------------
  gridtest2                             passed
  gridtest1                             passed
The DNS response time for an unreachable node is within acceptable limit on all nodes

File "/etc/resolv.conf" is consistent across nodes


UDev attributes check for OCR locations started...
Result: UDev attributes check passed for OCR locations


UDev attributes check for Voting Disk locations started...
Result: UDev attributes check passed for Voting Disk locations

Check: Time zone consistency
Result: Time zone consistency check passed
Checking VIP configuration.
Checking VIP Subnet configuration.
Check for VIP Subnet configuration passed.
Checking VIP reachability
Check for VIP reachability passed.

Checking Oracle Cluster Voting Disk configuration...

ASM Running check passed. ASM is running on all specified nodes

Oracle Cluster Voting Disk configuration check passed

Clusterware version consistency passed

Pre-check for cluster services setup was successful.


5) Now all the pre-check has been passed. Inorder to perform NON rolling upgrade shutdown the crs on
all the nodes.
Node 1

# crsctl stop crs
Node 2
# crsctl stop crs


Now run the ./runInstaller and select the upgrade existing clusterware option and complete the installation.

when prompted run the ./rootupgrade.sh in node 1, once the execution is completed proceed with executing it on the 2nd node.

Node 1:-

[root@gridtest1 bin]# cd /grid/11.2.0.3/
[root@gridtest1 11.2.0.3]# ./rootupgrade.sh
Performing root user operation for Oracle 11g

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /grid/11.2.0.3

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /grid/11.2.0.3/crs/install/crsconfig_params
Creating trace directory

ASM upgrade has initialized on first node.


OLR initialization - successful
Replacing Clusterware entries in inittab
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.

ASM upgrade has started on first node.

Preparing packages for installation...
cvuqdisk-1.0.9-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded


Node 2:-
[root@gridtest2 bin]# cd /grid/11.2.0.3/
[root@gridtest2 11.2.0.3]# ./rootupgrade.sh
Performing root user operation for Oracle 11g

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /grid/11.2.0.3

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The contents of "dbhome" have not changed. No need to overwrite.
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]:

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

Using configuration parameter file: /grid/11.2.0.3/crs/install/crsconfig_params
Creating trace directory
OLR initialization - successful
Replacing Clusterware entries in inittab
clscfg: EXISTING configuration version 5 detected.
clscfg: version 5 is 11g Release 2.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Started to upgrade the Oracle Clusterware. This operation may take a few minutes.
Started to upgrade the CSS.
Started to upgrade the CRS.
The CRS was successfully upgraded.
Oracle Clusterware operating version was successfully set to 11.2.0.3.0

ASM upgrade has finished on last node.

Preparing packages for installation...
cvuqdisk-1.0.9-1
Configure Oracle Grid Infrastructure for a Cluster ... succeeded


6) Now the clusterware upgrade has been completed. Check the resource status

[oracle@gridtest2 oracle]$ crsctl check cluster -all
**************************************************************
gridtest1:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************
gridtest2:
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
**************************************************************

[oracle@gridtest2 oracle]$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.GRID_OCR_VOTING.dg
               ONLINE  ONLINE       gridtest1
               ONLINE  ONLINE       gridtest2
ora.LISTENER.lsnr
               ONLINE  ONLINE       gridtest1
               ONLINE  ONLINE       gridtest2
ora.asm
               ONLINE  ONLINE       gridtest1                Started
               ONLINE  ONLINE       gridtest2                Started
ora.gsd
               OFFLINE OFFLINE      gridtest1
               OFFLINE OFFLINE      gridtest2
ora.net1.network
               ONLINE  ONLINE       gridtest1
               ONLINE  ONLINE       gridtest2
ora.ons
               ONLINE  ONLINE       gridtest1
               ONLINE  ONLINE       gridtest2
ora.registry.acfs
               ONLINE  ONLINE       gridtest1
               ONLINE  ONLINE       gridtest2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       gridtest1
ora.cvu
      1        ONLINE  ONLINE       gridtest2
ora.gridtest1.vip
      1        ONLINE  ONLINE       gridtest1
ora.gridtest2.vip
      1        ONLINE  ONLINE       gridtest2
ora.oc4j
      1        ONLINE  ONLINE       gridtest2
ora.scan1.vip
      1        ONLINE  ONLINE       gridtest1


[oracle@gridtest1 oracle]$ crsctl query crs softwareversion
Oracle Clusterware version on node [gridtest1] is [11.2.0.3.0]

[oracle@gridtest2 oracle]$ crsctl query crs softwareversion
Oracle Clusterware version on node [gridtest2] is [11.2.0.3.0]





Sunday, October 14, 2012

ISCI Discovery in RHEL


ISCSI Discovery in RHEL 4-  32 bit
==================================

1) Download and Install iscsi-initiator-utils-4.0.3.0-4.i386.rpm

2) Open /etc/iscsi.conf file, enter:

# vi /etc/iscsi.conf

Set/Update the below parameters.

DiscoveryAddress=ISCSI_TARGET_HOST_OR_IP
OutgoingUserName=ISCSI_USER_NAME
OutgoingPassword=ISCSI_PASSWORD
LoginTimeout=15

Save and close the iscsi.conf file.

3) Start the iscsi service.

# /etc/init.d/iscsi start

4) Add the chkconif to enable the iscsi start after the boot time.

# chkconfig iscsi on

5) Now the iscsi device can be visible, Pls check any of the below.

# fdisk -l
# tail -f /var/log/messages
# find /sys/devices/platform/host* -name "block*"

6) Format iSCSI device

Use fdisk and mkfs.ext3 commands.
First, create a partition (assuming that /dev/sdc is a new block device assigned to iscsi) :
# fdisk /dev/sdc
# mkfs.ext3 /dev/sdc1

Create /u01 directory:
# mkdir -p /u01

Open /etc/fstab file and append config directive:
/dev/sdc1 /u01 ext3 _netdev 0 0

Save and close the file. Mount the parition /dev/sdc1:
# mount -a
# df -H

ISCSI Discovery in RHEL 5 64 bit
================================

1) Download and install the below package

# rpm -ivh /tmp/iscsi-initiator-utils-6.2.0.871-0.16.el5.x86_64.rpm


2) The iSCSI initiator is composed by two services, iscsi and iscsid,
enable them to start at system startup using chkconfig.

# chkconfig iscsi on
# chkconfig iscsid on
# chkconfig --list | grep iscsi
iscsi           0:off   1:off   2:on    3:on    4:on    5:on    6:off
iscsid          0:off   1:off   2:on    3:on    4:on    5:on    6:off

3) Start the iscsi service.

# service iscsi start
iscsid is stopped
Starting iSCSI daemon:                                     [  OK  ]
                                                           [  OK  ]
Setting up iSCSI targets: iscsiadm: No records found!
                                                           [  OK  ]


4) Check the status of iscsi service

# service iscsi status


5) Add the iscsi iqn discovery address.


# iscsiadm -m discovery -t sendtargets -p 192.168.0.90 192.168.0.90:3260,1 iqn.2003-10.com.openfiler:mlab:62:lv-rhel01


6) Restart the iscsi service to login into the the discovered targets.

# service iscsi restart
Stopping iSCSI daemon:
iscsid dead but pid file exists                            [  OK  ]
Starting iSCSI daemon:                                     [  OK  ]
                                                           [  OK  ]
Setting up iSCSI targets: Logging in to [iface: default, target: iqn.2003-10.com.openfiler:mlab:62:lv-rhel01, portal: 192.168.0.90,3260]
Login to [iface: default, target: iqn.2003-10.com.openfiler:mlab:62:lv-rhel01, portal: 192.168.0.90,3260]: successful
                                                           [  OK  ]
7) Now you can able to see the filesystem.

# fdisk -l

ISCI initiator in solaris 32 bit.
================================

1)  Check the below two packages are exists in the Server. If the packages are not exists then install these packages.

# pkginfo SUNWiscsiu SUNWiscsir
system      SUNWiscsir Sun iSCSI Device Driver (root)
system      SUNWiscsiu Sun iSCSI Management Utilities (usr)

2) Using the below add the discovery address, the default port is 3260.

# iscsiadm add discovery-address 192.168.0.50:3260

3) Check whether the discovery address has been added properly.

# iscsiadm list discovery-address
Discovery Address: 192.168.0.50:3260

4) Enable the send targets of discovery address using the below.

# iscsiadm modify discovery --sendtargets enable

5) Restart the devfsadm Service

# devfsadm

* Create a Iscsi link to the devfsadm service.

# devfsadm -i iscsi

* Now we can able to list the target which we have created in the openfiler.

# iscsiadm list target -S
Target: iqn.2006-01.com.openfiler:tsn.4fb24f2ca19b
        Alias: -
        TPGT: 1
        ISID: 4000002a0000
        Connections: 1
        LUN: 4
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c3t5d0s2
        LUN: 3
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c3t4d0s2
        LUN: 2
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c3t3d0s2
        LUN: 1
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c3t2d0s2
        LUN: 0
             Vendor:  OPNFILER
             Product: VIRTUAL-DISK
             OS Device Name: /dev/rdsk/c3t1d0s2

Friday, July 27, 2012

Golden Gate - Unidirectional Replication Initial Load

Golden Gate:-

A) Setting up Unidirectional replication - Initial Load

Secnario 1)

Replicating between two database on the same host.


Source db - test11
Target db - layatest
HostNam - rhel.manzoor.com


Steps :-
------

a) Go to OTN http://edelivery.oracle.com
b) Select Oracle Fusion Middleware and select the platform accordinfly.
c) Download the latest version of GG software.
d) ftp, winscp the gg software to the linux machine.
e) Create a gg home directory

$ mkdir -p /u01/oracle/product/11.2.0/gg

d) Add the below environment variables in .bash_profile.

$ vi .bash_profile

export ORACLE_GG=/u01/oracle/product/11.2.0/gg
export PATH=$ORACLE_HOME/bin:$ORACLE_GG:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_GG

e) Copy the gg software to gg home and unzip the file and then untar the file


$ tar -xvf fbo_ggs_Linux_x86_ora11g_32bit.tar

f) Connect to golden gate command line interface and create the necessary directories.

[oracle@rhel u01] cd $ORALE_GG
[oracle@rhel gg]$ ggsci

Oracle GoldenGate Command Interpreter for Oracle
Version 11.2.1.0.1 OGGCORE_11.2.1.0.1_PLATFORMS_120423.0230_FBO
Linux, x86, 32bit (optimized), Oracle 11g on Apr 23 2012 08:09:25

Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.

GGSCI (rhel.manzoor.com) 2> CREATE SUBDIRS

Creating subdirectories under current directory /u01/oracle/product/11.2.0/gg

Parameter files /u01/oracle/product/11.2.0/gg/dirprm: created
Report files /u01/oracle/product/11.2.0/gg/dirrpt: created
Checkpoint files /u01/oracle/product/11.2.0/gg/dirchk: created
Process status files /u01/oracle/product/11.2.0/gg/dirpcs: created
SQL script files /u01/oracle/product/11.2.0/gg/dirsql: created
Database definitions files /u01/oracle/product/11.2.0/gg/dirdef: created
Extract data files /u01/oracle/product/11.2.0/gg/dirdat: created
Temporary files /u01/oracle/product/11.2.0/gg/dirtmp: created
Stdout files /u01/oracle/product/11.2.0/gg/dirout: created


GGSCI (rhel.manzoor.com) 3> exit


g) Create a golden gate user which will be used by Manager / Extract / Replicate Process. Create the user and grant the necessary privileges.


DB : Execute the below on both the database (test11 & layatest)

sql> create tablespace gg_tblspc datafile '/orafiles/test11/ggs_tblspc01.dbf' size 100m;

sql> create user ggowner identified by ggowner default tablespace gg_tblspc temporary tablespace temp;

sql> grant create session to ggowner;

sql> grant connect, resource to ggowner;

sql> grant select any dictionary, select any table, insert any table to ggowner;

sql> grant select any table, update any table, delete any table, insert any table to ggowner;

sql> grant flashback any table to ggowner;

sql> grant execute on dbms_flashback to ggowner;

sql> grant execute on utl_file to ggowner;

sql> grant create table to ggowner;

-- Enable the supplemental logging, If supplemental log is not enabled it may cause extract process to handle key update incorrectly if key column is not in first row piece.

sql> alter database add supplemental log data (all) columns;

Database altered

h) Test whether you can able to connect to the db using the above crediantials.


GGSCI (rhel.manzoor.com) 3> dblogin userid ggowner@test11, password ggowner
Successfully logged into database.

GGSCI (rhel.manzoor.com) 4> dblogin userid ggowner@layatest, password ggowner
Successfully logged into database.

i) Configure the Manager process and start it.

Port -
The only mandatory parameter that we need to specify is the PORT which defines the port on the local system where the manager process is running. The default port is 7809 and we can either specify the default port or some other port provided the port is available and not restricted in any way.

AUTOSTART -
Some other recommended optional parameters are AUTOSTART which which automatically
start the Extract and Replicat processes when the Manager starts.

USERID PASSWORD
The USERID and PASSWORD parameter and required if you enable GoldenGate DDL support and this is the Oracle user account that we created for the Manager(and Extract/Replicat).

PURGEOLDEXTRACTS
The Manager process can also clean up trail files from disk when GoldenGate has finished processing them via the PURGEOLDEXTRACTS parameter. Used with the USECHECKPOINTS clause, it will ensure that until all processes have fnished using the data contained in the trail files, they will not be deleted.


GGSCI (rhel.manzoor.com) 5> EDIT PARAMS MGR
PORT 7809
USERID ggowner, PASSWORD ggowner
PURGEOLDEXTRACTS /u01/oracle/product/11.2.0/gg/dirdat/ex, USECHECKPOINTS


- The Manager process can be started using - START MANAGER
and stopped using - STOP MANAGER
and the status can be checked using - INFO MANAGER

Now start the Manager process.

GGSCI (rhel.manzoor.com) 2> START MANAGER

Manager started.


GGSCI (rhel.manzoor.com) 3> INFO MANAGER

Manager is running (IP port rhel.manzoor.com.7809).


## Initial data load.


Here we are going to replicate the manzoor.emp table which is in test11 to manzoor.emp in layatest

On source db we need to create a extract process, the process should be defined with
group name, in this example we use the group name as LDTESTDB


db: test11

SQL> select count(*) from manzoor.emp;

COUNT(*)
----------
100000

db : layatest

SQL> select count(*) from manzoor.emp;

COUNT(*)
----------
0


GGSCI (rhel.manzoor.com) 8> ADD EXTRACT LDTESTDB, SOURCEISTABLE
EXTRACT added.

-- Here the data is present in the table and not in the archive/redo log files, hence
we need to mention SOURCEISTABLE.

Create parameter file for the extract process.

EXTRACT : name of the extract group
USERID/PASSWORD : the database user which has been configured earlier for Extract ( this user is created in the source database)
RMTHOST : This will be the IP address or hostname of the target system
MGRPORT : the port where the Manager process is running
TABLE : specify the table which is being extracted and replicated. This can be specified in a number of ways
using wildcard characters to include or exclude tables as well as entire schemas.


GGSCI (rhel.manzoor.com) 10> EDIT PARAMS LDTESTDB

EXTRACT LDTESTDB
USERID ggowner@test11, PASSWORD ggowner
RMTHOST rhel.manzoor.com, MGRPORT 7809
RMTTASK replicat, GROUP LDLAYADB
TABLE manzoor.emp;


## Now create the replicate proces, the group should be the name which we have speicified in the extract process parameters using RMTTASK , GROUP. which is LDLAYADB

GGSCI (rhel.manzoor.com) 15> ADD REPLICAT LDLAYADB, SPECIALRUN
REPLICAT added.


-- Since it is a special run we need to include the keyword SPECIALRUN.

Create the parameter file for the replicat process.

REPLICAT : name of the Replicat group created for the initial data load
USERID/PASSWORD : database credentials for the Replicat user (this user is created in the target database)

ASSUMETARGETDEFS : this means that the source table structure exactly matches the target database table structure.

MAP : with GoldenGate we can have the target database structure entirely differ from that of the source in terms of table names as well as the column definitions of the tables. This parameter provides us the mapping of the source and target tables which is same in this case


GGSCI (rhel.manzoor.com) 4> EDIT PARAMS LDLAYADB

REPLICAT LDLAYADB
USERID ggowner@layatest, PASSWORD ggowner
ASSUMETARGETDEFS
MAP manzoor.emp, TARGET manzoor.emp;

## Now we can start the extract process for the initial load.


GGSCI (rhel.manzoor.com) 1> START EXTRACT LDTESTDB

Sending START request to MANAGER ...
EXTRACT LDTESTDB starting


## Check the status using the info command.

GGSCI (rhel.manzoor.com) 2> INFO EXTRACT LDTESTDB

EXTRACT LDTESTDB Initialized 2012-07-27 19:35 Status RUNNING
Checkpoint Lag Not Available
Log Read Checkpoint Not Available
First Record Record 0
Task SOURCEISTABLE

## On the info we can see that the status shows as RUNNING.




## For any error we can view the error by viewing the report.

GGSCI (rhel.manzoor.com) 3> VIEW REPORT LDTESTDB


GGSCI (rhel.manzoor.com) 1> INFO EXTRACT LDTESTDB

EXTRACT LDTESTDB Last Started 2012-07-28 09:19 Status STOPPED
Checkpoint Lag Not Available
Log Read Checkpoint Table MANZOOR.EMP
2012-07-28 09:22:18 Record 100000
Task SOURCEISTABLE


## Now the status shows stopped and the record shows 100000, let have a check
on record cound on the target table.

SQL> select count(*) from manzoor.emp;

COUNT(*)
----------
100000


-- Target table has been replicated correctly as per the source.

Saturday, March 17, 2012

Creating a RAC Database manaully

Creating a RAC Database.


DB Name : layatest
Instance 1 : layatest1
Instance 2 : layatest2

ASM Diskgroups - DATA1 and DATA3




1) Create the Required directories in both the nodes


mkdir -p /u01/app/oracle/admin/layatest/adump
mkdir -p /u01/app/oracle/admin/layatest/bdump
mkdir -p /u01/app/oracle/admin/layatest/cdump
mkdir -p /u01/app/oracle/admin/layatest/udump
mkdir -p /u01/app/oracle/admin/layatest/pfile


2) Create a parameter file.



###########################################
log_archive_dest_1='LOCATION=+DATA2/'
log_archive_format=%t_%s_%r.dbf
db_block_size=8192
db_file_multiblock_read_count=16
open_cursors=300
db_name=layatest
background_dump_dest=/u01/app/oracle/admin/layatest/bdump
core_dump_dest=/u01/app/oracle/admin/layatest/cdump
user_dump_dest=/u01/app/oracle/admin/layatest/udump
db_create_file_dest=+DATA1
compatible=10.2.0.3.0
processes=150
sga_target=285212672
audit_file_dest=/u01/app/oracle/admin/layatest/adump
remote_login_passwordfile=exclusive
pga_aggregate_target=94371840
undo_management=AUTO
control_files=("+DATA1","+DATA3")
cluster_database_instances=2
#cluster_database=true
layatest1.instance_number=1
layatest2.instance_number=2
layatest2.thread=2
layatest1.undo_tablespace=UNDOTBS1
layatest1.thread=1


3) Create password file in one node and copy that to all the nodes.



rhelrac1-> cd $ORACLE_HOME/dbs
rhelrac1-> orapwd file=orapwlayatest1 password=admin entries=5
rhelrac1-> scp orapwlayatest1 oracle@rhelrac2:/u01/app/oracle/product/10.2.0/db_1/dbs/orapwlayatest2


4) Create spfile using the pfile and the edit the init ora parameter to point the spfile in both the instance.




rhelrac1-> export ORACLE_SID=+ASM1

rhelrac1-> asmcmd

ASMCMD> lsdg

State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name
MOUNTED EXTERN N N 512 4096 1048576 3858 3760 0 3760 0 DATA1/
MOUNTED NORMAL N N 512 4096 1048576 3765 3483 1255 1114 0 DATA2/
MOUNTED EXTERN N N 512 4096 1048576 3000 2903 0 2903 0 DATA3/
MOUNTED EXTERN N N 512 4096 1048576 3858 3760 0 3760 0 FLASH/
MOUNTED EXTERN N N 512 4096 1048576 1137 1044 0 1044 0 ORADATA/
MOUNTED NORMAL N N 512 4096 1048576 1928 1742 0 871 0 ORANORMAL/

ASMCMD> cd data2
ASMCMD> ls
ASMCMD> mkdir layatest
ASMCMD> cd layatest
ASMCMD> mkdir spfile
ASMCMD> cd spfile
ASMCMD> pwd
+data2/layatest/spfile

Crate the spfile in the above location +DATA2/layatest/spfile

rhelrac1-> export ORACLE_SID=layatest1
rhelrac1-> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 17 14:47:25 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> create spfile='+DATA2/layatest/spfile/spfilelayatest.ora' from pfile='/u01/app/oracle/admin/layatest/pfile/initlayatest.ora';

File created.

SQL> exit

Now edit the pfiles in the oracle home location and point to the spfile. Repeat the same in all the nodes.

rhelrac1-> cd $ORACLE_HOME/dbs
rhelrac1-> vi initlayatest1.ora
spfile=+DATA2/layatest/spfile/spfilelayatest.ora

:wq!


rhelrac2-> cd $ORACLE_HOME/dbs
rhelrac2-> vi initlayatest2.ora
spfile=+DATA2/layatest/spfile/spfilelayatest.ora



4) Startup the instance in node1.


rhelrac1-> export ORACLE_SID=layatest1
rhelrac1-> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 17 14:52:30 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1267068 bytes
Variable Size 92277380 bytes
Database Buffers 188743680 bytes
Redo Buffers 2924544 bytes

SQL> create database layatest
2 datafile '+DATA1' size 500m extent management local
3 sysaux datafile '+DATA1' size 500m
4 default temporary tablespace temp tempfile '+DATA1' size 100m
5 undo tablespace undotbs1 datafile '+DATA1' size 100m
6 logfile
7 group 1 ('+DATA1','+DATA2') size 10m,
8 group 2 ('+DATA1','+DATA2') size 10m
9 /


Database created.


SQL> @?/rdbms/admin/catalog.sql;

PL/SQL procedure successfully completed.

SQL> @?/rdbms/admin/catproc.sql;

PL/SQL procedure successfully completed.

-- Create undo tablespace for the 2nd node.

SQL> create undo tablespace undotbs2 datafile '+DATA1' size 100m;

Tablespace created.

SQL> alter system set undo_tablespace='UNDOTBS2' scope=spfile sid='layatest2';

System altered.

-- Enable the cluster database.

SQL> alter system set cluster_database=true scope=spfile sid='*';

System altered.

--Create online redo log file for the 2nd node.

SQL> alter database add logfile thread 2 group 3 ('+DATA1','+DATA3') size 10m;

Database altered.

SQL> alter database add logfile thread 2 group 4 ('+DATA1','+DATA3') size 10m;

Database altered.

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.



--Startup the database.

SQL> startup
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1267068 bytes
Variable Size 96471684 bytes
Database Buffers 184549376 bytes
Redo Buffers 2924544 bytes
Database mounted.
Database opened.


-- Enable the thread 2

SQL> alter database enable public thread 2;

Database altered.

--Create RAC specific Views.

SQL> @?/rdbms/admin/catclust.sql;

PL/SQL procedure successfully completed.

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.


SQL> exit


-- Register the databse in OCR.

rhelrac1-> srvctl add database -d layatest -o /u01/app/oracle/product/10.2.0/db_1 -p +DATA2/layatest/spfile/spfilelayatest.ora

rhelrac1-> srvctl add instance -d layatest -i layatest1 -n rhelrac1

rhelrac1-> srvctl add instance -d layatest -i layatest2 -n rhelrac2

rhelrac1-> srvctl config database -d layatest

rhelrac1 layatest1 /u01/app/oracle/product/10.2.0/db_1
rhelrac2 layatest2 /u01/app/oracle/product/10.2.0/db_1


rhelrac1-> srvctl start database -d layatest

rhelrac1-> srvctl status database -d layatest

Instance layatest1 is running on node rhelrac1
Instance layatest2 is running on node rhelrac2

--End of Database creation.


--Enable the archive log mode.


SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination +DATA2
Oldest online log sequence 42
Current log sequence 43

--Disable the cluster database.

SQL> alter system set cluster_database = false scope=spfile sid='layatest1';

System altered.

SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> exit

-- Stop the database and mount the database in the node1

rhelrac1-> srvctl stop database -d layatest

-- Mount the database exclusively in node 1

rhelrac1-> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 17 15:32:47 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup mount;
ORACLE instance started.

Total System Global Area 285212672 bytes
Fixed Size 1267068 bytes
Variable Size 96471684 bytes
Database Buffers 184549376 bytes
Redo Buffers 2924544 bytes
Database mounted.

--enable archive log

SQL> alter database archivelog;

Database altered.

--Enable the cluster database.

SQL> alter system set cluster_database = true scope=spfile sid='layatest1';

System altered.

SQL> shut immediate;
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
rhelrac1-> srvctl start database -d layatest
rhelrac1-> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat Mar 17 15:35:01 2012

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination +DATA2
Oldest online log sequence 42
Next log sequence to archive 43
Current log sequence 43
SQL>exit

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

Setting local listeners:-
------------------------


alter system set local_listener = 'listener_layatest1' scope=spfile sid='layatest1';
alter system set local_listener = 'listener_layatest2' scope=spfile sid='layatest2';

srvctl stop database -d layatest


tnsnames.ora on both nodes
--------------------------

layatest1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac1-vip) (PORT = 1532))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest) (INSTANCE_NAME = layatest1))
)

listener_layatest1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac1-vip) (PORT = 1532))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest) (INSTANCE_NAME = layatest1))
)
layatest2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac2-vip) (PORT = 1532))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest) (INSTANCE_NAME = layatest2))
)
listener_layatest2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac2-vip) (PORT = 1532))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest) (INSTANCE_NAME = layatest2))
)
layatest =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac1-vip) (PORT = 1532))
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac2-vip) (PORT = 1532))
(LOAD_BALANCE = yes)
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest) (INSTANCE_NAME = layatest1))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = layatest2 (INSTANCE_NAME = layatest2))
)

Listener.ora in node1
---------------------

lsnrlayatest_rhelrac1 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC) (KEY = extproc_layatest1))
(ADDRESS = (PROTOCOL = TCP)(HOST = rhelrac1-vip)(PORT = 1532) (IP = FIRST))
)
)
ADMIN_RESTRICTIONS_lsnrlayatest_rhelrac1=ON


--------------------------------------------
Start the listener:-

lsnrctl start lsnrlayatest_rhelrac1



Listener.ora in node2
---------------------

lsnrlayatest_rhelrac2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC) (KEY = extproc_layatest2))
(ADDRESS = (PROTOCOL = TCP) (HOST = rhelrac2-vip) (PORT = 1532) (IP = FIRST))
)
)
ADMIN_RESTRICTIONS_lsnrlayatest_rhelrac2=ON

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

Start the Listener

lsnrctl start lsnrlayatest_rhelrac2
-----------------------------------


start the database.
-------------------

srvctl start database -d layatest

Tuesday, March 13, 2012

Oracle support period




1) Support Status of each Oracle Server (RDBMS) Release Note:161818.1


2) Client / Server / Interoperability Support Between Different Oracle Versions [ID 207303.1]


Source - Oracle support

Saturday, January 14, 2012

Oracle Database Product Licensing..

Good article on understanding the oracle database products licensing...written by
Alan Swahn.

Check the below link.

http://blogs.flexerasoftware.com/elo/oracle-software-licensing/

Monday, January 9, 2012

Convert Single Instance DB to RAC DB

Converting single instance DB to RAC DB. a) Login to the single instance server, shutdown the db and take the cold backup using rman. 1) Create a rman script as below $ vi fullbkpofdb.rcv connect target / shutdown immediate; startup mount; run { allocate channel a1 device type disk; allocate channel a2 device type disk; backup database format 'datafiles_%t_%d_%U.bkp' tag='Full_Database'; backup current controlfile format 'ctrlfile_%t_%d_%U.bkp' tag='ctrl_file'; backup spfile format 'spfile_%t_%d_%U.bkp' tag='spfilebkp'; release channel a1; release channel a2; } exit; 2) Run the script. $ rman cmdfile 'fullbkpofdb.rcv' log 'backup.log' 3) Once the backup is completed, copy the backup to the primary node 4) Create the password for the database in both the instance Execute the below in node1 $ orapwd file=$ORACLE_HOME/dbs/orapwmanzy1 password=****** entries=20 Execute the below in node2 $ orapwd file=$ORACLE_HOME/dbs/orapwmanzy2 password=****** entries=20 5) Startup the instance using rman to restore db, rman will create a dummy pfile and starts the instance inorder to restore the spfile. Now restore the spfile. rhelrac1-> export ORACLE_SID=manzy1 rhelrac1-> rman target / Recovery Manager: Release 10.2.0.1.0 - Production on Fri Jan 6 19:19:12 2012 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database (not started) RMAN> startup startup failed: ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initmanzy.ora' starting Oracle instance without parameter file for retrival of spfile Oracle instance started RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of startup command at 01/06/2012 19:19:33 ORA-00205: error in identifying control file, check alert log for more info #### Restore the spfile to an pfile. RMAN> restore spfile to pfile '/u01/initmanzy1.ora' from '/u01/backupofmanzy/spfile_771874551_MANZY_0kn03nnn_1_1.bkp'; Starting restore at 09-JAN-12 using channel ORA_DISK_1 channel ORA_DISK_1: autobackup found: /u01/backupofmanzy/spfile_771874551_MANZY_0kn03nnn_1_1.bkp channel ORA_DISK_1: SPFILE restore from autobackup complete Finished restore at 09-JAN-12 RMAN> exit; ##### Now create the directories in asm diskgroup to store your spfile,controlfile, datafiles and onlinelogfiles. $ export ORACLE_SID=+ASM1 $ asmcmd ASMCMD> lsdg State Type Rebal Unbal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Name MOUNTED EXTERN N N 512 4096 1048576 3858 675 0 675 0 DATA1/ MOUNTED NORMAL N N 512 4096 1048576 3765 2361 1255 553 0 DATA2/ MOUNTED NORMAL N N 512 4096 1048576 3858 3075 1286 894 0 DATA3/ MOUNTED EXTERN N N 512 4096 1048576 3858 3304 0 3304 0 FLASH/ #### Once the pfile is restored edit the pfile with appropirate RAC parameter as below. *.cluster_database_instances=2 *.cluster_database=TRUE *.control_files='+DATA1/manzy/controlfiles/control01.ctl','+DATA1/manzy/controlfiles/control02.ctl' manzy1.instance_name='manzy1' manzy2.instance_name='manzy2' manzy1.instance_number=1 manzy2.instance_number=2 manzy1.thread=1 manzy2.thread=2 manzy1.undo_tablespace='undotbs1' manzy2.undo_tablespace='undotbs2' Note : Also change the adump, bdump, cdump, udump directories accordingly. ###### After editing the pfile, create a spfile using the modified pfile. rhelrac1-> export ORACLE_SID=manzy1 rhelrac1-> sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 9 19:38:25 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> create spfile='+DATA1/manzy/spfiles/spfilemanzy.ora' from pfile = '/u01/initmanzy1.ora'; File created. SQL> shut immediate; ORA-01507: database not mounted ORACLE instance shut down. ###### Now create a pfile in $ORACLE_HOME/dbs location on both the instance pointing to the same spfile. Node 1 $ cd $ORACLE_HOME/dbs $ vi initmanzy1.ora ### add the below line alone in the pfile. spfile=+DATA1/manzy/spfiles/spfilemanzy.ora Node 2 $ cd $ORACLE_HOME/dbs $ vi initmanzy2.ora ### add the below line alone in the pfile. spfile=+DATA1/manzy/spfiles/spfilemanzy.ora ### Now restore the controlfile in node1. rhelrac1-> rman target / Recovery Manager: Release 10.2.0.4.0 - Production on Mon Jan 9 19:43:54 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database (not started) RMAN> startup nomount; Oracle instance started Total System Global Area 444596224 bytes Fixed Size 1267980 bytes Variable Size 130025204 bytes Database Buffers 310378496 bytes Redo Buffers 2924544 bytes RMAN> restore controlfile from '/u01/backupofmanzy/contfiles_771874550_MANZY_0jn03nnm_1_1.bkp'; Starting restore at 09-JAN-12 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=150 instance=manzy1 devtype=DISK channel ORA_DISK_1: restoring control file channel ORA_DISK_1: restore complete, elapsed time: 00:00:16 output filename=+DATA1/manzy/controlfiles/control01.ctl output filename=+DATA1/manzy/controlfiles/control02.ctl Finished restore at 09-JAN-12 ##### Mount the controlfile RMAN> alter database mount; database mounted released channel: ORA_DISK_1 ##### Now remove all the details of backup repository which is stored in this controfile RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/datafiles_771873888_MANZY recid=1 stamp=771873889 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/datafiles_771873913_MANZY recid=2 stamp=771873913 RMAN> delete noprompt expired backup; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 1 1 1 1 EXPIRED DISK /u01/datafiles_771873888_MANZY recid=1 stamp=771873889 2 2 1 1 EXPIRED DISK /u01/datafiles_771873913_MANZY recid=2 stamp=771873913 deleted backup piece backup piece handle=/u01/datafiles_771873888_MANZY recid=1 stamp=771873889 recid=15 stamp=771874538 deleted backup piece backup piece handle=/u01/datafiles_771873913_MANZY recid=2 stamp=771873913 recid=16 stamp=771874527 Deleted 2 EXPIRED objects RMAN> list backup; RMAN> #### Now catalog the backup files which we have taken from the single instance. RMAN> catalog start with '/u01/backupofmanzy/'; searching for all files that match the pattern /u01/backupofmanzy/ List of Files Unknown to the Database ===================================== File Name: /u01/backupofmanzy/contfiles_771874550_MANZY_0jn03nnm_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874526_MANZY_0fn03nmu_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874533_MANZY_0hn03nn5_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874526_MANZY_0gn03nmu_1_1.bkp File Name: /u01/backupofmanzy/spfile_771874551_MANZY_0kn03nnn_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874538_MANZY_0in03nna_1_1.bkp Do you really want to catalog the above files (enter YES or NO)? yes cataloging files... cataloging done List of Cataloged Files ======================= File Name: /u01/backupofmanzy/contfiles_771874550_MANZY_0jn03nnm_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874526_MANZY_0fn03nmu_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874533_MANZY_0hn03nn5_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874526_MANZY_0gn03nmu_1_1.bkp File Name: /u01/backupofmanzy/spfile_771874551_MANZY_0kn03nnn_1_1.bkp File Name: /u01/backupofmanzy/datafiles_771874538_MANZY_0in03nna_1_1.bkp ##### Now restore the datafiles to the asm diskgroup use the set newname command to rename the datafiles. RMAN> run 2> { 3> set newname for datafile '/optware/oracle/oradata/manzy/system01.dbf' to '+DATA2/manzy/datafiles/system01.dbf'; 4> set newname for datafile '/optware/oracle/oradata/manzy/undotbs01.dbf' to '+DATA2/manzy/datafiles/undotbs01.dbf'; 5> set newname for datafile '/optware/oracle/oradata/manzy/sysaux01.dbf' to '+DATA3/manzy/datafiles/sysaux01.dbf'; 6> set newname for datafile '/optware/oracle/oradata/manzy/users01.dbf' to '+DATA3/manzy/datafiles/users01.dbf'; 7> restore database; 8> switch datafile all; 9> } executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 09-JAN-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00002 to +DATA2/manzy/datafiles/undotbs01.dbf restoring datafile 00003 to +DATA3/manzy/datafiles/sysaux01.dbf channel ORA_DISK_1: reading from backup piece /u01/backupofmanzy/datafiles_771874526_MANZY_0gn03nmu_1_1.bkp channel ORA_DISK_1: restored backup piece 1 piece handle=/u01/backupofmanzy/datafiles_771874526_MANZY_0gn03nmu_1_1.bkp tag=FULL_DB channel ORA_DISK_1: restore complete, elapsed time: 00:00:46 channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to +DATA2/manzy/datafiles/system01.dbf restoring datafile 00004 to +DATA3/manzy/datafiles/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/backupofmanzy/datafiles_771874526_MANZY_0fn03nmu_1_1.bkp channel ORA_DISK_1: restored backup piece 1 piece handle=/u01/backupofmanzy/datafiles_771874526_MANZY_0fn03nmu_1_1.bkp tag=FULL_DB channel ORA_DISK_1: restore complete, elapsed time: 00:00:47 Finished restore at 09-JAN-12 datafile 1 switched to datafile copy input datafile copy recid=5 stamp=772142636 filename=+DATA2/manzy/datafiles/system01.dbf datafile 2 switched to datafile copy input datafile copy recid=6 stamp=772142636 filename=+DATA2/manzy/datafiles/undotbs01.dbf datafile 3 switched to datafile copy input datafile copy recid=7 stamp=772142637 filename=+DATA3/manzy/datafiles/sysaux01.dbf datafile 4 switched to datafile copy input datafile copy recid=8 stamp=772142637 filename=+DATA3/manzy/datafiles/users01.dbf RMAN> exit; ### Now we have restored the database to the new location i.e. asm diskgroup, now we need to rename the online logfiles for that connect to the sqlplus and rename the files. rhelrac1-> sqlplus / as sysdba SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 9 20:04:55 2012 Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options SQL> select status from V$instance; STATUS ------------ MOUNTED SQL> select member from V$logfile; MEMBER -------------------------------------------------------------------------------- /optware/oracle/oradata/manzy/redo03.log /optware/oracle/oradata/manzy/redo02.log /optware/oracle/oradata/manzy/redo01.log #### Rename the logfiles to point to the asm diskgroups. SQL> alter database rename file '/optware/oracle/oradata/manzy/redo01.log' to '+FLASH/manzy/onlinelogfiles/redo01.log'; Database altered. SQL> alter database rename file '/optware/oracle/oradata/manzy/redo02.log' to '+FLASH/manzy/onlinelogfiles/redo02.log'; Database altered. SQL> alter database rename file '/optware/oracle/oradata/manzy/redo03.log' to '+FLASH/manzy/onlinelogfiles/redo03.log'; Database altered. #### Now add the logfiles which will be used by the instance 2. SQL> select * from V$log; GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------- 1 1 1 52428800 1 NO CURRENT 464631 06-JAN-12 3 1 0 52428800 1 YES UNUSED 0 2 1 0 52428800 1 YES UNUSED 0 SQL> alter database add logfile thread 2 group 4 '+FLASH/manzy/onlinelogfiles/redo04.log' size 52428800; Database altered. SQL> alter database add logfile thread 2 group 5 '+FLASH/manzy/onlinelogfiles/redo05.log' size 52428800; Database altered. SQL> alter database add logfile thread 2 group 6 '+FLASH/manzy/onlinelogfiles/redo06.log' size 52428800; Database altered. #### Open the database with resetlogs option. SQL> alter database open resetlogs; Database altered. #### Recreate the temporary tablespace SQL> create temporary tablespace temp2 tempfile '+DATA3/manzy/datafiles/temp02.dbf' size 50m; Tablespace created. SQL> alter database default temporary tablespace temp2; Database altered. SQL> drop tablespace TEMP including contents and datafiles; Tablespace dropped. ### Enable the thread for the instance 2 SQL> alter database enable thread 2; Database altered. ### Create the undo tablespace for the instance 2 SQL> create undo tablespace undotbs2 datafile '+DATA3/manzy/datafiles/undotbs02.dbf' size 50m; Tablespace created. SQL> exit; ##### Now add the database to the cluster registry (OCR) using the srvctl command. $ srvctl add database -d manzy -o /u01/app/oracle/product/10.2.0/db_1 -p +DATA1/manzy/spfiles/spfilemanzy.ora $ srvctl add instance -d manzy -i manzy1 -n rhelrac1 $ srvctl add instance -d manzy -i manzy2 -n rhelrac2 ### Shutdown the database and start it using srvctl $ srvctl stop database -d manzy $ srvctl start database -d manzy ### Check the status of the instance. $ srvctl status database -d manzy Instance manzy1 is running on node rhelrac1 Instance manzy2 is running on node rhelrac2 #### Configure the tnsnames and listerners. ##### End of converting single instance to RAC Instance.