h1

Hack an Oracle user!

December 17, 2015

If you have been working with an Oracle database for quite some time now, I’m sure you have encountered some situations where you needed to login as a schema owner to update a metadata or execute some DDL/DML to fix an issue or two.

Prior to Oracle 10g, getting the user’s password is easy and all you need to do is to query dba/all_users view like the one below.

SQL> select username,password from dba_users where username = ‘SCOTT’;

The above query will show you the encrypted password for user SCOTT. However, since this was so easy, Oracle has started to hide the password and the PASSWORD column from the above query will not be null. But fear not!

There’s still a way to do this and I will show you how.

1. Get some basic info on the user using the query below. This is a basic thing for me so I would about the user.

set lines 180
col username form a30
col account_status form a10
col profile form a15
col created form a20
col default_tablespace form a20
col temporary_tablespace form a15
SELECT username,password,account_status,profile,to_char(created,’MM/DD/YYYY HH24:MI’) CREATED,default_tablespace, temporary_tablespace
FROM dba_users
WHERE username = nvl(UPPER(‘&USERNAME’),username)
ORDER BY username
/

The above query tells me if the user is using a profile other than the DEFAULT profile. In my case, we have a customized profile that user is not allowed to reuse his password.

2. Extract the encrypted password using the query below.

set lines 120 long 500 longchunk 500
select REGEXP_SUBSTR(DBMS_METADATA.get_ddl (‘USER’,’&USERNAME’), ”'[^”]+”’) PASSWD from dual
/

3. Now that you have the information you need, you can now change the password so you can execute your DDL/DML to fix/address the issue.

alter user scott identified by hackme;

4. Now, change the user’s password back to the original value. As I mentioned earlier, we have customized profile that doesn’t allow password reuse. In order for me to bypass that rule, I will have to change the profile to DEFAULT first, then change the password and change the profile again. Use the commands below to do all these.

alter user scott profile default;
alter user scott identified by values ”;
alter user scott profile custom_profile;

There you go!

h1

IMPDP: Import missing partitions

October 7, 2015

It’s been a looong while since I posted here and I will try to post more in the coming weeks.

In this post, I will show an example using IMPDP to :

1. load data into some partitions
2. remap schema and table_exists_action behavior

I was refreshing a database and while I was away, the import failed on some of the partitions because the tablespace where these partitions should go has filled up and the resumable_timeout parameter has also timed out. I don’t want to reload the whole dump set since it is very big (1.5TB) and it will take days to finish this again.

Knowing that I can reload select partitions itself, I created the following parameter file to use for datapump import.

DIRECTORY=DPUMP_DIR
DUMPFILE=DPUMP_DIR:DBDEV01_DB_MASTER_P_%UA%U
LOGFILE=imp_failedpart.log
JOB_NAME=DAT_DPIMP_failedpart
TRANSFORM=OID:N
PARALLEL=18
EXCLUDE=INDEX,CONSTRAINT
REMAP_SCHEMA=DB_MASTER_P:DB_MASTER
TABLE_EXISTS_ACTION=APPEND
TABLES=DB_MASTER_P.LN_FACT:LF_P67,DB_MASTER_P.LN_FACT:LF_P03,DB_MASTER_P.LN_FACT:LF_P27,DB_MASTER_P.LN_EXCP:LEF_P27,DB_MASTER_P.LN_EXCP:LEF_P35,DB_MASTER_P.LN_EXCP:LEF_P36,DB_MASTER_P.LN_EXCP:LEF_P44

The important parameters from above are:

a. REMAP_SCHEMA=DB_MASTER_P:DB_MASTER

– this is how you remap the schema from the source to the target;

– in the conventional import (imp), this is equivalent to two parameters – fromuser=<source schema> touser=<target_schema>

b. TABLES=<SOURCE_SCHEMA>.<TABLE_NAME>:<PARTITION>

– no quotes are needed if you want to supply more than one table and/or schema.table:partition combination

c. TABLE_EXISTS_ACTION

– this parameter let’s you tell Oracle what to do if the table you are loading data into is existing. I used the APPEND option because I wanted to add data to an existing table and partition. If I use the TRUNCATE option, it will truncate the whole table, not just the partition, therefore I will lose data. REPLACE and SKIP options are not an option for obvious reasons.

Before running impdp:

  1. Make sure that you have added space to the tablespaces that got full and caused this issue
  2.  Make sure that there are no records/data loaded into the target partitions

SQL> select count(*) from DB_MASTER_P.LN_FACT PARTITION (LF_P67);

COUNT(*)
———-
0

That’s it! You are ready to load the missing data.

h1

Crucial conversations…when was the last time you had one?

October 5, 2011

Last sunday @ church, Oct. 3rd 2011, the topic of the sermon was “The Power of Words: Crucial Conversations”. This is the last topic in the sermon series, The Power of Words, that our church had, and I found myself really paying attention to it. As Rev. Miner gives us the background of the referenced verses (Judges 4:1-10), I found myself reflecting on the topic. Thus, I’m writing about it here in the hopes of encouraging other people to reflect on this too.

WHAT IS A CRUCIAL CONVERSATION? What makes a conversation crucial?  To me, a crucial conversation is something that is necessary between husband and wife, parents and children, and between friends. This kind of conversation pertains to important things that guides our lives and our children’s lives. This is where important decisions and directions come out of. This is what a child remembers when he grows up. This is what lifts up a person when he is down.

I can remember when I had one with my oldest brother. When I was about 10 or 11 years old, I sort of ran away from the house (well, its just on the corner of the street where we used to live) because I was feeling so bad that I’m thinking that my parents don’t love me and that they love my older brother more.  So he went out to find me and talked to me, and explained that my parents love me as much as they love all of their children. To me, this is a crucial conversation. It is something that I remembered and got stuck in my heart and mind. It helped me understand my parents more.

HOW DO WE RECOGNIZE SITUATIONS THAT REQUIRE A CRUCIAL CONVERSATION? In my experience above, I don’t know if my oldest brother recognized the situation as crucial that’s why he went to find me and talk to me. Crucial conversations do not necessarily arise from tensed and/or critical situations. Before we migrated to another country, my wife initiated a conversation as to how our life will be abroad. We discussed the changes and the impact in our current environment and lifestyle. We knew that we are leaving our dearest friends and family behind to provide a better future for our children. This conversation was crucial to us as it helped us prepare ourselves to a new path that lies ahead.

Thinking about the life of Jesus, He had a lot of crucial conversations with his disciples and the people He interacted with. One example would be when He called Zacchaeus (Luke 19:1-10) to come down from the fig tree. Have you ever wondered what if Jesus never called Zacchaeus and visited his home? Would he still give out half of his wealth to the poor and give back four times as much the cheated amount of taxes that he took from the people? Another example was during the Last Supper where Jesus has told about what’s going to happen. What if Peter was not challenged to walk on water (Matt. 14: 28-33) with Jesus? Would his faith in Him be as strong as it was?

Crucial conversations does not mean it should be long. It can be simple and short but decisive and directional. Crucial conversation is necessary to enrich and strengthen our relationships with the people around us. It is important to have with our children to teach the values that we want to instill in them. It is a must between spouses, partners, and friends.

h1

iLOM upgrade

July 29, 2010

Last month, I was asked to upgrade the ILOM on our SB6000 blade chassis since they are all out of sync. Not being a SysAd, I was a bit challenged to undertake this task. After doing some research and getting inputs from Sun engineers, I was able to do it with no issues. The ff. steps are what I have followed.

Prior to performing the procedures in this section, the following requirements must be met:

* Identify the version of ILOM that is currently running on your system.
* Download the firmware image for your server or CMM from the Oracle’s Sun platform product web site.
* Copy the firmware image to a server using a supported protocol (TFTP, FTP, HTTP, HTTPS). For a CLI update, copy the image to a local server. For a web interface update, copy the image to the system on which the web browser is running.
* If required by your platform, shut down your host operating system before updating the firmware on your server SP.
* Obtain an ILOM user name and password that has Admin (a) role account privileges. You must have Admin (a) privileges to update the firmware on the system.
* The firmware update process takes about six minutes to complete. During this time, do not perform other ILOM tasks. When the firmware update is complete, the system will reboot.

A. Identify ILOM Firmware Version

To identify the firmware version, you need the Read Only (o) role enabled.

Follow these steps to identify the ILOM firmware version:

1. Log in to the ILOM CLI.

2. At the command prompt, type version.

-> version

SP firmware 3.0.0.1
SP firmware build number: #####
SP firmware date: Fri Nov 28 14:03:21 EDT 2008
SP filesystem version: 0.1.22 

B1. Download New Firmware on x64-Based Systems

1. Navigate to http://www.sun.com/download/
2. Click the View by Category tab.
3. Locate the Hardware Drivers section.
4. Click the X64 Servers and Workstations.
5. Click the link for the Integrated Lights Out Manager (ILOM) Server software release version that you want to download.
6. Click Download.
7. Select the Platform and Language for your download.
8. Enter your Username and Password.
   If you do not have a Username and Password, you can register free of charge by clicking Register Now.
9. Click Accept License Agreement.
10. Click the appropriate firmware image file name:

    ilom.firmware.xxx

    For example:

      * ilom.X6220-2.0.3.2-r26980.ima

      * ilom.X6220-2.0.3.2-r26980.pkg

B2. Download New Firmware on SPARC-Based Systems

1. Navigate to http://sunsolve.sun.com
2. Click Accept to accept the License Agreement.
3. Click on Patches and Updates.
4. Under the heading Download Product-Specific Patches, click on Product Patches.
5. Under the heading Hardware, in the PROM row, click on Sun System Firmware.
6. Select the latest firmware update for your server. Confirm your choice by clicking on the associated Readme link and read the patch update information.
7. Click HTTP to download the zip file package.
8. Put the zip package on a TFTP server that is accessible from your network.
9. Unzip the package.

C. Update the Firmware Image
* To update the ILOM firmware, you need the Admin (a) role enabled.
* If required by your platform, shut down your host operating system before updating the firmware on your server SP.
  - shutdown all the applications running on your host/server
  - from ILOM CLI, you can issue the following command to shutdown the OS

    -> stop /SYS

  - To gracefully shut down your host operating system via Web GUI, use the Remote Power Controls -> Graceful Shutdown and Power Off option

Once the host OS is down, follow these steps to update the firmware image:
1. Log in to the ILOM CLI.

2. Verify that you have network connectivity to update the firmware.
For example:

    * To verify network connectivity on a server SP, type:

-> show /SP/network

    * To verify network connectivity on a CMM, type:

-> show /CMM/network

3. Type the following command to load the ILOM firmware image:

-> load -source <supported_protocol>://<server_ip>/<path_to_firmware_image>/<filename.xxx>

   A note about the firmware update process followed by message prompts to load the image are displayed. The text of the note depends on your server platform.

4. At prompt for loading the specified file, type y for yes or n for no.

   The prompt to preserve the configuration appears.

   For example:
   Do you want to preserve the configuration (y/n)?

5. At the preserve configuration prompt, type y for yes or n for no.

   Type y to save your existing ILOM configuration and to restore that configuration when the update process completes.

   Note - Typing n at this prompt will advance you to another platform-specific prompt.

6. Perform one of the following actions:

    * If you have a 2.x firmware release installed on your system, the system loads the specified firmware file then automatically reboots to complete the firmware update. Proceed to Step 7.

    * If you have a 3.x firmware release installed on a SPARC system, the system loads the specified firmware file then automatically reboots to complete the firmware update. Proceed to Step 7.

    * If you have a 3.x firmware release installed on an x64 system, a prompt to postpone the BIOS update appears. For example:

   Do you want to force the server off if BIOS needs to be upgraded (y/n)?

     a. At the prompt to postpone the BIOS update, type y for yes or n for no.

        The system loads the specified firmware file then automatically reboots to complete the firmware update.

        Note - The BIOS prompt only appears on x64 systems currently running a 3.x firmware release. If you answer yes (y) to the prompt, the system postpones the BIOS update until the next time the system reboots. If you answer no (n) to the prompt, the system automatically updates the BIOS, if necessary, when updating the firmware.

     b. Proceed to Step 7.

7. Reconnect to the ILOM server SP or CMM using an SSH connection and using the same user name and password that you provided in Step 1 of this procedure.

   Note - If you did not preserve the ILOM configuration before the firmware update, you will need to perform the initial ILOM setup procedures to reconnect to ILOM.

8. Ensure that the proper firmware version was installed. At the CLI prompt, type:

-> version

D. Recover From a Network Failure During Firmware Update

If you were performing the firmware update process and a network failure occurs, ILOM will automatically time-out and reboot the system.

Follow these steps to recover from a network failure during firmware update:

1. Address and fix the network problem.

2. Reconnect to the ILOM SP.

3. Restart the firmware update process.
Resetting ILOM SP

Topics

Description

Links

Reset ILOM service processor

    * Reset ILOM SP

procedure icon  Reset ILOM SP

If you need to reset your ILOM service processor (SP), you can do so without affecting the host OS. However, resetting an SP disconnects your current ILOM session and renders the SP unmanageable during reset.
Before You Begin

    * To reset the SP, you need the Reset and Host Control (r) role enabled.

    * After updating the ILOM/BIOS firmware, you must reset the ILOM SP.

After updating the ILOM/BIOS firmware, follow these steps to reset the SP:

1. Log in to the ILOM CLI.

2. Type the following command:

-> reset /SP

The SP resets and reboots.
h1

10g Enterprise Manager – HTTP server not starting

May 4, 2010

Yesterday when I was logging into our OEM, the webpage was down. So I went into the server and check the the services.

oem-01:/opt/oracle/oem10g/oms10g/opmn/bin> opmnctl status

Processes in Instance: EnterpriseManager0.oem-01
——————-+——————–+———+———
ias-component      | process-type       |     pid | status
——————-+——————–+———+———
DSA                | DSA                |     N/A | Down
HTTP_Server        | HTTP_Server        |     N/A | Down
LogLoader          | logloaderd         |     N/A | Down
dcm-daemon         | dcm-daemon         |     N/A | Down
OC4J               | home               |   19765 | Alive
OC4J               | OC4J_EM            |   19764 | Alive
OC4J               | OC4J_EMPROV        |   19766 | Alive
WebCache           | WebCache           |   19767 | Alive
WebCache           | WebCacheAdmin      |   19768 | Alive

The output above shows that the HTTP server is down so I thought bringing it up would fix the issue. So I tried starting it using  opmnctl command (opmnctl startproc ias-component=HTTP_Server) but it did not start. So I thought, maybe bouncing all the components would help (opmnctl stopall then opmnctl startall). Unfortunately, it did not and it says it has issues bringing up the HTTP server but no error code! So I checked oem-01:/opt/oracle/oem10g/oms10g/opmn/logs/HTTP_Server~1 file but found no error and the last message was just:

/opt/oracle/oem10g/oms10g/Apache/Apache/bin/apachectl startssl: execing httpd

Digging through the log files under /opt/oracle/oem10g/oms10g/Apache/Apache/logs I found access_log file. Tried to open this file but I got an error saying “Tmp file too large” so I tailed it found a message something to the effect of “number too large when starting the HTTP server”. Hmmmm…this is when I check the filesystem if it is full, but no, its only 97% used! Then I checked size of the file, and voila, its 2GB! I immediately knew that this must be the issue, although at the back of my mind, 2gb file size limit shouldn’t be the problem, but I copied this file over to /tmp (as backup) and zeroed out the existing file (cp -p /dev/null access_log). I then started the HTTP server and then its went up with no issues! Problem solved!

h1

oracle.sysman.emSDK.emd.comm.CommException

January 21, 2010

These are the basic things that I did to troubleshoot the issue (oracle.sysman.emSDK.emd.comm.CommException: rac02.localhost:cn=rac02).

1. Remove the Agent that was automatically discovered by OMS.
a. remove the components (listener, asm, database) of the Agent per node
b. remove the agent from the Grid. you need to shutdown MA first on the node

2. Edit the targets.xml file for each node under $MA_HOME/rac/sysman/emd.
a. put in the correct/fully-qualified host name (i.e. instead of rac01, put rac01.localhost)
b. put in the username and password for dbsnmp id as shown below.

<Property NAME=”UserName” VALUE=”dbsnmp”/>

<Property NAME=”password” VALUE=”<clear_text_password>” ENCRYPTED=”FALSE”/>

3. Secure the agent by executing ’emctl secure agent’ on each node.

4. Edit emd.properties ($MA_HOME/rac/sysman/config) to provide the fully-qualified host name for OMS location and Agent location (i.e. EMD_URL=https://rac03.localhost:3872/emd/main instead of EMD_URL=https://rac03:3872/emd/main)

5. Restart the MAs on each node and wait for OMS to discover them again. If all of the components were not discovered, add them using the Grid GUI interface.

h1

Perl DBI core dump…ora-12154

September 8, 2009

It’s been a while since I posted here but I think this post is worth your while.

PROBLEM:

Recently, we’ve encountered a problem in one of our test systems. Whenever a user uses perl to connect to the database, the script crashes and creates a core dump. However, when using SQL*Plus or tnsping, no error is encountered or core dump created. Our environment is running on Solaris 10 (x86-64) and Oracle 10g.

TROUBLESHOOTING:  

At first we looked at the environment settings and found that everything is set accordingly. Next thing I did is to run a truss command and as expected it gave me the file (missing sqlnet.ora) it is looking for before it crashes. So I created the sqlnet.ora under $ORACLE_HOME/network/admin directory, ran the perl script and voila (!), no more core dump.

However, I encountered another problem. The script does not connect to the database and the error is a misleading error (ORA-12154) as tnsping works, SQL*Plus connection works with no issue!

lab-ora:/tmp/conn.pl

DBI connect(‘lab_ora’,’devusr’,…) failed: ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach) at conn.pl line 4 Database connection not made: ORA-12154: TNS:could not resolve the connect identifier specified (DBD ERROR: OCIServerAttach) at conn.pl line 4.

So this time, I enabled a sqlnet.ora trace by specifying the following parameters in sqlnet.ora:
 
TRACE_LEVEL_CLIENT = SUPPORT
TRACE_DIRECTORY_CLIENT = /tmp
TRACE_LEVEL_CLIENT parameter values are OFF, USER, ADMIN, SUPPORT. By default, or if not specified, it’s value is OFF. Set the value depending on how much detailed you want your trace file to have. (For details and description please refer to Metalink Note 216912.1 ). I’ve set ours to SUPPORT hoping I would get the information I need to fix this misleading error.

TRACE_DIRECTORY_CLIENT can be set to any valid directory in your system and the user that own’s your oracle client should have a write privilege on that directory, in this case, its /tmp.

After several trace files, it got more confusing and misleading as the trace file indicates that it cannot find the TNS “path”. So I came to think that the problem might related to a corrupted OCI driver. Thus we decided to reinstall the oracle client.

We tested the perl script after the oracle client was reinstalled and we’re back to square one because we have the core dump again. So I recreated the sqlnet.ora file and the core dump went away. But, we are now back to the ora-12154 error!

THE FIX:

Upon googling pages and pages of forums and support issues, I chanced upon this document from Metalink (Note: 388631.1 – Solaris x86-64: Running 32-bit Applications Connecting to Database Using TNS Naming Adapter Fails With Segmentation Fault (SIGSEGV) or ORA-12154).

Apparently, we are hitting a bug! So I immediately requested for an outage for us to install the patch for this bug.

Installing the patch has fixed the misleading ora-12154 error and even if you remove (rename) sqlnet.ora, core dumps are not being created when you use perl to connect to the database.

And that made my day….woohoo…!

h1

Index Usage Monitoring

August 5, 2009

So last night, i got a couple of pages because some of our tablespaces for indexes are filling up. Good thing, these tablespaces did not fill up until I came to the office.

We have this one multi-tb partitioned table that has lots of indexes (normal and bmi) that i think only a few of them are really being used so i decided to do the following:

1. increase the max extent of these tablespaces to 250gb so the alerts will go away. anyway, we have enough space in the filesystem to accomodate this.

2. figure out which indexes can be dropped. i know that we should be careful enough when dropping indexes as it might impact performance which is the reason why i wrote a script that captures which indexes are used and not used. this script will run for a month before we can talk to the application owner and recommend that the unused indexes be dropped.

Dropping unused indexes will free up a lot of space, will provide a shorter window for index maintenance, and faster data loading time.

The scripts that I wrote are as shown below (i’m fond of writing scripts that are reusable):

1. runsql.sh

#!/usr/bin/ksh -x
sqlexec=`sqlplus /nolog <<SQLBLK
conn ${CONNSTR}
set echo off feed on head off lines 80
spool ${LOGDIR}/${DT}_${1}.log
@${SQLDIR}/${1}
spool off
set echo off
exit
SQLBLK`
exit

The above script is reusable, just make sure you have the values for the environment variables it needs. its also one way of securing SQL*Plus connections as it hides the connect string from a ps -ef command.

2. chk_idx_usage.sh

#!/usr/bin/ksh -x
export DT=`date ‘+%Y%m%d%H%M%S’`
export ORACLE_HOME=/opt/Oracle/product/10.2.0
export PATH=${ORACLE_HOME}/bin:${PATH}:.
export LOGDIR=/home/oracle/admin/log
export SQLDIR=/home/oracle/admin/schema/oradb
export PSWD=`cat /home/oracle/admin/.oradbmon`
export CONNSTR=oradbmon/${PSWD}@oradb
/home/oracle/admin/bin/runsql.sh gsx_idx_usage
exit

3. idx_usage.sql

select min(p.timestamp)||’,’||max(p.timestamp)||’,’||p.object_name||’,’||p.operation||’,’||p.options||’,’||count(1)
from dba_hist_sql_plan p,
   dba_hist_sqlstat s
where p.object_owner = ‘Myschema’
and p.operation like ‘%INDEX%’
and p.operation <> ‘INDEX BUILD’
and p.sql_id = s.sql_id
and p.object_name in (select index_name from dba_indexes where table_name=’HUGE_TABLE’)
group by p.object_name,
   p.operation,
   p.options
/

I patterned my query from Burleson’s article found in the web and customized it for my particular need. I did not query for ‘INDEX REBUILD’ operations as this will include all indexes even if they are not being used. Also, I concatenated the result set so I can put them in a spreadsheet someday in case I need to figure out a trend.

h1

ORA-16826: apply service state is inconsistent with the DelayMins property

August 4, 2009

16826, 0000, “apply service state is inconsistent with the DelayMins property”
// *Cause:  This warning was caused by one of the following reasons:
//          1. Apply service was started without specifying the real time apply
//             option or without the NODELAY option while DelayMins is zero.
//          2. Apply service was started with the real-time apply option or
//             with the NODELAY option while DelayMins is greater than zero.
// *Action: Reenable the standby database to allow the broker to restart
//          the apply service with the apply options that are consistent
//          with the specified value of the DelayMins property.

well, this error has convinced me to really start out this blog because I don’t want to spend a lot of time researching just to find out that it only takes less than a minute to fix it. i’ve encountered this error before but forgot how to troubleshoot it thus the blog.

if ever you have this error, the simple fix would be to get on data guard manager line-mode (dgmgrl, i prefer command lines rather than gui’s because it gives more control over what’s happening) and disable the configuration and reenable it. see below for details

 

prim-oradb:dgmgrl
DGMGRL for Solaris: Version 10.2.0.3.0 – 64bit Production

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

Welcome to DGMGRL, type “help” for information.
DGMGRL> connect sys
Password:
Connected.
DGMGRL> show configuration

Configuration
  Name:                dg_iq_oradb
  Enabled:             YES
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    prim_oradb – Primary database
    std_oradb – Physical standby database

Current status for “dg_iq_oradb”:
Warning: ORA-16608: one or more databases have warnings
DGMGRL> show database verbose ‘prim_oradb’

Database
  Name:            prim_oradb
  Role:            PRIMARY
  Enabled:         YES
  Intended State:  ONLINE
  Instance(s):
    oradb

  Properties:
    InitialConnectIdentifier        = ‘prim_oradb’
    LogXptMode                      = ‘ASYNC’
    Dependency                      = ”
    DelayMins                       = ‘0’
    Binding                         = ‘OPTIONAL’
    MaxFailure                      = ‘0’
    MaxConnections                  = ‘1’
    ReopenSecs                      = ‘300’
    NetTimeout                      = ‘180’
    LogShipping                     = ‘ON’
    PreferredApplyInstance          = ”
    ApplyInstanceTimeout            = ‘0’
    ApplyParallel                   = ‘AUTO’
    StandbyFileManagement           = ‘MANUAL’
    ArchiveLagTarget                = ‘0’
    LogArchiveMaxProcesses          = ‘2’
    LogArchiveMinSucceedDest        = ‘1’
    DbFileNameConvert               = ”
    LogFileNameConvert              = ”
    FastStartFailoverTarget         = ”
    StatusReport                    = ‘(monitor)’
    InconsistentProperties          = ‘(monitor)’
    InconsistentLogXptProps         = ‘(monitor)’
    SendQEntries                    = ‘(monitor)’
    LogXptStatus                    = ‘(monitor)’
    RecvQEntries                    = ‘(monitor)’
    HostName                        = ‘prim_oradb’
    SidName                         = ‘oradb’
    LocalListenerAddress            = ‘(ADDRESS=(PROTOCOL=tcp)(HOST=prim-oradb.com)(port=1522))’
    StandbyArchiveLocation          = ‘/opt/Oraarch/arch/oradb/’
    AlternateLocation               = ”
    LogArchiveTrace                 = ‘0’
    LogArchiveFormat                = ‘arch_%t_%s_%r.log’
    LatestLog                       = ‘(monitor)’
    TopWaitEvents                   = ‘(monitor)’

Current status for “prim_oradb”:
SUCCESS

DGMGRL> show database verbose ‘std_oradb’

Database
  Name:            std_oradb
  Role:            PHYSICAL STANDBY
  Enabled:         YES
  Intended State:  ONLINE
  Instance(s):
    oradb

  Properties:
    InitialConnectIdentifier        = ‘std_oradb’
    LogXptMode                      = ‘ASYNC’
    Dependency                      = ”
    DelayMins                       = ‘0’
    Binding                         = ‘OPTIONAL’
    MaxFailure                      = ‘0’
    MaxConnections                  = ‘1’
    ReopenSecs                      = ‘300’
    NetTimeout                      = ‘180’
    LogShipping                     = ‘ON’
    PreferredApplyInstance          = ”
    ApplyInstanceTimeout            = ‘0’
    ApplyParallel                   = ‘AUTO’
    StandbyFileManagement           = ‘MANUAL’
    ArchiveLagTarget                = ‘0’
    LogArchiveMaxProcesses          = ‘2’
    LogArchiveMinSucceedDest        = ‘1’
    DbFileNameConvert               = ”
    LogFileNameConvert              = ”
    FastStartFailoverTarget         = ”
    StatusReport                    = ‘(monitor)’
    InconsistentProperties          = ‘(monitor)’
    InconsistentLogXptProps         = ‘(monitor)’
    SendQEntries                    = ‘(monitor)’
    LogXptStatus                    = ‘(monitor)’
    RecvQEntries                    = ‘(monitor)’
    HostName                        = ‘std-oradb’
    SidName                         = ‘oradb’
    LocalListenerAddress            = ‘(ADDRESS=(PROTOCOL=tcp)(HOST=std-oradb.com)(port=1522))’
    StandbyArchiveLocation          = ‘/opt/Oraarch/arch/oradb/’
    AlternateLocation               = ”
    LogArchiveTrace                 = ‘1’
    LogArchiveFormat                = ‘arch_%t_%s_%r.log’
    LatestLog                       = ‘(monitor)’
    TopWaitEvents                   = ‘(monitor)’

Current status for “std_oradb”:
Warning: ORA-16826: apply service state is inconsistent with the DelayMins property

DGMGRL> disable configuration
Disabled.
DGMGRL> show configuration

Configuration
  Name:                dg_iq_oradb
  Enabled:             NO
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    prim_oradb – Primary database
    std_oradb – Physical standby database

Current status for “dg_iq_oradb”:
DISABLED

DGMGRL> enable configuration
Enabled.

DGMGRL> show configuration

Configuration
  Name:                dg_iq_oradb
  Enabled:             YES
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    prim_oradb – Primary database
    std_oradb – Physical standby database

Current status for “dg_iq_oradb”:
Warning: ORA-16610: command ‘Broker automatic health check’ in progress
DGMGRL> show configuration

Configuration
  Name:                dg_iq_oradb
  Enabled:             YES
  Protection Mode:     MaxPerformance
  Fast-Start Failover: DISABLED
  Databases:
    prim_oradb – Primary database
    std_oradb – Physical standby database

Current status for “dg_iq_oradb”:
SUCCESS

DGMGRL>