Wednesday, December 31, 2014

11g DATAGURARD BROKER DGMGRL CONFIGURATION STEPS

Enterprise Manager Grid Control GUI or Command line interface can be used to configure Guard Broker. The following demonstration uses the command line version.
ASSUMPTION
There exists a function physical standby database ( i.e  The redo log shipping/transport is happening and the transported logs are being applied to make the standby database in sync with the production.)
Primary Database: PROD
Standby Database: PRODSTDBY

STEP 1. ON BOTH THE PRIMARY AND STANDBY DATABASES START THE DATAGUARD BROKER PROCESS

SQL> ALTER SYSTEM SET DG_BROKER_START=TRUE SCOPE=BOTH;
System altered.

STEP 2. EDIT THE listener.ora ON BOTH THE PRIMARY AND STANDBY NODES TO CONTAIN THE STATIC ENTRY FOR DBMGRL

Ensure that the GLOBAL_DBNAME is set to db_unique_name_DGMGRL.db_domain
SID_LIST_LISTENER =
  (SID_LIST =
 (SID_DESC =
        (GLOBAL_DBNAME = PROD_dgmgrl)
        (ORACLE_HOME = /u01/oracle/product/11.2.0.3/db_1)
            (SID_NAME = PROD)
        )
    )

STEP 3. CREATE THE CONFIGURATION

PROD:/u01/oracle$ dgmgrl
DGMGRL for IBM/AIX RISC System/6000: Version 11.1.0.7.0 - 64bit Production

Copyright (c) 2000, 2005, Oracle. All rights reserved.


Welcome to DGMGRL, type "help" for information.

DGMGRL> connect sys/xxxxxxx
Connected.
DGMGRL> CREATE CONFIGURATION 'ORIGINDR'
> AS
> PRIMARY DATABASE IS 'PROD'
> CONNECT IDENTIFIER IS 'PRODSTDBY'
> ;
Configuration "ORIGINDR" created with primary database "PROD"

STEP 4. ADD THE STANDBY DATABASE TO THE CONFIGURATION

DGMGRL> ADD DATABASE
> 'PRODSTDBY'
> AS
> CONNECT IDENTIFIER IS 'PRODSTDBY'
> ;
Database "PRODSTDBY" added

DGMGRL> SHOW CONFIGURATION

Configuration

  Name:                ORIGINDR
  Enabled:             NO
  Protection Mode:     MaxAvailability
  Databases:
    PROD - Primary database
    PRODSTDBY - Physical standby database

Fast-Start Failover: DISABLED


Current status for "ORIGINDR":

DISABLED

STEP 5. ENABLE THE CONFIGURATION

DGMGRL> ENABLE CONFIGURATION
Enabled.
DGMGRL> SHOW CONFIGURATION
Configuration
  Name:                ORIGINDR
  Enabled:             YES
  Protection Mode:     MaxAvailability
  Databases:
    PROD - Primary database
    PRODSTDBY - Physical standby database

Fast-Start Failover: DISABLED


Current status for "ORIGINDR":

SUCCESS

Saturday, December 20, 2014

ORA-15000: command disallowed by current instance type


ORA-15000: command disallowed by current instance type

As the error itself suggests we are not using the right instance type. It occurs when we try to adminitrer the ASM storage system from RDBMS instance such as adding disks,dropping disks,etc
Solution
Connect to the ASM instance and execute the command connecting 'as sysasm'
for instance
$export ORACLE_SID=+ASM
$sqlplus / as sysasm
SQL>ALTER DISKGROUP DATA ADD DISK '/dev/rhdisk391' REBALANCE POWER 11;

Thursday, December 4, 2014

REGISTERING A DATABASE WITH GRID CLUSTER


After database duplication some times you may not be able to stop,start or see the status of the database using srvctl utility. 
$ srvctl stop database -d TESTDB
PRCD-1120 : The resource for database TESTDB could not be found.
PRCR-1001 : Resource ora.TESTDB.db does not exist
Despite the above errors the database is up and running.
$ ps -fe|grep pmon
grid      3960     1  0 15:57 ?        00:00:00 asm_pmon_+ASM
oracle    4179     1  0 16:33 ?        00:00:00 ora_pmon_TESTDB
oracle    4284  3702  0 16:36 pts/1    00:00:00 grep pmon
$ echo $ORACLE_SID
TESTDB

$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg           
               ONLINE  ONLINE       dbsrvr1
               ONLINE  ONLINE       dbsrvr2   
ora.LISTENER.lsnr   
               ONLINE  ONLINE       dbsrvr1
            ONLINE  ONLINE       dbsrvr2
ora.asm       
               ONLINE  ONLINE       dbsrvr1                Started
            ONLINE  ONLINE       dbsrvr2                Started
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.proddb.db        
      1        ONLINE  ONLINE       dbsrvr1                open
     2        ONLINE  ONLINE       dbsrvr2                open
Please NOTE that there is no entry for TESTDB (  ora.testdb.db  )

SOLUTION
Register the database as follows
$ echo $ORACLE_HOME
/u01/app/oracle/11.2.0.3
$ srvctl add database -d TESTDB -o /u01/app/oracle/11.2.0.3
Try to bounce the database using the srvctl utility and check its status using crsctl now you should see an entry for TESTDB.
$ srvctl stop database -d TESTDB -o immediate
PRCC-1016 : TESTDB was already stopped
$ srvctl start database -d TESTDB
$ srvctl stop database -d TESTDB -o immediate
$ srvctl start database -d TESTDB
$ crsctl stat res -t
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg           
                ONLINE  ONLINE       dbsrvr1
                ONLINE  ONLINE       dbsrvr2   
ora.LISTENER.lsnr   
                ONLINE  ONLINE       dbsrvr1
             ONLINE  ONLINE       dbsrvr2
ora.asm       
                ONLINE  ONLINE       dbsrvr1                Started
             ONLINE  ONLINE       dbsrvr2                Started
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.proddb.db        
      1        ONLINE  ONLINE       dbsrvr1                open
     2        ONLINE  ONLINE       dbsrvr2                open
ora.testdb.db        
      1        ONLINE  ONLINE       dbsrvr1                open
     2        ONLINE  ONLINE       dbsrvr2                open