Automatic Discovery of Nodes

Hello,
I installed the 10g agent on a host successufully. 10g OEM on another server did not discover the node automatically. I can manaually discover new nodes? Thank you in advance.

on the agent side ...
emctl status agent
see what url its talking on
From the oem server side, try to get to that url.
usually http://xxxx:1810/emd/main I believe.

Similar Messages

  • Automatic discovery of nodes fails

    I have two x86 Linux machines both running RedHat 9 with Oracle 9i (9.2.0.4) installed. Both machines have agents running and have been verified using: agentctl status. When I bring up OEM management consoles on each machine they have discovered their own databases but both are unable to automatically discover each others nodes/databases. The nodes can be manually configured and I then have access to both databases.
    From within OEM I can ping each agent successfully but only on their respective machines of course, since I have had to manually configure the other node.
    I have created net configurations for both using netca and can login to each database using sqlplus with a remote connection from the other machine and database links work also between databases/machines. And tnsping works to each machine at the OS level.
    Why can't I automatically discover the nodes if the machines are both running same OS and same database version and the agents seem to be ok? What am I missing?
    Any suggestions/help would be appreciated!
    Thanks,
    -Diane

    on the agent side ...
    emctl status agent
    see what url its talking on
    From the oem server side, try to get to that url.
    usually http://xxxx:1810/emd/main I believe.

  • Facing issue while trying to disable automatic discovery of devices through Apple Bonjour

    Hi All,
    I am facing issue while trying to disable automatic discovery of devices through Apple Bonjour.
    Background: Whenever our application is in running state, devices are automatically discovered if it connects to PC. We are using Apple Bonjour's auto discovery technology( mdnsresponder ).
    We are registering a particular service type by using DNS API "DNSServiceRegister". Service type is getting registered properly and we are able to discovered that particular type of device.
    Platform:  Windows 7.0 / MAC 10.8
    Issue:
    But we are facing issue while trying to disable auto discovery of a device programmatically. i.e, unregistered a service reference programmatically from our windows application.
    To unregistered a service we are using "DNSServiceRefDeallocate" DNS API. But looks like it is not working properly.
    Is this DNS API “DNSServiceRefDeallocate” is correct one to unregistered the service?
    Here is the step by step procedure that we are following to de-allocate a service reference:
    1.Browsing / Query a service by using service type to get service reference (DNSServiceRef). 
    2.Get reference socket FD by using DNS API "DNSServiceRefSockFD".  
    3.Select a socket by using "select" API.
    4.Close the socket that we got from step 2 by closesocket().
    5.Delete the service reference by using DNS API "DNSServiceRefDeallocate" and service reference from step 1.
    Are we missing any step to unregistered a service? 
    Regards,
    Goutam

    Original problem I noticed was that regular websites I go to (such as msn) were only partially downloading.  I could see the text on the site but no pictures or videos.  All web surfing was extremely slow.  When I would go to a site such as man I would see another address in the lower left corner for "ads1.msads.net" or "cdn.optimizely.com" that is was trying to connect to. I tried using all three of my browsers (firefox, safari, chrome) and got the same response on all browsers.  After I spent some time researching the issue I decided I probably had a adware/malware problem so I decided to try adwaremedic.com.  I could also not access that site along with thesafemac.com or apple.com.  I was also getting the same response on my other devices (iPhone, iPad, and a mac air).  I could not access any of these sites on any of my devices although I could get to almost any other site although it was very slow.  At that point I decided to unplug the router.  I also did a number of other things before then to try and manually get rid of any adware.  Eventually I got msn back working, apple.com, and the speed was much faster.  But, I still can not access adwaremedic and thesafemac.com.  I could access these on my phone with 3G but not on my wifi.  This is where the problem still stands.  I am sure I still have some adware on my computer and need to find a way to remove it.  I am no techie so the complicated manual fixes are difficult for me to do.

  • SCOM Network Discovery - Duplicate nodes with different Device Keys (MAC address)

    Hi There,
    We have deplyed SCOM 2012 SP1 for server and network monitoring. In the "Network Devices" view, there are few duplicate node entries for the same device. When i look at the details of each entry, the device keys (MAC address) are
    different. for example, if there are 3 entires for the same device, only one will have the correct MAC address and remaining 2 are incorrect.
    Have anyone came across such issue? Any solution to avoid the duplicates?
    Thanks.
    Venu.
    Best regards, Venu.

    Last Thursday (9/25/14), Microsoft provided me with an updated version of a file that is used as part of the discovery process.  At first, it appeared to only resolve the issue for some devices which was disappointing.  On Saturday, I decided
    to remove all managed devices and rediscover everything from scratch.  We have 237 devices to monitor.  Since Saturday, I had one ICMP only device duplicate itself, but after I removed the duplicate, I have not had any other duplicates created and
    there have been many rediscoveries ru nsince then.  So far so good.  I've asked Microsoft to keep the case open until next Monday.  This weekend, I have a full discovery scheduled to run on a schedule.  I'll feel good after that if there
    are still no duplicates.
    The file replaced is "ic-iftable.asl" which is located on each management server in the path ""\[ SCOM install directory]\Server\NetworkMonitoring\rules\discovery".  I'm not sure if I'm allowed to share the updated version of
    the file.  I have not received an explanation from the support technician yet as to the root cause.  They took at least 5 sets of trace logs during the discovery and subsequent rediscovery process before giving me this updated file.  I'll let
    you know.

  • 3 node RAC -1 instnance getting down automatically in one node

    Hi,
    We have 3 node RAC system.
    We are facing issue every week that one of the instance in one node among three node getting automatically restart.
    During the time our transaction missing happened. Kindly advice why one node itself getting down and start automatically.
    Thanks
    Raj

    Hi,
    As you are facing node eviction issue, to find out reason please share following details:
    1. clusterware alert log file
    2. cssd.log file
    3. crsd.log file
    4. No. of voting disks (*sometimes if you have only one voting disk, one node will be evicted automatically as i have observed*)
    Regards,
    Ashish Shukla

  • Automatic discovery not working if empty WebSphere Application Server folders in Windows registry

    We were trying to discover WebSphere 8.5.5 servers in our environment but the JEE MP couldn't find them. The discovery wrote this kind of error to the Windows Log:
    The process started at 8:56:25 AM failed to create System.Discovery.Data. Errors found in output:
    C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Monitoring Host Temporary Files 9\73626\Microsoft.JEE.WebSphere.Install.Discover.vbs(196, 1) Microsoft VBScript runtime error: Object not a collection
    Command executed: "C:\Windows\system32\cscript.exe" /nologo "Microsoft.JEE.WebSphere.Install.Discover.vbs" {10FEBF68-F318-4F09-8E6B-4567D66E2559} {014E39AA-B032-13EC-E5F1-3B880E645FFC} ServerName {D7E586A0-5480-9B71-F731-D3F15B3627FD} "8"
    Working Directory: C:\Program Files\Microsoft Monitoring Agent\Agent\Health Service State\Monitoring Host Temporary Files 9\73626\
    One or more workflows were affected by this.
    Workflow name: Microsoft.JEE.WebSphere.8.Windows.Installation.Discovery
    Instance name: ServerName
    Instance ID: {014E39AA-B032-13EC-E5F1-3B880E645FFC}
    Management group: SOKSCOM2012
    I investigated the discovery vbs script and Windows registry and found out that one of the users had empty WebSphere Application Server folder under Software/IBM in Windows registry. This was probably left after uninstallation of WAS. After I removed the
    empty registry entry then the auto-discovery found WAS instances.
    Would it be possible to enhance the discovery vbs script to exclude empty USER/Software/IBM/WebSphere Application Server key folder in the next version?

    I have contacted IIS forum support.
    Please review the link: http://forums.iis.net/p/1213109/2079229.aspx?Re+Windows+Server+2012+Printing+using+UNC+path+not+working
    Their final response:
    Printing from ASP.NET using System.Drawing.Printing itself is a horrible approach, as this namespace was designed for Windows Forms only. The designers did not take everything about ASP.NET in mind, so any issue can happen. That can answer why the HP model
    works while the Samsung fails, as the HP one just "happens
    to work",
    http://msdn.microsoft.com/en-us/library/system.drawing.printing.printdocument.aspx
    Similarly, System.Printing was designed just for WPF.
    About which printing API to use in ASP.NET/IIS, there is no clear answer so far. Thus, your only resource is Microsoft support, who can perform further analysis (with their dedicate utilities and of course Windows source code) and might come across a solution
    to help you out. This is not a trivial scenario.

  • What is behind the scenes of "Automatic Discovery of Cluster Members?"

    Do any of you know the basic mechenism ( or concept ) of authomatic discovery of cluster members?
    And how can we be confident that an application deployed anywhere on the network (LAN,WAN, or the Internet) can join a cluster?
    Sorry for this clumsy question, but I realy need to know this.
    Thanks in advance!
    Scott

    Hi Scott,
    Coherence uses a protocol called TCMP which is described in the following Wiki article:
    http://wiki.tangosol.com/display/COH32UG/Network+Protocols
    By default, multicast is used to discover if a cluster is already running that the new member may join.
    In order to test multicast in your environment, you need to run the multicast test:
    http://wiki.tangosol.com/display/COH32UG/Multicast+Test
    Some environments don't allow multicast or some switches don't handle multicast very well, in which case you'd need to run using WKA (Well Known Address):
    http://wiki.tangosol.com/display/COH32UG/well-known-addresses
    Regards,
    Jon Hall.
    p.s. once you've confirmed that clustering is taking place (either using the default of multicast or using WKA), then you should run the datagram test to test your network's performance:
    http://wiki.tangosol.com/display/COH32UG/Datagram+Test
    Also, check out the production checklist as this has lots of really good information in it that will be useful going forward:
    http://wiki.tangosol.com/display/COH32UG/Production+Checklist

  • Automatic discovery of Vista PC on network?

    So I have the MacBook, and I have a Windows Vista desktop. They can see each other fine; on my Mac I can click "Go -> Connect to Server..." and put in my Vista PC's IP address and it will come up. Similarly, I can click "Start" and type in my Mac's IP address and it will come up.
    My question is why don't they automatically come up in their respective network browsers? Why can't I go to "Go -> Network" and see my PC?
    Would appreciate some tips on how to get that going. It's not a huge annoyance that it doesn't work, but it would be nice if it did.
    Thanks in advance.

    If there was any error message that might help others give you an answer.
    I would also go to the PC Firewall and add Port 631 to the File and Printer Sharing option.
    I take it that the Firewall is allowing File and Printer Sharing as you said the option was turned On ?
    Otherwise I have nothing else.
    8:10 PM Wednesday; March 17, 2010
    Please, if posting Logs, do not post any Log info after the line "Binary Images for iChat"

  • EM for Coherence - Cannot automatically start departed storage enabled nodes

    Hi Guru,
    I have a cluster with 4 storage enabled nodes. I want EM to monitor those 4 storage enabled nodes and automatically bring up nodes if  down.  So i set the "Nodes Replenish and Entity Discovery Alert Metric ->
    Cluster Size Change (To Replenish Nodes)" as follows:
             Warning Threshold: Not Defined
              Critical Threshold: 3
              Comparision Operator: <
              Occurrences Before Alert: 1
    I manually killed 2 storage nodes and hope EM can automatically bring up them. But unfortunately, this never happen. I even cannot see the correct "Severity Message" displayed on GUI, it always shows "0 nodes departed Coherence cluster". 
    Did anyone have the similar problem? Any hints are appreciated!
    Thanks
    Hysun

    Hi,
    It looks like your cache servers have not used the correct cache configuration file so they do not have a service with the name DistributedSessions. You can see this in your log output here:
    Services
      ClusterService{Name=Cluster, State=(SERVICE_STARTED, STATE_JOINED), Id=0, Version=3.7.1, OldestMemberId=5}
      InvocationService{Name=Management, State=(SERVICE_STARTED), Id=1, Version=3.1, OldestMemberId=5}
      PartitionedCache{Name=DistributedCache, State=(SERVICE_STARTED), LocalStorage=enabled, PartitionCount=257, BackupCount=1, AssignedPartitions=257, BackupPartitions=0}
      ReplicatedCache{Name=ReplicatedCache, State=(SERVICE_STARTED), Id=3, Version=3.0, OldestMemberId=2}
      Optimistic{Name=OptimisticCache, State=(SERVICE_STARTED), Id=4, Version=3.0, OldestMemberId=2}
      InvocationService{Name=InvocationService, State=(SERVICE_STARTED), Id=5, Version=3.1, OldestMemberId=2}
    You said in the original post that you used the following JVM arguments:
    -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.session.localstorage=true -Dtangosol.coherence.cluster=CoherenceCluster -Dtangosol.coherence.clusteraddress=231.1.3.4 -Dtangosol.coherence.clusterport=7744
    ...but none of those specify the cache configuration to use (in your case session-cache-config.xml) so the node will use the default configuration file; the default name is coherence-cache-config.xml which is inside the Coherence jar file.
    You need to add the following JVM argument
    -Dtangosol.coherence.cacheconfig=session-cache-config.xml -Dtangosol.coherence.distributed.localstorage=true -Dtangosol.coherence.session.localstorage=true -Dtangosol.coherence.cluster=CoherenceCluster -Dtangosol.coherence.clusteraddress=231.1.3.4 -Dtangosol.coherence.clusterport=7744
    JK

  • Problem with childs nodes and automatic key mapping in a Data Object

    Hi experts!
    I'm doing the service order tutorial from the mobile help at [this link|http://help.sap.com/saphelp_nwmobile71/helpdata/en/21/9b5b924c3b434fba4767731794b029/frameset.htm] and I have a problem...
    In the topic "Modeling the Equipment Data Object", says you have to mark the "Automatic Key Mapping" checkbox. So when I had to create a third child node ( the location node ) the system raised an exception with the message "Deselect automatic key mapping flag for more than two-level nodes". I'm trying deselecting the flag and creating the location node, but when I want mark again the automatic key mapping flag, this is disabled.
    What can I do to solve this and create the three child nodes with the flag marked? It's a configuration thing?
    Any help it's very welcome. Thanks in advance.
    Best regards,
    Simon.

    The thing is: Its not allowed to use automatic keymapping if you have more than two levels. This is why the message showed up, and this is why its been disabled.
    What automatic keymapping does: Figures out automatically which child node belongs to which parent (by guessing from the field name and type, which fields in the child correspond to which key fields of the parent).
    On three levels, this becomes more complicated => Its disabled.
    How to do keymapping yourself instead of having the DOE do it automatically: Do 'Explicit keymapping' from each child to its parent. Explicit keymapping is done by clicking on the corresponding menu button in the child node. Here you need to associate child node fields (they need not be key fields of the child, but they are allowed to be that as well) to each of its parent nodes key fields (so that each child can be associated to its parent).
    Cheers

  • ISE - Discovery Host

    Dear All,
    I am facing issue with automatic discovery of ISE node by NAC agent (Discovery Host). Our client was using Cisco NAC 3310 appliances which has been replaced by ISE and we have upgraded the NAC agent software as well. Now what is happening that whenever NAC agent starts on a user PC it shows ip address of old NAC manager in the discovery host field of NAC agent and due to this, posture assesment doesn't complete and user gets stuck in remediation state.
    As a work arround , I changed the ip address manually in Discovery Host option of NAC agent to point towards new ISE node and then posture assesment gets completed. So kindly advice how I can make this process automatic so that NAC agent should communicated with ISE automatically.
    Regards,
    Mujeeb

    Hi,
    It has been resolved without manual entry in NAC agent or NACAgentCFG file. Actually the redirection was not working properly for agent so I changed the redirect ACL as follows,
    ip access-list ext ACL-AGENT-REDIRECT
        #deny udp any any eq 53
        #permit tcp any any eq 80
    Kindly refer following document for the same.
    http://www.cisco.com/en/US/solutions/collateral/ns340/ns414/ns742/ns744/docs/howto_10_universal_switch_config.pdf
    Now the agent is able to find the primary ISE node and posture is woking fine.
    Regards,
    Mujeeb

  • Intelligent agent, adding nodes & databases

    Hello
    I am trying to add remote databases (8i on Linux) using Management Server in OEM (9i on
    Windows)
    The node successfully gets discovered
    But the message in Oracle Home Information that I am getting is
    "Oracle Home information not available. Please upgrade to agent version 9.0 or higher."
    Linux m/c's node is added successfully. But I am not able to see the nodes like Databases, HTTP Servers, Listeners etc under the node it
    And since it has automatically discovered the node, it doesnt give me the option to add the
    databases manually
    Searched on metalink and got to know (in Note 160427.1) that nmumigr8 utility has to be run
    But this needs to be run on the remote database that needs to be added in OEM
    I do not have any installation of 9i on Linux
    Where will I get this utility ?
    Is there anything I am interpreting wrong ?
    What shall I do ?

    Hi,
    Sometimes Agent on target node gets messed up.
    Try to clear it up by removing the Linux node from OEM Navigator, then go to Linux box, stop the agent, then remove following files on Linux box:
    $ORACLE_HOME/network/agent/*.q
    $ORACLE_HOME/network/agent/services.ora
    $ORACLE_HOME/network/admin/snmp*.ora
    Then start Agent again and check $ORACLE_HOME/network/agent/services.ora - normally you should see database, listener and node as entries there.
    If you do not see your database in the file, then probably something messed up with your listener.ora file, cause this is where Agent finds out about your database.
    If you do see you database in the $ORACLE_HOME/network/agent/services.ora, then go ahead and do node discovery in the OEM
    I have 37 nodes with 60 databases in my OEM setup, it should work. I use OEM 9.2 with targets ranging from 8.1.6 to 9.2
    Good luck
    Albert

  • Useful Code of the Day:  Hideable Tree Nodes

    Someone posted about how they could selectively hide tree nodes, and I already had this AbstractTreeModel class (which does some things DefaultTreeModel does and some it doesn't) and a concrete subclass for TreeNode objects, so I was thinking how one could do hideable nodes. So I came up with this solution.
    There's 4 classes here:
    - AbstractTreeModel is the base for the concrete TreeNodeTreeModel
    - TreeNodeTreeModel extends AbstractTreeModel to support TreeNodes (DefautlMutableTreeNode, etc.)
    - HideableMutableTreeNode which is a DefautlMutableTreeNode subclass which has a visible field (with is/set methods, of course).
    - HideableTreeModel is the hideable model which is a subclass of TreeNodeTreeModel.
    A HideableMutableTreeNode can be set invisible directly, but the tree still needs to be notified to update. So it's best to use the methods in HideableTreeModel which set a node's visibility which notify the tree of changes accordingly. Methods are also provided to check a full path's visibility or ensure a node including all parent nodes are visible.
    A HideableTreeModel can take any TreeNode class, it doesn't have to be all HideableMutableTreeNodes, but only HideableMutableTreeNodes can be made invisible, of course. Any other TreeNode type would just be considered visible.
    Hiding nodes works basically by making the tree think there's less nodes then there are. And to do this, the node counts and child index search just works by looping thru the parent's children. This has potential perfomance drawbacks of course, since one has to loop thru the node's children to get nodes every time. This could be alleviated by not supporting non-hideable nodes changing the internal maintenance of HideableMutableTreeNode contents. But I'll leave that to whoever really needs it. It shouldn't be a problem if there are are a relatively small set of child nodes in any given parent.
    Also, note that the root node in the model cannot be made invisible, cuz it'd be redundant since JTree can be set to hide the root node.
    // *** HideableTreeModel ***
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    * <code>HideableTreeModel</code> is an <code>TreeNodeTreeModel</code>
    * implementation for <code>HideableMutableTreeNode</code> objects.  The
    * model can also take any other <code>javax.swing.tree.TreeNode</code>
    * objects. 
    public class HideableTreeModel extends TreeNodeTreeModel {
          * Creates a new <code>HideableTreeModel</code> object.
          * @param  root  the root node
         public HideableTreeModel(TreeNode root) {
              super(root);
          * Checks if the specified node is visible.  A node can only be
          * hidden if the node is an instance of <code>HideableMutableTreeNode</code>.  <br />
          * <br />
          * Note that this only test the visibility of the specified node, not
          * whether a parent node is visible.  Use <code>isPathToNodeVisible(Object)</code>
          * to check if the full path is visible. 
          * @param  node  the node
          * @param  true if the node is visible, else false
         public boolean isNodeVisible(Object node) {
              if(node != getRoot()) {
                   if(node instanceof HideableMutableTreeNode) {
                        return ((HideableMutableTreeNode)node).isVisible();
              return true;
          * Sets the specified node to be hidden.  A node can only be made hidden
          * if the node is an instance of <code>HideableMutableTreeNode</code>.  <br />
          * <br />
          * Note that this method will notify the tree to reflect any changes to
          * node visibility.  <br />
          * <br />
          * Note that this will not alter the visibility of any nodes in the
          * specified node's path to the root node.  Use
          * <code>ensurePathToNodeVisible(Object)</code> instead to make sure the
          * full path down to that node is visible.  <br />
          * <br />
          * Note that this method will notify the tree to reflect any changes to
          * node visibility. 
          * @param  node  the node
          * @param  v     true for visible, false for hidden
          * @param  true if the node's visibility could actually change, else false
         public boolean setNodeVisible(Object node, boolean v) {
              // can't hide root
              if(node != getRoot()) {
                   if(node instanceof HideableMutableTreeNode) {
                        HideableMutableTreeNode n = (HideableMutableTreeNode)node;
                        // don't fix what ain't broke...
                        if(v != n.isVisible()) {
                             TreeNode parent = n.getParent();
                             if(v) {
                                  // need to get index after showing...
                                  n.setVisible(v);
                                  int index = getIndexOfChild(parent, n);
                                  super.nodeInserted(parent, n, index);
                             } else {
                                  // need to get index before hiding...
                                  int index = getIndexOfChild(parent, n);
                                  n.setVisible(v);
                                  super.nodeRemoved(parent, n, index);
                        return true;
              return false;
          * Checks if the specified node is visible and all nodes above it are
          * visible. 
          * @param  node  the node
          * @param  true if the path is visible, else false
         public boolean isPathToNodeVisible(Object node) {
              Object[] path = getPathToRoot(node);
              for(int i = 0; i < path.length; i++) {
                   if(!isNodeVisible(path)) {
                        return false;
              return true;
         * Sets the specified node and all nodes above it to be visible.
         * Note that this method will notify the tree to reflect any changes to
         * node visibility.
         * @param node the node
         public void ensurePathToNodeVisible(Object node) {
              Object[] path = getPathToRoot(node);
              for(int i = 0; i < path.length; i++) {
                   setNodeVisible(path[i], true);
         * Returns the child of parent at index index in the parent's child array.
         * @param parent the parent node
         * @param index the index
         * @return the child or null if no children
         public Object getChild(Object parent, int index) {
              if(parent instanceof TreeNode) {
                   TreeNode p = (TreeNode)parent;
                   for(int i = 0, j = -1; i < p.getChildCount(); i++) {
                        TreeNode pc = (TreeNode)p.getChildAt(i);
                        if(isNodeVisible(pc)) {
                             j++;
                        if(j == index) {
                             return pc;
              return null;
         * Returns the number of children of parent.
         * @param parent the parent node
         * @return the child count
         public int getChildCount(Object parent) {
              int count = 0;
              if(parent instanceof TreeNode) {
                   TreeNode p = (TreeNode)parent;
                   for(int i = 0; i < p.getChildCount(); i++) {
                        TreeNode pc = (TreeNode)p.getChildAt(i);
                        if(isNodeVisible(pc)) {
                             count++;
              return count;
         * Returns the index of child in parent.
         * @param parent the parent node
         * @param child the child node
         * @return the index of the child node in the parent
         public int getIndexOfChild(Object parent, Object child) {
              int index = -1;
              if(parent instanceof TreeNode && child instanceof TreeNode) {
                   TreeNode p = (TreeNode)parent;
                   TreeNode c = (TreeNode)child;
                   if(isNodeVisible(c)) {
                        index = 0;
                        for(int i = 0; i < p.getChildCount(); i++) {
                             TreeNode pc = (TreeNode)p.getChildAt(i);
                             if(pc.equals(c)) {
                                  return index;
                             if(isNodeVisible(pc)) {
                                  index++;
              return index;
         * Main method for testing.
         * @param args the command-line arguments
         public static void main(String[] args) {
              JFrame f = new JFrame();
              f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              HideableMutableTreeNode root = new HideableMutableTreeNode("root");
              root.add(new HideableMutableTreeNode("child_1"));
              final HideableMutableTreeNode c2 = new HideableMutableTreeNode("child_2");
              c2.setVisible(false);
              final HideableMutableTreeNode c2a = new HideableMutableTreeNode("child_2_A");
              c2.add(c2a);
              c2.add(new HideableMutableTreeNode("child_2_B"));
              root.add(c2);
              HideableMutableTreeNode c3 = new HideableMutableTreeNode("child_3");
              HideableMutableTreeNode cC = new HideableMutableTreeNode("child_3_C");
              cC.setVisible(false);
              c3.add(cC);
              c3.add(new HideableMutableTreeNode("child_3_D"));
              root.add(c3);
              root.add(new HideableMutableTreeNode("child_4"));
              root.add(new HideableMutableTreeNode("child_5"));
              DefaultMutableTreeNode c6 = new DefaultMutableTreeNode("child_6");
              c6.add(new DefaultMutableTreeNode("child_6_A"));
              c6.add(new DefaultMutableTreeNode("child_6_B"));
              root.add(c6);
              final HideableTreeModel model = new HideableTreeModel(root);
              JTree tree = new JTree(model);
              f.getContentPane().add(new JScrollPane(tree), BorderLayout.CENTER);
              JButton b = new JButton("toggle");
              b.addActionListener(new ActionListener() {
                   public void actionPerformed(ActionEvent e) {
                        model.setNodeVisible(c2, !model.isNodeVisible(c2));
                        //model.ensurePathToNodeVisible(c2a);
              f.getContentPane().add(b, BorderLayout.SOUTH);
              f.pack();
              f.setSize(300, 500);
              f.show();
    // *** HideableMutableTreeNode ***
    import javax.swing.*;
    import javax.swing.tree.*;
    * <code>HideableMutableTreeNode</code> is a <code>DefaultMutableTreeNode</code>
    * implementation that works with <code>HideableTreeModel</code>.
    public class HideableMutableTreeNode extends DefaultMutableTreeNode {
         * The node is visible flag.
         public boolean visible = true;
         * Creates a tree node that has no parent and no children, but which
         * allows children.
         public HideableMutableTreeNode() {
              super();
         * Creates a tree node with no parent, no children, but which allows
         * children, and initializes it with the specified user object.
         * @param userObject - an Object provided by the user that
         * constitutes the node's data
         public HideableMutableTreeNode(Object userObject) {
              super(userObject);
         * Creates a tree node with no parent, no children, initialized with the
         * specified user object, and that allows children only if specified.
         * @param userObject - an Object provided by the user that
         * constitutes the node's data
         * @param allowsChildren - if true, the node is allowed to have child
         * nodes -- otherwise, it is always a leaf node
         public HideableMutableTreeNode(Object userObject, boolean allowsChildren) {
              super(userObject, allowsChildren);
         * Checks if the node is visible.
         * @return true if the node is visible, else false
         public boolean isVisible() {
              return this.visible;
         * Sets if the node is visible.
         * @param v true if the node is visible, else false
         public void setVisible(boolean v) {
              this.visible = v;
    // *** TreeNodeTreeModel ***
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    * <code>TreeNodeTreeModel</code> is an <code>AbstractTreeModel</code>
    * implementation for <code>javax.swing.tree.TreeNode</code> objects.
    public class TreeNodeTreeModel extends AbstractTreeModel {
         * Creates a new <code>TreeNodeTreeModel</code> object.
         * @param root the root node
         public TreeNodeTreeModel(TreeNode root) {
              super();
              setRoot(root);
         * Returns the parent of the child node.
         * @param node the child node
         * @return the parent or null if root
         public Object getParent(Object node) {
              if(node != getRoot() && (node instanceof TreeNode)) {
                   return ((TreeNode)node).getParent();
              return null;
         * Returns the child of parent at index index in the parent's child array.
         * @param parent the parent node
         * @param index the index
         * @return the child or null if no children
         public Object getChild(Object parent, int index) {
              if(parent instanceof TreeNode) {
                   return ((TreeNode)parent).getChildAt(index);
              return null;
         * Returns the number of children of parent.
         * @param parent the parent node
         * @return the child count
         public int getChildCount(Object parent) {
              if(parent instanceof TreeNode) {
                   return ((TreeNode)parent).getChildCount();
              return 0;
         * Returns the index of child in parent.
         * @param parent the parent node
         * @param child the child node
         * @return the index of the child node in the parent
         public int getIndexOfChild(Object parent, Object child) {
              if(parent instanceof TreeNode && child instanceof TreeNode) {
                   return ((TreeNode)parent).getIndex((TreeNode)child);
              return -1;
         * Returns true if node is a leaf.
         * @param node the node
         * @return true if the node is a leaf
         public boolean isLeaf(Object node) {
              if(node instanceof TreeNode) {
                   return ((TreeNode)node).isLeaf();
              return true;
         * Main method for testing.
         * @param args the command-line arguments
         public static void main(String[] args) {
              JFrame f = new JFrame();
              f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              DefaultMutableTreeNode root = new DefaultMutableTreeNode("root");
              root.add(new DefaultMutableTreeNode("child_1"));
              DefaultMutableTreeNode c2 = new DefaultMutableTreeNode("child_2");
              c2.add(new DefaultMutableTreeNode("child_2_A"));
              c2.add(new DefaultMutableTreeNode("child_2_B"));
              root.add(c2);
              root.add(new DefaultMutableTreeNode("child_3"));
              root.add(new DefaultMutableTreeNode("child_4"));
              JTree tree = new JTree(new TreeNodeTreeModel(root));
              f.getContentPane().add(new JScrollPane(tree));
              f.pack();
              f.setSize(300, 500);
              f.show();
    // *** AbstractTreeModel ***
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.*;
    import java.text.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    public abstract class AbstractTreeModel implements TreeModel {
         * The list of tree model listeners.
         private Vector modelListeners = new Vector();
         * The root object of the tree.
         private Object root = null;
         * Basic no-op constructor.
         public AbstractTreeModel() {
         * Gets the root object of the tree.
         * @return the root object
         public Object getRoot() {
              return this.root;
         * Sets the root object of the tree.
         * @param r the root object
         protected void setRoot(Object r) {
              this.root = r;
         * Gets the path to the root node for the specified object.
         * @param node the root node
         * @return the path to the object or <CODE>null</CODE>
         public Object[] getPathToRoot(Object node) {
              return getPathToRoot(node, 0);
         * Gets the path to the root node for the specified object.
         * @param node the root node
         * @param i the current index
         * @return the path to the object or <CODE>null</CODE>
         private Object[] getPathToRoot(Object node, int i) {
              Object anode[];
              if(node == null) {
                   if(i == 0) {
                        return null;
                   anode = new Object[i];
              } else {
                   i++;
                   if(node == getRoot()) {
                        anode = new Object[i];
                   } else {
                        anode = getPathToRoot(getParent(node), i);
                   anode[anode.length - i] = node;
              return anode;
         * Gets the parent object of the specified object. This method is not
         * part of the <code>javax.swing.tree.TreeModel</code> interface, but is
         * required to support the <code>getPathToRoot(Object)</code> method,
         * which is widely used in this class. Therefore, it is important to
         * correctly implement this method.
         * @param obj the object
         * @parma the parent object or null if no parent or invalid object
         protected abstract Object getParent(Object obj);
         * Adds a listener for the <CODE>TreeModelEvent</CODE> posted after the
         * tree changes.
         * @param l the tree model listener
         public void addTreeModelListener(TreeModelListener l) {
              modelListeners.addElement(l);
         * Removes a listener previously added with addTreeModelListener().
         * @param l the tree model listener
         public void removeTreeModelListener(TreeModelListener l) {
              modelListeners.removeElement(l);
         * Forces the tree to reload. This is useful when many changes occur
         * under the root node in the tree structure.
         * <b>NOTE:</b> This will cause the tree to be collapsed. To maintain
         * the expanded nodes, see the <code>getExpandedPaths(JTree)</code>
         * and <code>expandPaths(JTree, ArrayList)</code> methods.
         * @see #getExpandedPaths(JTree)
         * @see #expandPaths(JTree, ArrayList)
         public void reload() {
              reload(getRoot());
         * Forces the tree to repaint. This is useful when many changes occur
         * under a specific node in the tree structure.
         * <b>NOTE:</b> This will cause the tree to be collapsed below the
         * updated node.
         * @param node the node that changed
         public void reload(Object node) {
              if(node != null) {
                   TreePath tp = new TreePath(getPathToRoot(node));
                   fireTreeStructureChanged(new TreeModelEvent(this, tp));
         * Messaged when the user has altered the value for the item identified
         * by <CODE>path</CODE> to <CODE>newValue</CODE>.
         * @param path the path to the changed object
         * @param newValue the new value
         public void valueForPathChanged(TreePath path, Object newValue) {
              nodeChanged(path.getLastPathComponent());
         * Notifies the tree that nodes were inserted. The index is looked up
         * automatically.
         * @param node the parent node
         * @param child the inserted child node
         public void nodeInserted(Object node, Object child) {
              nodeInserted(node, child, -1);
         * Notifies the tree that nodes were inserted.
         * @param node the parent node
         * @param child the inserted child node
         * @param index the index of the child
         public void nodeInserted(Object node, Object child, int index) {
              if(index < 0) {
                   index = getIndexOfChild(node, child);
              if(node != null && child != null && index >= 0) {
                   TreePath tp = new TreePath(getPathToRoot(node));
                   int[] ai = { index };
                   Object[] ac = { child };
                   fireTreeNodesInserted(new TreeModelEvent(this, tp, ai, ac));
         * Notifies the tree that nodes were removed. The index is required
         * since by this point, the object will no longer be in the tree.
         * @param node the parent node
         * @param child the removed child node
         * @param index the index of the child
         public void nodeRemoved(Object node, Object child, int index) {
              if(node != null && child != null && index >= 0) {
                   TreePath tp = new TreePath(getPathToRoot(node));
                   int[] ai = { index };
                   Object[] ac = { child };
                   fireTreeNodesRemoved(new TreeModelEvent(this, tp, ai, ac));
         * Notifies the tree that a node was changed.
         * @param node the changed node
         public void nodeChanged(Object node) {
              if(node != null) {
                   TreePath tp = new TreePath(getPathToRoot(node));
                   fireTreeNodesChanged(new TreeModelEvent(this, tp, null, null));
         * Fires "tree nodes changed" events to all listeners.
         * @param event the tree model event
         protected void fireTreeNodesChanged(TreeModelEvent event) {
              for(int i = 0; i < modelListeners.size(); i++) {
                   ((TreeModelListener)modelListeners.elementAt(i)).treeNodesChanged(event);
         * Fires "tree nodes inserted" events to all listeners.
         * @param event the tree model event
         protected void fireTreeNodesInserted(TreeModelEvent event) {
              for(int i = 0; i < modelListeners.size(); i++) {
                   ((TreeModelListener)modelListeners.elementAt(i)).treeNodesInserted(event);
         * Fires "tree nodes removed" events to all listeners.
         * @param event the tree model event
         protected void fireTreeNodesRemoved(TreeModelEvent event) {
              for(int i = 0; i < modelListeners.size(); i++) {
                   ((TreeModelListener)modelListeners.elementAt(i)).treeNodesRemoved(event);
         * Fires "tree structure changed" events to all listeners.
         * @param event the tree model event
         protected void fireTreeStructureChanged(TreeModelEvent event) {
              for(int i = 0; i < modelListeners.size(); i++) {
                   ((TreeModelListener)modelListeners.elementAt(i)).treeStructureChanged(event);
         * Records the list of currently expanded paths in the specified tree.
         * This method is meant to be called before calling the
         * <code>reload()</code> methods to allow the tree to store the paths.
         * @param tree the tree
         * @param pathlist the list of expanded paths
         public ArrayList getExpandedPaths(JTree tree) {
              ArrayList expandedPaths = new ArrayList();
              addExpandedPaths(tree, tree.getPathForRow(0), expandedPaths);
              return expandedPaths;
         * Adds the expanded descendants of the specifed path in the specified
         * tree to the internal expanded list.
         * @param tree the tree
         * @param path the path
         * @param pathlist the list of expanded paths
         private void addExpandedPaths(JTree tree, TreePath path, ArrayList pathlist) {
              Enumeration enum = tree.getExpandedDescendants(path);
              while(enum.hasMoreElements()) {
                   TreePath tp = (TreePath)enum.nextElement();
                   pathlist.add(tp);
                   addExpandedPaths(tree, tp, pathlist);
         * Re-expands the expanded paths in the specified tree. This method is
         * meant to be called before calling the <code>reload()</code> methods
         * to allow the tree to store the paths.
         * @param tree the tree
         * @param pathlist the list of expanded paths
         public void expandPaths(JTree tree, ArrayList pathlist) {
              for(int i = 0; i < pathlist.size(); i++) {
                   tree.expandPath((TreePath)pathlist.get(i));

    Hey
    I'm not trying to show anyone up here, but having just built a tree model for displaying an XML document in a tree, I thought this seemed like a neat exercise.
    I implemented this very differently from the @OP. I only have one class, HiddenNodeTreeModel. All the hidden node data is stored in the model itself in my class. The advantage of what I've created is it will work with any TreeModel. The disadvantage is that I think it's not going to be very scalable - the additional computing to get the number of child nodes and to adjust indexes is heavy. So if you need a scalable solution definitely don't use this.
    Anyway here you go
    HiddenNodeTreeModel.java
    ======================
    package tjacobs.ui.tree;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Iterator;
    import javax.swing.JFrame;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JTree;
    import javax.swing.event.TreeModelListener;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.TreeModel;
    import javax.swing.tree.TreePath;
    import tjacobs.ui.WindowUtilities;
    public class HiddenNodeTreeModel implements TreeModel {
         TreeModel mModel;
         ArrayList<Object> mHidden = new ArrayList<Object>();
         public HiddenNodeTreeModel (TreeModel model) {
              mModel = model;
         public void addTreeModelListener(TreeModelListener arg0) {
              mModel.addTreeModelListener(arg0);
         private ArrayList<Integer> getHiddenChildren(Object parent) {
              ArrayList<Integer> spots = new ArrayList<Integer>();
              Iterator _i = mHidden.iterator();
              while (_i.hasNext()) {
                   Object hidden = _i.next();
                   int idx = mModel.getIndexOfChild(parent, hidden);
                   if (idx != -1) {
                        spots.add(idx);
              return spots;
         public Object getChild(Object arg0, int index) {
              ArrayList<Integer> spots = getHiddenChildren(arg0);
              Collections.sort(spots);
              Iterator<Integer> _i = spots.iterator();
              while (_i.hasNext()) {
                   int num = _i.next();
                   if (num <= index) {
                        index++;
              return mModel.getChild(arg0, index);
         public int getChildCount(Object arg0) {
              ArrayList list = getHiddenChildren(arg0);
              System.out.println("size = " + list.size());
              return mModel.getChildCount(arg0) - list.size();
         public int getIndexOfChild(Object arg0, Object arg1) {
              int index = mModel.getIndexOfChild(arg0, arg1);
              ArrayList<Integer> spots = getHiddenChildren(arg0);
              Collections.sort(spots);
              Iterator<Integer> _i = spots.iterator();
              int toSub = 0;
              while (_i.hasNext()) {
                   int num = _i.next();
                   if (num <= index) {
                        toSub++;
              return index - toSub;
         public Object getRoot() {
              // TODO Auto-generated method stub
              return mModel.getRoot();
         public boolean isLeaf(Object arg0) {
              // TODO Auto-generated method stub
              return mModel.isLeaf(arg0);
         public void removeTreeModelListener(TreeModelListener arg0) {
              mModel.removeTreeModelListener(arg0);
         public void valueForPathChanged(TreePath arg0, Object arg1) {
              mModel.valueForPathChanged(arg0, arg1);
         public void hideNode(Object node) {
              if (node instanceof TreePath) {
                   node = ((TreePath)node).getLastPathComponent();
              mHidden.add(node);
         public void showNode(Object node) {
              mHidden.remove(node);
         public void showAll() {
              mHidden.clear();
          * @param args
         public static void main(String[] args) {
              // TODO Auto-generated method stub
              DefaultMutableTreeNode A = new DefaultMutableTreeNode("A");
              DefaultMutableTreeNode B = new DefaultMutableTreeNode("B");
              DefaultMutableTreeNode C = new DefaultMutableTreeNode("C");
              DefaultMutableTreeNode D = new DefaultMutableTreeNode("D");
              DefaultMutableTreeNode E = new DefaultMutableTreeNode("E");
              DefaultMutableTreeNode F = new DefaultMutableTreeNode("F");
              A.add(B);
              B.add(C);
              B.add(D);
              B.add(E);
              E.add(F);
              DefaultTreeModel model = new DefaultTreeModel(A);
              final HiddenNodeTreeModel hmodel = new HiddenNodeTreeModel(model);
              final JTree tree = new JTree(hmodel);
              JFrame jf = new JFrame("HiddenNodeTreeModel Test");
              jf.add(tree);
              JMenuBar bar = new JMenuBar();
              jf.setJMenuBar(bar);
              JMenu menu = new JMenu("Options");
              bar.add(menu);
              final JMenuItem hide = new JMenuItem("Hide");
              final JMenuItem show = new JMenuItem("ShowAll");
              menu.add(hide);
              menu.add(show);
              ActionListener al = new ActionListener() {
                   public void actionPerformed(ActionEvent ae) {
                        if (ae.getSource() == hide) {
                             hmodel.hideNode(tree.getSelectionPath());
                             tree.updateUI();
                        else {
                             hmodel.showAll();
                             tree.updateUI();
              hide.addActionListener(al);
              show.addActionListener(al);
              jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              jf.setBounds(100,100,100,100);
              jf.setVisible(true);
    }

  • Problem in NODE 1 after reboot

    Hi,
    Oracle Version:11gR2
    Operating System:Cent Os
    Hi we have some problem in node 1 after sudden reboot of both the nodes when the servers are up the database in node 2 started automatically but in node 1 we started manually.
    But inthe CRSCTL command it is showing that node 1 database is down as show below.
    [root@rac1 bin]# ./crsctl stat res -t
    NAME           TARGET  STATE        SERVER                   STATE_DETAILS
    Local Resources
    ora.ASM_DATA.dg
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.ASM_FRA.dg
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.OCR_VOTE.dg
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.asm
                   ONLINE  ONLINE       rac1                     Started
                   ONLINE  ONLINE       rac2                     Started
    ora.eons
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.gsd
                   OFFLINE OFFLINE      rac1
                   OFFLINE OFFLINE      rac2
    ora.net1.network
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.ons
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.registry.acfs
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    Cluster Resources
    ora.LISTENER_SCAN1.lsnr
          1        ONLINE  ONLINE       rac2
    ora.LISTENER_SCAN2.lsnr
          1        ONLINE  ONLINE       rac1
    ora.LISTENER_SCAN3.lsnr
          1        ONLINE  ONLINE       rac1
    ora.oc4j
          1        OFFLINE OFFLINE
    ora.qfundrac.db
          1        OFFLINE OFFLINE
          2        ONLINE  ONLINE       rac2                     Open
    ora.rac1.vip
          1        ONLINE  ONLINE       rac1
    ora.rac2.vip
          1        ONLINE  ONLINE       rac2
    ora.scan1.vip
          1        ONLINE  ONLINE       rac2
    ora.scan2.vip
          1        ONLINE  ONLINE       rac1
    ora.scan3.vip
          1        ONLINE  ONLINE       rac1but for the below command it is showing both the nodes are up
    SQL> select inst_id,status,instance_role,active_state from gv$instance;
       INST_ID STATUS       INSTANCE_ROLE      ACTIVE_ST
             1 OPEN         PRIMARY_INSTANCE   NORMAL
             2 OPEN         PRIMARY_INSTANCE   NORMALhere is the output for cluvfy .
    [grid@rac1 bin]$ ./cluvfy stage -post crsinst -n rac1,rac2 -verbose
    Performing post-checks for cluster services setup
    Checking node reachability...
    Check: Node reachability from node "rac1"
      Destination Node                      Reachable?
      rac2                                  yes
      rac1                                  yes
    Result: Node reachability check passed from node "rac1"
    Checking user equivalence...
    Check: User equivalence for user "grid"
      Node Name                             Comment
      rac2                                  passed
      rac1                                  passed
    Result: User equivalence check passed for user "grid"
    Checking time zone consistency...
    Time zone consistency check passed.
    Checking Cluster manager integrity...
    Checking CSS daemon...
      Node Name                             Status
      rac2                                  running
      rac1                                  running
    Oracle Cluster Synchronization Services appear to be online.
    Cluster manager integrity check passed
    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 default user file creation mask
      Node Name     Available                 Required                  Comment
      rac2          0022                      0022                      passed
      rac1          0022                      0022                      passed
    Result: Default user file creation mask check passed
    Checking cluster integrity...
      Node Name
      rac1
      rac2
    Cluster integrity check passed
    Checking OCR integrity...
    Checking the absence of a non-clustered configuration...
    All nodes free of non-clustered, local-only configurations
    ASM Running check passed. ASM is running on all cluster nodes
    Checking OCR config file "/etc/oracle/ocr.loc"...
    OCR config file "/etc/oracle/ocr.loc" check successful
    Disk group for ocr location "+OCR_VOTE" available on all the nodes
    Checking size of the OCR location "+OCR_VOTE" ...
    Size check for OCR location "+OCR_VOTE" successful...
    Size check for OCR location "+OCR_VOTE" successful...
    WARNING:
    This check does not verify the integrity of the OCR contents. Execute 'ocrcheck' as a privileged user to verify the contents of OCR.
    OCR integrity check passed
    Checking CRS integrity...
    The Oracle clusterware is healthy on node "rac2"
    The Oracle clusterware is healthy on node "rac1"
    CRS integrity check passed
    Checking node application existence...
    Checking existence of VIP node application
      Node Name     Required                  Status                    Comment
      rac2          yes                       online                    passed
      rac1          yes                       online                    passed
    Result: Check passed.
    Checking existence of ONS node application
      Node Name     Required                  Status                    Comment
      rac2          no                        online                    passed
      rac1          no                        online                    passed
    Result: Check passed.
    Checking existence of GSD node application
      Node Name     Required                  Status                    Comment
      rac2          no                        does not exist            ignored
      rac1          no                        does not exist            ignored
    Result: Check ignored.
    Checking existence of EONS node application
      Node Name     Required                  Status                    Comment
      rac2          no                        online                    passed
      rac1          no                        online                    passed
    Result: Check passed.
    Checking existence of NETWORK node application
      Node Name     Required                  Status                    Comment
      rac2          no                        online                    passed
      rac1          no                        online                    passed
    Result: Check passed.
    Checking Single Client Access Name (SCAN)...
      SCAN VIP name     Node          Running?      ListenerName  Port          Running?
      qfund-rac.qfund.net  rac2          true          LISTENER      1521          true
    Checking name resolution setup for "qfund-rac.qfund.net"...
      SCAN Name     IP Address                Status                    Comment
      qfund-rac.qfund.net  192.168.8.118             passed
      qfund-rac.qfund.net  192.168.8.119             passed
      qfund-rac.qfund.net  192.168.8.117             passed
    Verification of SCAN VIP and Listener setup passed
    OCR detected on ASM. Running ACFS Integrity checks...
    Starting check to see if ASM is running on all cluster nodes...
    ASM Running check passed. ASM is running on all cluster nodes
    Starting Disk Groups check to see if at least one Disk Group configured...
    Disk Group Check passed. At least one Disk Group configured
    Task ACFS Integrity check passed
    Checking Oracle Cluster Voting Disk configuration...
    Oracle Cluster Voting Disk configuration check passed
    Checking to make sure user "grid" is not in "root" group
      Node Name     Status                    Comment
      rac2          does not exist            passed
      rac1          does not exist            passed
    Result: User "grid" is not part of "root" group. Check passed
    Checking if Clusterware is installed on all nodes...
    Check of Clusterware install passed
    Checking if CTSS Resource is running on all nodes...
    Check: CTSS Resource running on all nodes
      Node Name                             Status
      rac2                                  passed
      rac1                                  passed
    Result: CTSS resource check passed
    Querying CTSS for time offset on all nodes...
    Result: Query of CTSS for time offset passed
    Check CTSS state started...
    Check: CTSS state
      Node Name                             State
      rac2                                  Observer
      rac1                                  Observer
    CTSS is in Observer state. Switching over to clock synchronization checks using NTP
    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?
      rac2                                  yes
      rac1                                  yes
    Result: Liveness check passed for "ntpd"
    Checking NTP daemon command line for slewing option "-x"
    Check: NTP daemon command line
      Node Name                             Slewing Option Set?
      rac2                                  yes
      rac1                                  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?
      rac2                                  yes
      rac1                                  yes
    Result:
    NTP daemon's boot time configuration check for slewing option passed
    NTP common Time Server Check started...
    NTP Time Server ".INIT." is common to all nodes on which the NTP daemon is running
    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 "[rac2, rac1]"...
    Check: Clock time offset from NTP Time Server
    Time Server: .INIT.
    Time Offset Limit: 1000.0 msecs
      Node Name     Time Offset               Status
      rac2          0.0                       passed
      rac1          0.0                       passed
    Time Server ".INIT." has time offsets that are within permissible limits for nodes "[rac2, rac1]".
    Time Server: .LOCL.
    Time Offset Limit: 1000.0 msecs
      Node Name     Time Offset               Status
      rac2          -29.328                   passed
      rac1          -84.385                   passed
    Time Server ".LOCL." has time offsets that are within permissible limits for nodes "[rac2, rac1]".
    Clock time offset check passed
    Result: Clock synchronization check using Network Time Protocol(NTP) passed
    Oracle Cluster Time Synchronization Services check passed
    Post-check for cluster services setup was successful.
    [grid@rac1 bin]$Please help me how to solve this problem.
    Thanks & regards
    Poorna Prasad.S

    Hi All,
    Now again i reboothed the database again manually and the database is no up on both the node.
    Here is the output for few commands
    [grid@rac1 bin]$ ./crs_stat -t
    Name           Type           Target    State     Host
    ora....DATA.dg ora....up.type OFFLINE   OFFLINE
    ora.ASM_FRA.dg ora....up.type OFFLINE   OFFLINE
    ora....ER.lsnr ora....er.type ONLINE    ONLINE    rac1
    ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1
    ora....N2.lsnr ora....er.type ONLINE    ONLINE    rac2
    ora....N3.lsnr ora....er.type ONLINE    ONLINE    rac2
    ora....VOTE.dg ora....up.type ONLINE    ONLINE    rac1
    ora.asm        ora.asm.type   ONLINE    ONLINE    rac1
    ora.eons       ora.eons.type  ONLINE    ONLINE    rac1
    ora.gsd        ora.gsd.type   OFFLINE   OFFLINE
    ora....network ora....rk.type ONLINE    ONLINE    rac1
    ora.oc4j       ora.oc4j.type  OFFLINE   OFFLINE
    ora.ons        ora.ons.type   ONLINE    ONLINE    rac1
    ora....drac.db ora....se.type OFFLINE   OFFLINE
    ora....SM1.asm application    ONLINE    ONLINE    rac1
    ora....C1.lsnr application    ONLINE    ONLINE    rac1
    ora.rac1.gsd   application    OFFLINE   OFFLINE
    ora.rac1.ons   application    ONLINE    ONLINE    rac1
    ora.rac1.vip   ora....t1.type ONLINE    ONLINE    rac1
    ora....SM2.asm application    ONLINE    ONLINE    rac2
    ora....C2.lsnr application    ONLINE    ONLINE    rac2
    ora.rac2.gsd   application    OFFLINE   OFFLINE
    ora.rac2.ons   application    ONLINE    ONLINE    rac2
    ora.rac2.vip   ora....t1.type ONLINE    ONLINE    rac2
    ora....ry.acfs ora....fs.type ONLINE    ONLINE    rac1
    ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1
    ora.scan2.vip  ora....ip.type ONLINE    ONLINE    rac2
    ora.scan3.vip  ora....ip.type ONLINE    ONLINE    rac2
    [grid@rac1 bin]$ srvctl status nodeapps -n rac1,rac2
    -bash: srvctl: command not found
    [grid@rac1 bin]$ ./srvctl status nodeapps -n rac1,rac2
    PRKO-2003 : Invalid command line option value: rac1,rac2
    [grid@rac1 bin]$ ./srvctl status nodeapps -n rac1
    -n <node_name> option has been deprecated.
    VIP rac1-vip is enabled
    VIP rac1-vip is running on node: rac1
    Network is enabled
    Network is running on node: rac1
    GSD is disabled
    GSD is not running on node: rac1
    ONS is enabled
    ONS daemon is running on node: rac1
    eONS is enabled
    eONS daemon is running on node: rac1
    [grid@rac1 bin]$ ./srvctl status nodeapps -n rac2
    -n <node_name> option has been deprecated.
    VIP rac2-vip is enabled
    VIP rac2-vip is running on node: rac2
    Network is enabled
    Network is running on node: rac2
    GSD is disabled
    GSD is not running on node: rac2
    ONS is enabled
    ONS daemon is running on node: rac2
    eONS is enabled
    eONS daemon is running on node: rac2Here is the output for crsctl stat res -t
    [grid@rac1 bin]$ ./crsctl stat res -t
    NAME           TARGET  STATE        SERVER                   STATE_DETAILS
    Local Resources
    ora.ASM_DATA.dg
                   OFFLINE OFFLINE      rac1
                   OFFLINE OFFLINE      rac2
    ora.ASM_FRA.dg
                   OFFLINE OFFLINE      rac1
                   OFFLINE OFFLINE      rac2
    ora.LISTENER.lsnr
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.OCR_VOTE.dg
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.asm
                   ONLINE  ONLINE       rac1                     Started
                   ONLINE  ONLINE       rac2                     Started
    ora.eons
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.gsd
                   OFFLINE OFFLINE      rac1
                   OFFLINE OFFLINE      rac2
    ora.net1.network
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.ons
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    ora.registry.acfs
                   ONLINE  ONLINE       rac1
                   ONLINE  ONLINE       rac2
    Cluster Resources
    ora.LISTENER_SCAN1.lsnr
          1        ONLINE  ONLINE       rac1
    ora.LISTENER_SCAN2.lsnr
          1        ONLINE  ONLINE       rac2
    ora.LISTENER_SCAN3.lsnr
          1        ONLINE  ONLINE       rac2
    ora.oc4j
          1        OFFLINE OFFLINE
    ora.qfundrac.db
          1        OFFLINE OFFLINE
          2        OFFLINE OFFLINE
    ora.rac1.vip
          1        ONLINE  ONLINE       rac1
    ora.rac2.vip
          1        ONLINE  ONLINE       rac2
    ora.scan1.vip
          1        ONLINE  ONLINE       rac1
    ora.scan2.vip
          1        ONLINE  ONLINE       rac2
    ora.scan3.vip
          1        ONLINE  ONLINE       rac2What is going wrong here .
    Thanks & Regards,
    Poorna Prasad.S
    Edited by: SIDDABATHUNI on Apr 30, 2011 2:06 PM
    Edited by: SIDDABATHUNI on Apr 30, 2011 2:10 PM

  • JTree Nodes with the same name

    What do I have to do to get the JTree to render nodes with the same name? These Nodes user objects are completely different object types and each has a unique hashcode.
    + Root Node
    +-- node1 (this is a folder)
    +-- node1 (this is a file)
    The problem is I have n folders in my tree but if a parent folder contains a folder and a file with the same name then no other subfolders are displayed.
    The nodes exist in memory because I enumerate the tree and display its contents in System.out.
    Thanks in advance!
    Matt

    Thank you to everyone that responded. I solved the issue. It was a timing issue...here's my original method:
    private void renderProductFolder(SubFolder sf){
    try{
    WTPart part = QueryHelper.service.findWTPart("number", sf.getNam());
    WTTreeNode node = buildWTTreeNode(part);
    super.getTreeModel().setRoot(node);
    renderTree(node, sf); // This is the problem call
    super.getSelectionModel().
    setSelectionPath(new TreePath(node.getPath()));
    super.expandPath(new TreePath(node.getPath()));
    }catch(Exception ex){
    ex.printStackTrace();
    Here is the fix:
    private void renderProductFolder(SubFolder sf){
    try{
    WTPart part = QueryHelper.service.findWTPart("number", sf.getNam());
    WTTreeNode node = buildWTTreeNode(part);
    renderTree(node, sf); // This was the problem call
    super.getTreeModel().setRoot(node);
    super.getSelectionModel().
    setSelectionPath(new TreePath(node.getPath()));
    super.expandPath(new TreePath(node.getPath()));
    }catch(Exception ex){
    ex.printStackTrace();
    I was originally building the root node, then setting it as the root, then adding additional nodes to the root in the call to renderTree(). So the fix was to build the complete tree structure and then call setRoot(). Otherwise the tree doesn't automatically paint the nodes when they're added via node.add(nodeChild).
    It was just a coincidence that I discovered this problem with nodes having the same name.
    Thanks for all your great input!
    Matt

Maybe you are looking for

  • How to get multiple records in one row and different column

    Hi All, I am using oracle database 11g and i have a two tables table_1, table_2 table_1 having columns emp_no first_name middle_name last_name email and table_2 having columns emp_no phone_type phone_number and having entires emp_no phone_type phone_

  • Unique ID generation in OIM 11.1.1.5

    Dear All, I would like to generate the automatic unique ID during the user creation in OIM 11.1.1.5. Can any one please suggest me to do the customization for it and share some documents which can be helpful to me. Thanks Harry Edited by: Harry-Harry

  • 1st ical sync with iphone...all events off by 2 hours

    Why? All ical events got transferred to my iphone but the time is off by 2 hours...all iphone events are showing up 2 hours later than when I originally scheduled them in my iMac ical program (the ical events on my iMac are still displaying at the co

  • Linking 3rd Party Vendor invoice to customer invoice

    Hi Guys, We have a requirement in 3rd party order processing. Client wants us to link the vendor invoice to the customer invoice. For example, in a 3rd party order, the customers orders 100 qty of MATERIAL A. Then a PR, PO is generated for 100 qty. V

  • .pdf icons saved as 'plain text' style on desktop

    Acrobat 8 Pro Windows Vista Home Premium SP1 Hello Forum, As suject, with the new Acrobat 8 Pro, my saved pdf files (pdf icons on desktop) are showing as 'plain text' view style. How do i make them back to the classic .pdf style. Thanks