You are on page 1of 24

Document 1054902.

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

How to Validate Network and Name Resolution Setup for the Clusterware and RAC (Doc ID 1054902.1)
In this Document
Purpose
Scope

Details

A. Requirement

B. Example of what we expect


C. Syntax reference
D. Multicast

E. Runtime network issues

F. Symptoms of network issues


G. Basics of Subnet

References

APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.1.0.2 to 12.1.0.1 [Release 10.1 to 12.1]
Generic Linux
Generic UNIX

PURPOSE

Cluster Verification Utility (aka CVU, command runcluvfy.sh or cluvfy) does very good checking on the network and name resolution setup,
but it may not capture all issues. If the network and name resolution is not setup properly before installation, it is likely the installation will
fail; if network or name resolution is malfunctioning, likely the clusterware and/or RAC will have issues. The goal of this note is to provide
a list of things to verify regarding the network and name resolution setup for Grid Infrastructure (clusterware) and RAC.

SCOPE
This document is intended for Oracle Clusterware/RAC Database Administrators and Oracle Support engineers.

DETAILS
A. Requirement
Network ping with package size of Network Adapter (NIC) MTU should work on all public and private network.
IP address 127.0.0.1 should only map to localhost and/or localhost.localdomain, not anything else.
127.*.*.* should not be used by any network interface.
Public NIC name must be same on all nodes.
Private NIC name should be same in 11gR2 and must be same for pre-11gR2 on all nodes
Public and private network must not be in link local subnet (169.254.*.*), should be in non-related separate subnet.
MTU should be the same for corresponding network on all nodes.
Network size should be same for corresponding network on all nodes.
As the private network needs to be directly attached, traceroute should work with a packet size of NIC MTU without fragmentation or going
through the routing table on all private networks in 1 hop.

1 of 8

2/2/2015 11:25 AM

Document 1054902.1

2 of 8

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

Firewall needs to be turned off on the private network.


For 10.1 to 11.1, name resolution should work for the public, private and virtual names.
For 11.2 without Grid Naming Service (aka GNS), name resolution should work for all public, virtual, and SCAN names; and if SCAN is
configured in DNS, it should not be in local hosts file.
For 11.2.0.2 and above, multicast group 230.0.1.0 should work on private network; with patch 9974223, both group 230.0.1.0 and
224.0.0.251 are supported. With patch 10411721 (fixed in 11.2.0.3), broadcast will be supported. See Multicast/Broadcast section to verify.
For 11.2.0.1-11.2.0.3, Installer may report a warning if reverse lookup is not setup correctly for pubic IP, node VIP, and SCAN VIP, with bug
9574976 fix in 11.2.0.4, the warning shouldn't be there any more.
OS level bonding is recommended for the private network for pre-11.2.0.2. Depending on the platform, you may implement bonding,
teaming, Etherchannel, IPMP, MultiPrivNIC etc, please consult with your OS vendor for details. Started from 11.2.0.2, Redundant
Interconnect and HAIP is introduced to provide native support for multiple private network, refer to note 1210883.1 for details.
The commands verifies jumbo frames if it's configured. To know more about jumbo frames, refer to note 341788.1

B. Example of what we expect


Example below shows what we expect while validating the network and name resolution setup. As the network setup is slightly different for
11gR2 and 11gR1 or below, we have both case in the below example. The difference between 11gR1 or below and 11gR2 is for 11gR1, we
need a public name, VIP name, private hostname, and we rely on the private name to find out the private IP for cluster
communication. For 11gR2, we do not rely on the private name anymore, rather the private network is selected based on the GPnP profile
while the clusterware comes up. Assuming a 3-node cluster with the following node information:
11gR1 or below cluster:
Nodename |Public IP |VIP name |VIP
|NIC/MTU

|Private |private IP1 |private IP2


|Name1

|NIC/MTU

---------|----------|---------|-----------|--------|---------------------rac1

|120.0.0.1 |rac1v

|120.0.0.11 |rac1p

|10.0.0.1

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|--------|---------------------rac2

|120.0.0.2 |rac2v

|120.0.0.12 |rac2p

|10.0.0.2

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|--------|---------------------rac3

|120.0.0.3 |rac3v

|120.0.0.13 |rac3p

|10.0.0.3

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|--------|---------------------11gR2 cluster
Nodename |Public IP |VIP name |VIP
|NIC/MTU

|private IP1 |
|NIC/MTU

---------|----------|---------|-----------|------------|---------rac1

|120.0.0.1 |rac1v

|120.0.0.11 |10.0.0.1

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|------------|---------rac2

|120.0.0.2 |rac2v

|120.0.0.12 |10.0.0.2

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|------------|----------

2/2/2015 11:25 AM

Document 1054902.1
rac3

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

|120.0.0.3 |rac3v

|120.0.0.13 |10.0.0.3

|eth0/1500 |

|eth1/1500

---------|----------|---------|-----------|------------|----------

SCAN name |SCAN IP1

|SCAN IP2

|SCAN IP3

----------|-----------|-----------|-------------------scancl1

|120.0.0.21 |120.0.0.22 |120.0.0.23

----------|-----------|-----------|--------------------

Below is what is needed to be verify on each node - please note the example is from a Linux platform:
1. To find out the MTU
/bin/netstat -in
Kernel Interface table
Iface
MTU Met RX-OK RX-ERR RX-DRP RX-OVR
eth0
1500 0 203273
0
0
0
2727

TX-OK TX-ERR TX-DRP TX-OVR Flg


0
0
0 BMRU

# In above example MTU is set to 1500 for eth0


2. To find out the IP address and subnet, compare Broadcast and Netmask on all nodes
/sbin/ifconfig
eth0
Link encap:Ethernet HWaddr 00:16:3E:11:11:11
inet addr:120.0.0.1 Bcast:120.0.0.127 Mask:255.255.255.128
inet6 addr: fe80::216:3eff:fe11:1111/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:203245 errors:0 dropped:0 overruns:0 frame:0
TX packets:2681 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63889908 (60.9 MiB) TX bytes:319837 (312.3 KiB)
..
In the above example, the IP address for eth0 is 120.0.0.1, broadcast is 120.0.0.127, and net mask is 255.255.255.128, which is subnet of
120.0.0.0 with a maximum of 126 IP addresses. Refer to Section "Basics of Subnet" for more details.
Note: An active NIC must have both "UP" and "RUNNING" flag.
3. Run all ping commands twice to make sure result is consistent
Below is an example ping output from node1 public IP to node2 public hostname:
PING rac2 (120.0.0.2) from 120.0.0.1 : 1500(1528) bytes of data.
1508 bytes from rac1 (120.0.0.2): icmp_seq=1 ttl=64 time=0.742 ms
1508 bytes from rac1 (120.0.0.2): icmp_seq=2 ttl=64 time=0.415 ms
--- rac2 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.415/0.578/0.742/0.165 ms
3.1 Ping all public nodenames from the local public IP with packet size of MTU
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac1
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac1
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac2
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac2
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac3
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 rac3
3.2.1 Ping all private IP(s) from all local private IP(s) with packet size of MTU
# applies to 11gR2 example, private name is optional

3 of 8

2/2/2015 11:25 AM

Document 1054902.1
/bin/ping
/bin/ping
/bin/ping
/bin/ping
/bin/ping
/bin/ping

-s
-s
-s
-s
-s
-s

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...
<MTU>
<MTU>
<MTU>
<MTU>
<MTU>
<MTU>

-c
-c
-c
-c
-c
-c

2
2
2
2
2
2

-I
-I
-I
-I
-I
-I

10.0.0.1
10.0.0.1
10.0.0.1
10.0.0.1
10.0.0.1
10.0.0.1

10.0.0.1
10.0.0.1
10.0.0.2
10.0.0.2
10.0.0.3
10.0.0.3

3.2.2 Ping all private nodename from local private IP with packet size of MTU
# applies to 11gR1 and earlier example
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac1p
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac1p
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac2p
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac2p
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac3p
/bin/ping -s <MTU> -c 2 -I 10.0.0.1 rac3p
4. Traceroute private network
Example below shows traceroute from node1 private IP to node2 private hostname
traceroute to rac2p (10.0.0.2), 30 hops max, 1472 byte packets
1 rac2p (10.0.0.2) 0.626 ms 0.567 ms 0.529 ms
MTU size packet traceroute complete in 1 hop without going through the routing table. Output other than above indicates issue, i.e. when
"*" or "!H" presents.
Note: traceroute option "-F" may not work on RHEL3/4 OEL4 due to OS bug, refer to note: 752844.1 for details.
4.1 Traceroute all private IP(s) from all local private IP(s) with
# packet size of MTU - on Linux packet length need to be MTU-28
# applies to 11gR2
/bin/traceroute -s 10.0.0.1 -r -F 10.0.0.1 <MTU-28>
/bin/traceroute -s 10.0.0.1 -r -F 10.0.0.2 <MTU-28>
/bin/traceroute -s 10.0.0.1 -r -F 10.0.0.3 <MTU-28>
4.2 Traceroute all private nodename from local private IP with packet size of MTU
# applies to 11gR1 and earlier example
/bin/traceroute -s 10.0.0.1 -r -F rac1p <MTU-28>
/bin/traceroute -s 10.0.0.1 -r -F rac2p <MTU-28>
/bin/traceroute -s 10.0.0.1 -r -F rac3p <MTU-28>
5. Ping VIP hostname
# Ping of all VIP nodename should resolve to correct IP
# Before the clusterware is installed, ping should be able to resolve VIP nodename but
# should fail as VIP is managed by the clusterware
# After the clusterware is up and running, ping should succeed
/bin/ping -c 2 rac1v
/bin/ping -c 2 rac1v
/bin/ping -c 2 rac2v
/bin/ping -c 2 rac2v
/bin/ping -c 2 rac3v
/bin/ping -c 2 rac3v
6. Ping SCAN name
# applies to 11gR2
# Ping of SCAN name should resolve to correct IP
# Before the clusterware is installed, ping should be able to resolve SCAN name but
# should fail as SCAN VIP is managed by the clusterware
# After the clusterware is up and running, ping should succeed
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 scancl1
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 scancl1
/bin/ping -s <MTU> -c 2 -I 120.0.0.1 scancl1

4 of 8

2/2/2015 11:25 AM

Document 1054902.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

7. Nslookup VIP hostname and SCAN name


# applies to 11gR2
# To check whether VIP nodename and SCAN name are setup properly in DNS
/usr/bin/nslookup rac1v
/usr/bin/nslookup rac2v
/usr/bin/nslookup rac3v
/usr/bin/nslookup scancl1
8. To check name resolution order
# /etc/nsswitch.conf on Linux, Solaris and hp-ux, /etc/netsvc.conf on AIX
/bin/grep ^hosts /etc/nsswitch.conf
hosts:
dns files
9. To check local hosts file
# If local files is in naming switch setting (nsswitch.conf), to make sure
# hosts file doesn't have typo or misconfiguration, grep all nodename and IP
# 127.0.0.1 should not map to SCAN name, public, private and VIP hostname
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep
/bin/grep

rac1
/etc/hosts
rac2
/etc/hosts
rac3
/etc/hosts
rac1v
/etc/hosts
rac2v
/etc/hosts
rac3v
/etc/hosts
120.0.0.1 /etc/hosts
120.0.0.2 /etc/hosts
120.0.0.3 /etc/hosts
120.0.0.11 /etc/hosts
120.0.0.12 /etc/hosts
120.0.0.13 /etc/hosts

# For 11gR2 example


/bin/grep 10.0.0.1 /etc/hosts
/bin/grep 10.0.0.2 /etc/hosts
/bin/grep 10.0.0.3 /etc/hosts
/bin/grep 10.0.0.11 /etc/hosts
/bin/grep 10.0.0.12 /etc/hosts
/bin/grep 10.0.0.13 /etc/hosts
# For 11gR1 and earlier example
/bin/grep rac1p
/etc/hosts
/bin/grep rac2p
/etc/hosts
/bin/grep rac3p
/etc/hosts
/bin/grep 10.0.0.1 /etc/hosts
/bin/grep 10.0.0.2 /etc/hosts
/bin/grep 10.0.0.3 /etc/hosts
# For 11gR2 example
# If SCAN name is setup in DNS, it should not be in local hosts file
/bin/grep scancl1
/etc/hosts
/bin/grep 120.0.0.21 /etc/hosts
/bin/grep 120.0.0.22 /etc/hosts
/bin/grep 120.0.0.23 /etc/hosts

C. Syntax reference
Please refer to below for command syntax on different platform
Linux:
/bin/netstat -in
/sbin/ifconfig
/bin/ping -s <MTU> -c 2 -I source_IP nodename
/bin/traceroute -s source_IP -r -F nodename-priv <MTU-28>

5 of 8

2/2/2015 11:25 AM

Document 1054902.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

/usr/bin/nslookup
Solaris:
/bin/netstat -in
/usr/sbin/ifconfig -a
/usr/sbin/ping -i source_IP -s nodename <MTU> 2
/usr/sbin/traceroute -s source_IP -r -F nodename-priv <MTU>
/usr/sbin/nslookup
HP-UX:
/usr/bin/netstat -in
/usr/sbin/ifconfig NIC
/usr/sbin/ping -i source_IP nodename <MTU> -n 2
/usr/contrib/bin/traceroute -s source_IP -r -F nodename-priv <MTU>
/bin/nslookup
AIX:
/bin/netstat -in
/usr/sbin/ifconfig -a
/usr/sbin/ping -S source_IP -s <MTU> -c 2 nodename
/bin/traceroute -s source_IP -r nodename-priv <MTU>
/bin/nslookup
Windows:
MTU:
Windows XP:
netsh interface ip show interface
Windows Vista/7: netsh interface ipv4 show subinterfaces
ipconfig /all
ping -n 2 -l <MTU-28> -f nodename
tracert
nslookup

D. Multicast
Started with 11.2.0.2, multicast group 230.0.1.0 should work on private network for bootstrapping. patch 9974223 introduces support for
another group 224.0.0.251
Please refer to note 1212703.1 to verify whether multicast is working fine.
As fix for bug 10411721 is included in 11.2.0.3, broadcast is supported for bootstrapping as well as multicast. When 11.2.0.3 Grid
Infrastructure starts up, it will try broadcast, multicast group 230.0.1.0 and 224.0.0.251 simultaneously, if anyone succeeds, it will be able to
start.
On hp-ux, if 10 Gigabit Ethernet is used as private network adapter, without driver revision B.11.31.1011 or later of the 10GigEthr-02
software bundle, multicast may not work. Run "swlist 10GigEthr-02" command to identify the current version on your HP server.

E. Runtime network issues


OSWatcher or Cluster Health Monitor(IPD/OS) can be deployed to capture runtime network issues.

F. Symptoms of network issues


ping doesn't work
traceroute doesn't work
name resolution doesn't work

6 of 8

2/2/2015 11:25 AM

Document 1054902.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

1 racnode1 (192.168.30.2) 0.223 ms !X 0.201 ms !X 0.193 ms !X


2010-11-21 13:00:44.455: [ GIPCNET][1252870464]gipcmodNetworkProcessConnect: [network] failed connect attempt endp 0xc7c5590
[0000000000000356] { gipcEndpoint : localAddr 'gipc://racnode3:08b1-c475-a88e-8387#10.10.10.23#27573', remoteAddr
'gipc://racnode2:nm_rac-cluster#192.168.0.22#26869', numPend 0, numReady 1, numDone 0, numDead 0, numTransfer 0, objFlags 0x0,
pidPeer 0, flags 0x80612, usrFlags 0x0 }, req 0xc7c5310 [000000000000035f] { gipcConnectRequest : addr 'gipc://racnode2:nm_raccluster#192.168.0.22#26869', parentEn
2010-11-21 13:00:44.455: [ GIPCNET][1252870464]gipcmodNetworkProcessConnect: slos op : sgipcnTcpConnect
2010-11-21 13:00:44.455: [ GIPCNET][1252870464]gipcmodNetworkProcessConnect: slos dep : No route to host (113)
2010-11-29 10:52:38.603: [GIPCHALO][2314] gipchaLowerProcessNode: no valid interfaces found to node for 2614824036 ms, node
111ea99b0 { host 'aixprimusrefdb1', haName '1e0b-174e-37bc-a515', srcLuid 2612fa8e-3db4fcb7, dstLuid 00000000-00000000 numInf 0,
contigSeq 0, lastAck 0, lastValidAck 0, sendSeq [55 : 55], createTime 2614768983, flags 0x4 }
2010-11-29 10:52:42.299: [ CRSMAIN][515] Policy Engine is not initialized yet!
2010-11-29 10:52:43.554: [ OCRMAS][3342]proath_connect_master:1: could not yet connect to master retval1 = 203, retval2 = 203
2010-11-29 10:52:43.554: [ OCRMAS][3342]th_master:110': Could not yet connect to new master [1]
2010-11-04
2010-11-04
2010-11-04
2010-11-04

12:33:22.133:
12:33:22.133:
12:33:22.133:
12:33:22.133:

[
[
[
[

GIPCNET][2314]
GIPCNET][2314]
GIPCNET][2314]
GIPCNET][2314]

gipcmodNetworkProcessSend:
gipcmodNetworkProcessSend:
gipcmodNetworkProcessSend:
gipcmodNetworkProcessSend:

slos
slos
slos
slos

op : sgipcnUdpSend
dep : Message too long (59)
loc : sendto
info : dwRet 4294967295, addr '19

2010-02-03 23:26:25.804: [GIPCXCPT][1206540320]gipcmodGipcPassInitializeNetwork: failed to find any interfaces in clsinet, ret gipcretFail
(1)
2010-02-03 23:26:25.804: [GIPCGMOD][1206540320]gipcmodGipcPassInitializeNetwork: EXCEPTION[ ret gipcretFail (1) ] failed to
determine host from clsinet, using default
..
2010-02-03 23:26:25.810: [ CSSD][1206540320]clsssclsnrsetup: gipcEndpoint failed, rc 39
2010-02-03 23:26:25.811: [ CSSD][1206540320]clssnmOpenGIPCEndp: failed to listen on gipc addr gipc://rac1:nm_eotcs- ret 39
2010-02-03 23:26:25.811: [ CSSD][1206540320]clssscmain: failed to open gipc endp
2010-09-20 11:52:54.014: [ CSSD][1103055168]clssnmvDHBValidateNCopy: node 1, racnode1, has a disk HB, but no network HB, DHB
has rcfg 180441784, wrtcnt, 453, LATS 328297844, lastSeqNo 452, uniqueness 1284979488, timestamp 1284979973/329344894
2010-09-20 11:52:54.016: [ CSSD][1078421824]clssgmWaitOnEventValue: after CmInfo State val 3, eval 1 waited 0
.. >>>> after a long delay
2010-09-20 12:02:39.578: [ CSSD][1103055168]clssnmvDHBValidateNCopy: node 1, racnode1, has a disk HB, but no network HB, DHB
has rcfg 180441784, wrtcnt, 1037, LATS 328883434, lastSeqNo 1036, uniqueness 1284979488, timestamp 1284980558/329930254
2010-09-20 12:02:39.895: [ CSSD][1107286336]clssgmExecuteClientRequest: MAINT recvd from proc 2 (0xe1ad870)
2009-12-10
2009-12-10
2009-12-10
2009-12-10

06:28:31.974:
06:28:31.974:
06:29:01.450:
06:29:31.489:

[
[
[
[

OCRMAS][20]proath_connect_master:1: could not connect to master clsc_ret1 = 9, clsc_ret2 = 9


OCRMAS][20]th_master:11: Could not connect to the new master
CRSMAIN][2] Policy Engine is not initialized yet!
CRSMAIN][2] Policy Engine is not initialized yet!

2009-12-31 00:42:08.110: [ COMMCRS][10]clsc_receive: (102b03250) Error receiving, ns (12535, 12560), transport (505, 145, 0)
2011-04-16 02:59:46.943: [
[

CTSS][1]clsu_get_private_ip_addresses: clsinet_GetNetData failed (). Return [7]

CTSS][1](:ctss_init6:): Failed to call clsu_get_private_ip_addr [7]

gipcmodGipcPassInitializeNetwork: failed to find any interfaces in clsinet, ret gipcretFail (1)


gipcmodGipcPassInitializeNetwork: EXCEPTION[ ret gipcretFail (1) ] failed to determine host from clsinet, using default
[ CRSCCL][2570585920]No private IP addresses found.
(:CSSNM00008:)clssnmCheckDskInfo: Aborting local node to avoid splitbrain. Cohort of 1 nodes with leader 2, dc4sftestdb02, is smaller than
cohort of 1 nodes led by node 1, dc4sftestdb01, based on map type 2

G. Basics of Subnet

7 of 8

2/2/2015 11:25 AM

Document 1054902.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

Refer to note 1386709.1 for details

REFERENCES

NOTE:301137.1 - OSWatcher (Includes: [Video])


NOTE:752844.1 - RHEL3, RHEL4, OEL4: traceroute Fails with -F (do not fragment bit) Argument
NOTE:341788.1 - Recommendation for the Real Application Cluster Interconnect and Jumbo Frames
NOTE:1386709.1 - The Basics of IPv4 Subnet and Oracle Clusterware
NOTE:1507482.1 - Oracle Clusterware Cannot Start on all Nodes: Network communication with node missing for 90% of timeout interval
NOTE:1056322.1 - Troubleshoot Grid Infrastructure/RAC Database installer/runInstaller Issues
NOTE:1210883.1 - Grid Infrastructure Redundant Interconnect and ora.cluster_interconnect.haip
NOTE:1212703.1 - Grid Infrastructure Startup During Patching, Install or Upgrade May Fail Due to Multicasting Requirement

8 of 8

2/2/2015 11:25 AM

Document 1667873.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

Scan Listener In INTERMEDIATE Mode - Not All Endpoints Registered (Doc ID 1667873.1)
In this Document
Symptoms
Changes
Cause

Solution

References

APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.1 to 11.2.0.4 [Release 11.2]
Information in this document applies to any platform.

SYMPTOMS
Installed the Oracle 11.2.0.3 Grid Infrastructure and encountered the following status on SCAN listener when running 'crsctl stat res -t'.

ora.LISTENER_SCAN1.lsnr
1
ONLINE INTERMEDIATE psdphprddb02

Not All Endpoints Registered

$GRID_HOME\log\diag\tnslsnr\<hostname>\listener_scan1\trace\listener_scan1.log
08-JUL-2013 21:35:46 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)(ARGUMENTS=64)
(SERVICE=LISTENER_SCAN1)(VERSION=186647296)) * status * 0
Mon Jul 08 21:35:57 2013
08-JUL-2013 21:35:57 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=pssvcora01))(COMMAND=status)(ARGUMENTS=64)
(SERVICE=LISTENER_SCAN1)(VERSION=186647296)) * status * 0
Mon Jul 08 21:36:44 2013
08-JUL-2013 21:36:44 * (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=SYSTEM))(COMMAND=status)(ARGUMENTS=64)
(SERVICE=LISTENER_SCAN1)(VERSION=186647296)) * status * 0
08-JUL-2013 21:36:44 * service_died * LsnrAgt * 12537
08-JUL-2013 21:36:45 * version * 0
Error listening on: (ADDRESS=(PROTOCOL=TCP)(HOST=172.17.235.139)(PORT=1521))
08-JUL-2013 21:36:45 * service_register * LsnrAgt * 12542
TNS-12542: TNS:address already in use
TNS-12560: TNS:protocol adapter error
TNS-00512: Address already in use
64-bit Windows Error: 48: Unknown error

CHANGES
None, all of the basic configuration checks at RAC/clusterware level seems to show a correct configuration.

CAUSE
The local node HOSTS file (on Windows: c:\windows\system32\drivers\etc\hosts, on UNIX: /etc/hosts) file may contain a duplicate entry.

SOLUTION
For hosts file configuration in RAC, refer to the section "Example of what we expect" from Document 1054902.1

1 of 2

2/2/2015 11:26 AM

Document 1667873.1

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

REFERENCES
NOTE:1054902.1 - How to Validate Network and Name Resolution Setup for the Clusterware and RAC
NOTE:1454439.1 - Listener in INTERMEDIATE status with "Not All Endpoints Registered"

2 of 2

2/2/2015 11:26 AM

ASM: Create/Drop Diskgroup - Helmut's RAC / JEE Blog

1 of 4

hp://www.hhutzler.de/blog/asm-drop-diskgroup/

Mount force
The force option becomes a must when a disk group mount reports missing disks. This is one of the cases when
it's safe and required to use the force option. Provided we are not missing too many disks, the mount force
should succeed. Basically, at least one partner disk - from every disk partnership in the disk group - must
be available.
Create Diskgroup force
If the disk to be added to a disk group is not CANDIDATE, PROVISIONED or FORMER, I have to specify force next
to the disk name. This will destroy the data on that specified disk(s).
Forcing disk group drop
To drop a disk group I have to mount it first. If I cannot mount a disk group, but must drop it, I can use the
force option of the DROP DISKGROUP statement, like this:
SQL> drop diskgroup PLAY force including contents;
Forcing disk group dismount
ASM does not allow a disk group to be dismounted if it's still being accessed. But I can force the disk group
dismount even if some files in the disk group are open. Here is an example:
SQL> alter diskgroup PLAY dismount;
alter diskgroup PLAY dismount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15027: active use of diskgroup "PLAY" precludes its dismount
Note that the forced disk group dismount will cause all datafiles in that database to go offline, which means they
will need recovery (and restore if I drop disk group PLAY)

2/2/2015 11:26 AM

ASM: Create/Drop Diskgroup - Helmut's RAC / JEE Blog

2 of 4

hp://www.hhutzler.de/blog/asm-drop-diskgroup/

SQL> select dg.inst_id, dg.name dg_name, dg.state dg_state, dg.type,d.name, d.DISK_NUMBER dsk_no, d.MOUNT_STATUS, d.HEADER_STATUS, d.MO
d.STATE, d. PATH, d.FAILGROUP FROM GV$ASM_DISK d, Gv$asm_diskgroup dg
where dg.inst_id=d.inst_id and dg.group_number(+)=d.group_number and
dg.name=:dg_name order by inst_id, dsk_no;

INST_ID DG_NAME
DG_STATE
TYPE
NAME
DSK_NO MOUNT_S HEADER_STATU MODE_ST STATE
PATH
FAILGROU
---------- ---------- ---------- --------------- ---------- ------- ------- ------------ ------- -------- -----------------------------1 TEST_NEW
MOUNTED
NORMAL
TEST_0000
0 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
TEST_0000
1 TEST_NEW
MOUNTED
NORMAL
TEST_0001
1 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
TEST_0001
2 TEST_NEW
MOUNTED
NORMAL
TEST_0000
0 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
TEST_0000
2 TEST_NEW
MOUNTED
NORMAL
TEST_0001
1 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
TEST_0001
3 TEST_NEW
MOUNTED
NORMAL
TEST_0000
0 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
TEST_0000
3 TEST_NEW
MOUNTED
NORMAL
TEST_0001
1 CACHED MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
TEST_0001
SQL> select
g.name disk_grp, o.group_number, operation , est_minutes from gv$asm_operation o,
where g.group_number = o.group_number;
no rows selected
--> No outstanding Rebalance operations

v$asm_diskgroup g

SQL> select f.inst_id, f.group_number, file_number, compound_index, incarnation, f.block_size, bytes/1024/1024/1024 GB, f.type, striped,
creation_date, modification_date from gv$asm_file f , Gv$asm_diskgroup dg where f.group_number = dg.group_number and
dg.inst_id=f.inst_id and dg.name=:dg_name;
INST_ID GROUP_NUMBER FILE_NUMBER COMPOUND_INDEX INCARNATION BLOCK_SIZE
GB TYPE
STRIPE CREATION_ MODIFICAT
---------- ------------ ----------- -------------- ----------- ---------- ---------- --------------- ------ --------- --------1
6
256
100663552
852905863
8192 .004890442 DATAFILE
COARSE 14-JUL-14 14-JUL-14
2
6
256
100663552
852905863
8192 .004890442 DATAFILE
COARSE 14-JUL-14 14-JUL-14
3
6
256
100663552
852905863
8192 .004890442 DATAFILE
COARSE 14-JUL-14 14-JUL-14
--> DG holds only a single Datafile
STATUS,
SOFTWARE_VERSION ,COMPATIBLE_VERSION
SQL> select c.INST_ID, dg.name DGName, c.GROUP_NUMBER, INSTANCE_NAME, DB_NAME,
from Gv$asm_client c , Gv$asm_diskgroup dg where dg.inst_id=c.inst_id and dg.group_number=c.group_number;
INST_ID DGNAME
GROUP_NUMBER INSTANCE_N DB_NAME
STATUS
SOFTWARE_VERSION
COMPATIBLE_VERSION
---------- ------------------------- ----- ------------ ---------- -------- ------------ -------------------- -------------------1
DATA
1 +ASM1
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
1
DATA
1 grac41
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
1
FRA2
2 grac41
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
1
OCR
4 +ASM1
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
2
DATA
1 grac42
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
2
DATA
1 +ASM2
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
2
FRA2
2 grac42
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
2
OCR
4 +ASM2
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
3
DATA
1 grac43
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
3
DATA
1 +ASM3
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
3
FRA2
2 grac43
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
3
OCR
4 +ASM3
+ASM
CONNECTED
11.2.0.4.0
11.2.0.4.0
12 rows selected.
--> No client access this DG
Check cluster resources
# crsi
NAME
------------------------..
ora.TEST_NEW.dg
ora.TEST_NEW.dg
ora.TEST_NEW.dg

TARGET
STATE
---------- ----------

SERVER
STATE_DETAILS
------------ ------------------

ONLINE
ONLINE
ONLINE

grac41
grac42
grac43

ONLINE
ONLINE
ONLINE

or
[oracle@grac41 ~]$ srvctl status diskgroup -g TEST_NEW
Disk Group TEST_NEW is running on grac42,grac43,grac41

2/2/2015 11:26 AM

ASM: Create/Drop Diskgroup - Helmut's RAC / JEE Blog

3 of 4

hp://www.hhutzler.de/blog/asm-drop-diskgroup/

DG Status :

SQL> select dg.inst_id, dg.name dg_name, dg.state dg_state, dg.type,d.name, d.DISK_NUMBER dsk_no, d.MOUNT_STATUS, d.HEADER_STATUS, d.MO
d.STATE, d. PATH, d.FAILGROUP FROM GV$ASM_DISK d, Gv$asm_diskgroup dg
where dg.inst_id=d.inst_id and dg.group_number(+)=d.group_number and
dg.name=:dg_name order by inst_id, dsk_no;
INST_ID DG_NAME
DG_STATE
TYPE
NAME
---------- ---------- ---------- --------------- ---------1 ACFS
MOUNTED
NORMAL
ACFS_DISK1
0
1 ACFS
MOUNTED
NORMAL
ACFS_DISK2
1
2 ACFS
MOUNTED
NORMAL
ACFS_DISK1
0
2 ACFS
MOUNTED
NORMAL
ACFS_DISK2
1
3 ACFS
MOUNTED
NORMAL
ACFS_DISK1
0
3 ACFS
MOUNTED
NORMAL
ACFS_DISK2
1
--> Diskgroup ACFS is mounted by all RAC nodes

DSK_NO
------CACHED
CACHED
CACHED
CACHED
CACHED
CACHED

MOUNT_S HEADER_STATU MODE_ST STATE


PATH
FAILGROU
------- ------------ ------- -------- -----------------------------MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
ACFS_000
MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
ACFS_001
MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
ACFS_000
MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
ACFS_001
MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk1
ACFS_000
MEMBER
ONLINE NORMAL
/dev/asm_test_1G_disk2
ACFS_001

SQL> select
g.name disk_grp, o.group_number, operation , est_minutes from gv$asm_operation o,
where g.group_number = o.group_number;
--> No rebalancing action in progress

v$asm_diskgroup g

SQL> select f.inst_id, f.group_number, file_number, compound_index, incarnation, f.block_size, bytes/1024/1024/1024 GB, f.type, striped,
creation_date, modification_date from gv$asm_file f , Gv$asm_diskgroup dg where f.group_number = dg.group_number and
dg.inst_id=f.inst_id and dg.name=:dg_name;
INST_ID GROUP_NUMBER FILE_NUMBER COMPOUND_INDEX INCARNATION BLOCK_SIZE
GB TYPE
STRIPE CREATION_ MODIFICAT
---------- ------------ ----------- -------------- ----------- ---------- ---------- --------------- ------ --------- --------1
3
256
50331904
853603855
8192 .097663879 DATAFILE
COARSE 22-JUL-14 22-JUL-14
2
3
256
50331904
853603855
8192 .097663879 DATAFILE
COARSE 22-JUL-14 22-JUL-14
3
3
256
50331904
853603855
8192 .097663879 DATAFILE
COARSE 22-JUL-14 22-JUL-14
--> only 1 Datafile is there - this file is used by all cluster nodes
SQL> select c.INST_ID, dg.name DGName, c.GROUP_NUMBER, INSTANCE_NAME, DB_NAME,
STATUS,
SOFTWARE_VERSION ,COMPATIBLE_VERSION
from Gv$asm_client c , Gv$asm_diskgroup dg where dg.inst_id=c.inst_id and dg.group_number=c.group_number and dg.name=:dg_name;
INST_ID DGNAME
GROUP_NUMBER INSTANCE_N DB_NAME STATUS
SOFTWARE_VERSION
COMPATIBLE_VERSION
---------- ------------------------------ ------------ ---------- -------- ------------ -------------------- -------------------1 ACFS
3 grac41
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
2 ACFS
3 grac42
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
3 ACFS
3 grac43
grac4
CONNECTED
11.2.0.4.0
11.2.0.4.0
OPEN files monitored by running : asmcmd lsof -G ACFS on all cluster nodes
OPEN-Files for DG: ACFS
grac41.example.com
DB_Name Instance_Name Path
grac4
grac41
+acfs/grac4/datafile/acfs_ts.256.853603855
grac42.example.com
DB_Name Instance_Name
grac4
grac42

Path
+acfs/grac4/datafile/acfs_ts.256.853603855

grac43.example.com
DB_Name Instance_Name
grac4
grac43

Path
+acfs/grac4/datafile/acfs_ts.256.853603855

Drop diskgroup ACFS


SQL> drop diskgroup ACFS ;
drop diskgroup ACFS
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15053: diskgroup "ACFS" contains existing files
SQL> drop diskgroup ACFS force;
drop diskgroup ACFS force
*
ERROR at line 1:
ORA-02000: missing INCLUDING keyword
SQL> drop diskgroup ACFS force including contents;
drop diskgroup ACFS force including contents
*

2/2/2015 11:26 AM

ASM: Create/Drop Diskgroup - Helmut's RAC / JEE Blog

4 of 4

hp://www.hhutzler.de/blog/asm-drop-diskgroup/

ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15230: diskgroup 'ACFS' does not require the FORCE option
Stop DG with force option
[grid@grac41 ASM]$ srvctl stop diskgroup -g ACFS -n grac43 -f
[grid@grac41 ASM]$ srvctl status diskgroup -g ACFS
Disk Group ACFS is not running
Drop diskgroup with force option
SQL> drop diskgroup ACFS including contents;
drop diskgroup ACFS including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "ACFS" does not exist or is not mounted
SQL> drop diskgroup ACFS force including contents;
Diskgroup dropped.

Drop diskgroup resource with srvctl


[grid@grac41 ASM]$ srvctl status diskgroup -g ACFS
Disk Group ACFS is not running
[grid@grac41 ASM]$
PRCA-1002 : Failed
PRCR-1028 : Failed
PRCR-1072 : Failed
CRS-0222: Resource

srvctl remove diskgroup -g ACFS


to remove CRS resource ora.ACFS.dg for ASM Disk Group ACFS
to remove resource ora.ACFS.dg
to unregister resource ora.ACFS.dg
'ora.ACFS.dg' has dependency error.

[grid@grac41 ASM]$ crsctl status resource ora.grac4.db -p | grep -i acfs


START_DEPENDENCIES=hard(ora.DATA.dg,ora.FRA2.dg,ora.ACFS.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.o
STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA.dg,shutdown:ora.FRA2.dg,shutdown:ora.ACFS.dg)

Remove start dependency:


[root@grac41 ~]# crsctl modify resource ora.grac4.db -attr "START_DEPENDENCIES='hard(ora.DATA.dg,ora.FRA2.dg)
weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns) pullup(ora.DATA.dg,ora.FR
Check status :
[root@grac41 ~]#
crsctl status resource ora.grac4.db -p | grep -i acfs
STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA.dg,shutdown:ora.FRA2.dg,shutdown:ora.ACFS.dg)

--> STOP DEPENDENCIES still there


Remove stop dependency:
[root@grac41 ~]# crsctl modify resource ora.grac4.db -attr "STOP_DEPENDENCIES='hard(intermediate:ora.asm,shutdown:ora.DATA.dg,shutdown
[root@grac41 ~]# crsctl status resource ora.grac4.db -p | grep -i acfs
--> START and STOP DEPENDENCIES for DG ACFS are removed now
Finally delete the DG resoure
$ srvctl remove diskgroup -g ACFS
[grid@grac41 ASM]$ srvctl status diskgroup -g ACFS
PRCA-1000 : ASM Disk Group ACFS does not exist
PRCR-1001 : Resource ora.ACFS.dg does not exist

2/2/2015 11:26 AM

Migrate the Database to Oracle ASM Using RMAN | dba ps and tricks

1 of 5

hps://dbamind.wordpress.com/2014/02/12/migrate-the-database/

dba tips and tricks


Abdel-Gawad Othman. The DBA Tips and Tricks Store
stay updated via rss

Migrate the Database to Oracle ASM Using RMAN


Posted: February 12, 2014 in ASM, RMAN
Tags: Oracle ASM

0
Preparing to Migrate the Database to Oracle ASM Using RMAN
Copy the server parameter le or initialization parameter le to a temporary location.
cd /u000/app/oracle/product/11.2.0.2/DB/dbs
cp spleANALDEV.ora spleANALDEV120523.ora

back up the data les to the Oracle ASM disk group.


Rman target /
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
BACKUP AS COPY
INCREMENTAL LEVEL 0
DATABASE
FORMAT +DATA
TAG ORA_ASM_MIGRATION;
}
If the database is in ARCHIVELOG mode, and if the database is open, then archive the online logs.
RMAN> SQL ALTER SYSTEM ARCHIVE LOG CURRENT;
If the database instance is currently using a server parameter le, then back it up.
BACKUP AS BACKUPSET SPFILE;
If block change tracking is enabled, then disable it.

2/2/2015 11:27 AM

Migrate the Database to Oracle ASM Using RMAN | dba ps and tricks

2 of 5

hps://dbamind.wordpress.com/2014/02/12/migrate-the-database/

RMAN> SQL ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;


if Flashback Database is enabled, then disable it and drop any guaranteed restore points.
RMAN> SQL ALTER DATABASE FLASHBACK OFF;
The following command drops the guaranteed restore point named Q106:
RMAN> SQL DROP RESTORE POINT Q106;
Shut down the database consistently.
RMAN> SHUTDOWN IMMEDIATE;
Migrating the Database to Oracle ASM Using RMAN
1. Restore or create a server parameter le in Oracle ASM storage.
? If the database is using a server parameter le
RMAN> STARTUP MOUNT;
RMAN> RESTORE SPFILE TO +DATA/splesid.ora;
RMAN> SHUTDOWN IMMEDIATE;
? If the database is not using a server parameter le
SQL> CREATE SPFILE=+DATA/splesid.ora FROM PFILE=?/dbs/initsid.ora;
Afterward, delete splesid.ora and initsid.ora from the ?/dbs directory and create a new initsid.ora with
the following line of content:
SPFILE=+DATA/splesid.ora
2. Set Oracle Managed Files initialization parameters to Oracle ASM locations.
Note:
If you are not migrating the fast recovery area, then do not change the DB_RECOVERY_FILE_DEST and
DB_RECOVERY_FILE_DEST_SIZE initialization parameter seings. However, you must set
DB_CREATE_ONLINE_LOG_DEST_n parameter to an Oracle ASM location for migration of the online
redo logs.
Set the DB_CREATE_FILE_DEST and optional DB_CREATE_ONLINE_LOG_DEST_n initialization
parameters to Oracle ASM disk groups. If the database uses a recovery area, then change the recovery
area location to the Oracle ASM disk group. Also, change the recovery area size.
Run commands in SQL*Plus as shown in the following example. The example assumes that the size of
the fast recovery area is 100 GB and species the disk group +FRA for the fast recovery area.
SQL> STARTUP FORCE NOMOUNT;
SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST=+DATA SID=*;
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=100G SID=*;
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=+FRA SID=*;
3. Set the CONTROL_FILES initialization parameter to Oracle ASM locations.
If using fast recovery area:
SQL> STARTUP FORCE NOMOUNT;
SQL> ALTER SYSTEM SET CONTROL_FILES=+DATA,+FRA SCOPE=SPFILE SID=*;
If not using fast recovery area
SQL> STARTUP FORCE NOMOUNT;
SQL> ALTER SYSTEM SET CONTROL_FILES=+DATA,+DATA SCOPE=SPFILE SID=*;

2/2/2015 11:27 AM

Migrate the Database to Oracle ASM Using RMAN | dba ps and tricks

3 of 5

hps://dbamind.wordpress.com/2014/02/12/migrate-the-database/

4. Migrate the control le to Oracle ASM and mount the control le.
Switch to the RMAN terminal to restore the control le. In the following example, original_cf_name is a
control le name in the initialization parameter le before migration:
RMAN> STARTUP FORCE NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM original_cf_name;
RMAN> ALTER DATABASE MOUNT;
5. Migrate the data les to Oracle ASM.
Use RMAN to switch to the database copy that you created before.
The switch renames all the data les to les on Oracle ASM disk groups. Afterward, recover the
database. If incremental backups were taken, then RMAN applies them during recovery. For example,
enter the following commands at the RMAN prompt:
SWITCH DATABASE TO COPY;
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
RECOVER DATABASE;
}
6. If the database uses block change tracking or Flashback Database, then enable these features.
Note:
If you are not migrating the recovery area, then you do not enable Flashback Database unless you had
disabled it previously.
For example, enter the following statements in SQL*Plus:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE +DATA;
SQL> ALTER DATABASE FLASHBACK ON;
7. Place the database in its normal operation mode.
SQL> ALTER DATABASE OPEN;
8. Drop the temples and re-create them in Oracle ASM.
Use SQL*Plus to re-create the temples. In the following example, the name of the temple in the
original storage is temple_name. The name of the temporary tablespace is temp_tbs_name.
SQL> ALTER DATABASE TEMPFILE temple_name DROP;
SQL> ALTER TABLESPACE temp_tbs_name ADD TEMPFILE;
9. Migrate the online redo log les.
Add new log group members in Oracle ASM and drop the old members. Y
The PL/SQL script assumes that the Oracle Managed Files initialization parameters specied in
step 3 Set Oracle Managed Files initialization parameters to Oracle ASM locations in Migrating the
Database to Oracle ASM Using RMANare set.
Example 8-1 Migrating the online redo logs
SET SERVEROUTPUT ON;
DECLARE
CURSOR rlc IS
SELECT GROUP# GRP, THREAD# THR, BYTES, NO SRL
FROM V$LOG

2/2/2015 11:27 AM

Migrate the Database to Oracle ASM Using RMAN | dba ps and tricks

4 of 5

hps://dbamind.wordpress.com/2014/02/12/migrate-the-database/

UNION
SELECT GROUP# GRP, THREAD# THR, BYTES, YES SRL
FROM V$STANDBY_LOG
ORDER BY 1;
stmt VARCHAR2(2048);
BEGIN
FOR rlcRec IN rlc LOOP
IF (rlcRec.srl = YES) THEN
stmt := ALTER DATABASE ADD STANDBY LOGFILE THREAD ||
rlcRec.thr || SIZE || rlcRec.bytes;
EXECUTE IMMEDIATE stmt;
stmt := ALTER DATABASE DROP STANDBY LOGFILE GROUP || rlcRec.grp;
EXECUTE IMMEDIATE stmt;
ELSE
stmt := ALTER DATABASE ADD LOGFILE THREAD ||
rlcRec.thr || SIZE || rlcRec.bytes;
EXECUTE IMMEDIATE stmt;
BEGIN
stmt := ALTER DATABASE DROP LOGFILE GROUP || rlcRec.grp;
DBMS_OUTPUT.PUT_LINE(stmt);
EXECUTE IMMEDIATE stmt;
EXCEPTION
WHEN OTHERS THEN
EXECUTE IMMEDIATE ALTER SYSTEM SWITCH LOGFILE;
EXECUTE IMMEDIATE ALTER SYSTEM CHECKPOINT GLOBAL;
EXECUTE IMMEDIATE stmt;
END;
END IF;
END LOOP;
END;
/
10. Optionally, migrate backups and copies in the old fast recovery area to Oracle ASM as follows:
1. If foreign archived logs exists in the recovery area, then you cannot migrate them to Oracle ASM. Run
the following command at the RMAN prompt:
RMAN> DELETE REMOTE ARCHIVELOG ALL;
2. Back up archived redo log les, backup sets, and data le copies to Oracle ASM. For example, run the
following command at the RMAN prompt:
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
BACKUP AS COPY ARCHIVELOG ALL DELETE INPUT;
BACKUP BACKUPSET ALL DELETE INPUT;
BACKUP AS COPY DATAFILECOPY ALL DELETE INPUT;
}

2/2/2015 11:27 AM

Migrate the Database to Oracle ASM Using RMAN | dba ps and tricks

5 of 5

hps://dbamind.wordpress.com/2014/02/12/migrate-the-database/

Blog at WordPress.com. | The Greyzed Theme.


Follow

Follow dba tips and tricks


Build a website with WordPress.com

2/2/2015 11:27 AM

Drop an Unmounted ASM diskgroup | dba ps and tricks

hps://dbamind.wordpress.com/2014/03/02/drop-an-unmounted-asm-...

dba tips and tricks


Abdel-Gawad Othman. The DBA Tips and Tricks Store
stay updated via rss

Drop an Unmounted ASM diskgroup


Posted: March 2, 2014 in ASM

0
We are geing our hands dirty with ASM and will be moving all our databases from RAW devices to
ASM in the next couple of months. My worst fear came to be when a Unix Sys Admin used a disk
already allocated to ASM for a local lesystem (luckily this did not happen on a production server!).
When ASM realised this is immediatly issued a ALTER DISKGROUP FLASH_D DISMOUNT FORCE
command.
By the time the Unix Sys Admin returned the disk it was unrecognozable by ASM as the disk headers
had been overwrien. The diskgroup was unrecoverable and unusable.

1 of 3

2/2/2015 11:28 AM

Drop an Unmounted ASM diskgroup | dba ps and tricks

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

hps://dbamind.wordpress.com/2014/03/02/drop-an-unmounted-asm-...

SQL> select GROUP_NUMBER, NAME, state from v$asm_diskgroup;


GROUP_NUMBER NAME STATE
------------ --------- ---------0 FLASH_D DISMOUNTED
2 SIGP_D MOUNTED
3 HRGP_D MOUNTED
3 rows selected.
SQL>alter diskgroup FLASH_D mount;
alter diskgroup FLASH_D mount
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15040: diskgroup is incomplete
ORA-15042: ASM disk "19" is missing
SQL>drop diskgroup FLASH_D including contents;
drop diskgroup FLASH_D including contents
*
ERROR at line 1:
ORA-15039: diskgroup not dropped
ORA-15001: diskgroup "FLASH_D" does not exist or is not mounted
SQL>alter diskgroup FLASH_D check;
alter diskgroup FLASH_D check
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15001: diskgroup "FLASH_D" does not exist or is not mounted

I had to recreate the whole diskgroup from scratch. I followed Metalink Note 387103.1 to recreate the
diskgroup.
Basically you clean up the asm disk header of all the disks in the diskgroup. This will also remove the
whole diskgroup from asm.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

SQL> select 'dd if=/dev/zero of='PATH' bs=8192 count=100' from v$asm_disk where
$dd if=/dev/zero of=/dev/rsigp_flash bs=8192 count=100
100+0 records in
100+0 records out
$dd if=/dev/zero of=/dev/rsigp_flash1 bs=8192 count=100
100+0 records in
100+0 records out
etc ...
SQL> select GROUP_NUMBER, NAME, state from v$asm_diskgroup;
GROUP_NUMBER NAME STATE
------------ --------- ---------2 SIGP_D MOUNTED
3 HRGP_D MOUNTED
2 rows selected.

The diskgroup is now removed. I then used DBCA to recreate the ASM diskgroup, all these disks
showed up as Candidate disks.
2 of 3

2/2/2015 11:28 AM

Drop an Unmounted ASM diskgroup | dba ps and tricks

hps://dbamind.wordpress.com/2014/03/02/drop-an-unmounted-asm-...

(hps://wizpert.com/oracle-database?beta_key=3ba42&ep=27391)

Create a free website or blog at WordPress.com. | The Greyzed Theme.


Follow

Follow dba tips and tricks


Build a website with WordPress.com

3 of 3

2/2/2015 11:28 AM

Document 465189.1

1 of 2

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

Step by Step Procedure to Convert from Enterprise Edition to Standard Edition (Doc ID 465189.1)
In this Document
Goal

Solution

References

APPLIES TO:
Oracle Database - Enterprise Edition - Version 10.2.0.1 and later
Oracle Database - Standard Edition - Version 10.2.0.1 and later
Information in this document applies to any platform.
***Checked for relevance on 24-Jul-2013***

GOAL
How to convert from Enterprise Edition to Standard Edition?

SOLUTION
1) Make sure that you have all the database objects under the SYS schema in VALID status.
Please execute the following sql query:
spool objects.lst
set pagesize500
set linesize 100|
select substr(comp_name,1,40) comp_name, status, substr(version,1,10) version from dba_registry order by
comp_name;
select substr(object_name,1,40) object_name,substr(owner,1,15) owner,object_type from dba_objects where
status='INVALID' order by owner,object_type;
select owner,object_type,count(*) from dba_objects where status='INVALID' group by owner,object_type order by
owner,object_type ;
spool off

If you found any objects in INVALID status, then please review the below article to compile them:
Note 300056.1 - Debug and Validate Invalid Objects
Once all the objects at least under SYS schema are VALID then proceed with the next steps.
2) Stop all the ongoing transactions and take a full (SYS level) export of the whole database.
3) Take cold backup of the ORACLE_HOME, database and central inventory.
4) Install the Oracle 10g SE software in a different ORACLE_HOME or deinstall the EE and install the SE into the same ORACLE_HOME.
5) Create the database after installing the Oracle SE.
6) Import the exported DUMP file to the newly created SE database
Note:
The method as described by importing a full database export from the Enterprise Edition database into a newly created Standard Edition
database is the only option.
There is no method for a 'downgrade' of the existing Enterprise Edition database.

2/2/2015 11:30 AM

Document 465189.1

2 of 2

hps://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrl-st...

Alternative to the traditional export/import, you can also use DataPump (expdp/impdp).

REFERENCES
NOTE:300056.1 - Debug and Validate Invalid Objects
NOTE:100693.1 - Getting Started with Transportable Tablespaces

2/2/2015 11:30 AM

You might also like