ASM Instance not recognized by DBCA :(
DBAsupport.com Forums - Powered by vBulletin
Results 1 to 4 of 4

Thread: ASM Instance not recognized by DBCA :(

Hybrid View

  1. #1
    Join Date
    Feb 2006
    Posts
    9

    ASM Instance not recognized by DBCA :(

    Well, I'm currently building an Oracle ASM solution for a developer's server. It is built on Oracle 10.2.0.1 Enterprise Edition and Red Hat Enterprise Linux 4 ES, running on a VMWare virtual machine. I am not using ASM with cluster, though; it is just a single-instance database.

    There are two Oracle homes: the home for the database is /app/oracle/oracle/product/10.2.0/db_1, while the home for ASM is /app/oracle/oracle/product/10.2.0/asm. Why did I created a separated home for the ASM? Frankly, I ain't even sure; I was just following the installation steps here. It was said that Oracle reccommend to install ASM on its own home:

    Oracle recommends that you install Automatic Storage Management in its own Oracle home, regardless of whether you plan to only have one or multiple database instances. Installing Automatic Storage Management in its own Oracle home helps ensure higher availability and manageability.

    With separate Oracle homes, you can upgrade Automatic Storage Management and databases independently, and you can remove database software without impacting the Automatic Storage Management instance. Ensure that the Automatic Storage Management version is the same or later than the Oracle Database version.

    If an Automatic Storage Management installation does not already exist and you select the Oracle Universal Installer option to install and configure Automatic Storage Management only, then Oracle Universal Installer installs Automatic Storage Management in its own Oracle home.
    Note that I have not created any database yet; my plan is to create the ASM instance first, then using the mounted ASM disks for the database that will be created later.

    I have finished creating ASM diskgroups, and restarting the Red Hat server afterward. After restarting the server, I successfully started the ASM instance as well.

    Code:
    [oracle@iceheart-rhel4es ~]$ export ORACLE_SID=+ASM
    [oracle@iceheart-rhel4es ~]$ export ORACLE_HOME=/app/oracle/oracle/product/10.2.0/asm/
    [oracle@iceheart-rhel4es ~]$ cd $ORACLE_HOME/bin
    [oracle@iceheart-rhel4es bin]$ ./sqlplus / as sysdba
    
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Nov 22 16:06:59 2006
    
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup
    ASM instance started
    
    Total System Global Area   83886080 bytes
    Fixed Size                  1217836 bytes
    Variable Size              57502420 bytes
    ASM Cache                  25165824 bytes
    ASM diskgroups mounted
    So you see, on the steps above, first I set the ORACLE_SID variable to the name of the ASM instance (export ORACLE_SID=+ASM). Then I also set the ORACLE_HOME variable to the ASM home (../product/10.2.0/asm/ instead of ../product/10.2.0/db_1/). After starting the ASM as shown above, I also ran the asmcmd to verify my disk groups.
    Code:
    [oracle@iceheart-rhel4es bin]$ ./asmcmd
    ASMCMD> ls
    CTL_LOG_01/
    CTL_LOG_02/
    DATA/
    INDEX/
    SYS/
    TMP/
    UNDOTBS/
    Well, I guess the result above shows that the ASM instance has already been up and running, and all the disk groups have been mounted. Am I correct?

    Then, the next step is to create a database that will use the ASM disk groups. My initial plan is to create this database on the ../product/10.2.0/db_1/ oracle home (not the ../product/10.2.0/asm home), because the documentation says that it is reccommended to put ASM in its own separate home, so I would do so.

    Thus, I executed the following:
    Code:
    [oracle@iceheart-rhel4es ~]$ export ORACLE_SID=lab
    [oracle@iceheart-rhel4es ~]$ export ORACLE_HOME=/app/oracle/oracle/product/10.2.0/db_1/
    [oracle@iceheart-rhel4es ~]$ cd $ORACLE_HOME/bin
    [oracle@iceheart-rhel4es bin]$ ./dbca &
    Note that 'lab' is the name of the database I was about to create; it's just my habit of setting the ORACLE_SID variable before creating the database of the same name.

    In the DBCA GUI interface, I chose 'Automatic Storage Management' as the database Storage Option. Of course, since the ASM instance (+ASM) has been already up and running, I expected the database will be able to use the ASM diskgroups to store its file......

    Turned out I was wrong, since the DBCA gave me this error message:
    Quote Originally Posted by Database Configuration Assistant
    DBCA could not startup the ASM instance configured on this node. To proceed with database creation using ASM you need the aSM instance to be up and running. Do you want to recreate the ASM instance on this node?
    AAARRGGGHHH!!!

    Well I chose not to recreate the ASM instance, because I'm afraid it will conflict with the existing ASM instance which, by the way, has already been up and running as shown above. So I cancelled DBCA and decided to re-try it as shown below:
    Code:
    [oracle@iceheart-rhel4es ~]$ export ORACLE_SID=+ASM
    [oracle@iceheart-rhel4es ~]$ export ORACLE_HOME=/app/oracle/oracle/product/10.2.0/asm/
    [oracle@iceheart-rhel4es ~]$ cd $ORACLE_HOME/bin
    [oracle@iceheart-rhel4es bin]$ ./dbca &
    Yes, in my second attempt, I tried to use +ASM as the current ORACLE_SID, because I suspected the reason of the error is somehow related to the ORACLE_SID variable. Furthermore, I also installed from the ASM Oracle home (../product/10.2.0/asm instead of ../product/10.2.0/bin) because I felt safer that way. Of course that would defeat the purpose of "installing ASM on its own separate home", but what's important to me is having the database up and running first, and worrying about multiple home issues later.

    Guess what, I still got the same error message in this second attempt:
    Quote Originally Posted by Database Configuration Assistant
    DBCA could not startup the ASM instance configured on this node. To proceed with database creation using ASM you need the aSM instance to be up and running. Do you want to recreate the ASM instance on this node?
    GAH!!

    Out of desperation, I did my third attempt like this:
    Code:
    [oracle@iceheart-rhel4es ~]$ unset ORACLE_SID
    [oracle@iceheart-rhel4es ~]$ unset ORACLE_HOME
    [oracle@iceheart-rhel4es ~]$ cd /app/oracle/oracle/product/10.2.0/db_1/bin
    [oracle@iceheart-rhel4es bin]$ ./dbca &
    .....and STILL got the very same error message.

    The question is why? I have started the ASM instance flawlessly. Furthermore, the execution of asmcmd has also shown that the ASM diskgroups have been mounted. Why the DBCA just keeps failing to recognize the ASM instance?

    Help. :(
    Last edited by KAN; 11-22-2006 at 01:21 AM.

  2. #2
    Join Date
    Nov 2006
    Location
    Sofia
    Posts
    630
    Have you started the tns listener after the machine reboot?

    Regards

  3. #3
    Join Date
    Feb 2006
    Posts
    9
    Quote Originally Posted by Bore
    Have you started the tns listener after the machine reboot?

    Regards
    You are correct. THANKS!!!!

  4. #4
    Join Date
    Feb 2006
    Posts
    9
    Update: while starting listener after the machine reboot helped on the first time, it didn't help on the second time.

    See, I started the listener, go to dbca, and created the database using ASM. Of course it worked at the first time. Alas, during database creation process, dbca failed to extent a SYS table because the SYS tablespace is too small (my fault).

    So, I restarted the server again, started the listener and the +ASM instance, and ran the dbca.

    Guess what, it didn't work the second time; displaying the dreaded error message again:
    DBCA could not startup the ASM instance configured on this node. To proceed with database creation using ASM you need the aSM instance to be up and running. Do you want to recreate the ASM instance on this node?
    And this is really frustrating, because I did EXACTLY THE SAME STEPS with the first time (starting listener, starting ASM instance, etc). And the first time I did it, it was successful. I wonder why it failed on the second time. Same steps, different results --the very definition of insanity.

    By the way, haven't I told you folks that I hate ASM so much?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width