RE: Block Change Tracking + Stand By DB and Switch Over

From: Matthew Parker <>
Date: Fri, 19 Feb 2016 06:27:24 -0800
Message-ID: <001d01d16b21$ac0cd530$04267f90$>

I think you are trying to dance on the head of pin here.  


There is nothing anywhere that determines from a contractual perspective when a Standby Database exists.

We can look at it from a technical perspective and state a standby database exists as soon as there is a complete database with a standby controlfile.  

Table 3-2 Creating a Physical Standby Database




<> Section 3.2.1

<> Create a Backup Copy of the Primary Database Datafiles


<> Section 3.2.2

<> Create a Control File for the Standby Database


<> Section 3.2.3

<> Create a Parameter File for the Standby Database


<> Section 3.2.4

<> Copy Files from the Primary System to the Standby System


<> Section 3.2.5

<> Set Up the Environment to Support the Standby Database


<> Section 3.2.6

<> Start the Physical Standby Database


<> Section 3.2.7

<> Verify the Physical Standby Database Is Performing Properly


At section 3.2.6 we can say the physical standby exists using Oracle’s own words as to when it is startable.  

It is a little different when it is a previous primary. After failover technically speaking it is not a standby until you do the role transition of primary to standby and at that point then the byte is flipped in the controlfile to be a standby controlfile and v$database shows STANDBY in the controlfile_type column.  

From a technical perspective I believe you are on fairly firm grounds that it is not a standby any more until the role transition happens on that old primary and the controlfile becomes a standby controlfile. At this point the database looks no different than a recovered backup, except for the transactions in the online redologs and it is a regular controlfile instead of a backup controlfile. Also I have had production database with disabled standby configurations and no standby exists anywhere to go with that configuration.  

Assuming that to be true then as long as you disable BCT before the role transition on the original primary to be a standby then you should be within contractual compliance.  

This is where you are really dancing on the head of the pin.

  1. You have to argue and justify that you are within contractual compliance instead of not using BCT and being in the clear.
  2. You have to ensure that no DBA in your company ever makes a mistake and misses removing the BCT before the role transition from primary to standby. If it is ever removed after role transition then you are technically in violation.
  3. You have to ensure no one ever turns on full Data Guard automation causing the role transition of primary to standby automatically.
  4. You have to remember to enable it on the new primary side after failover.

On a side note you would need to check that you can remove block change tracking when the database is in the crashed state, before transitioning primary to standby. I have never executed the command at that exact point.  

I think you are simply setting yourself up for failure. You have limited yourself in full use of the Data Guard features (full automation) and you are expecting humans to be perfect. There are too many places where the human can make a mistake and make your company in non-compliance of your Oracle licenses.  

My opinion.  

Matthew Parker

Chief Technologist

Dimensional DBA

425-891-7934 (cell)

D&B 047931344


<> View Matthew Parker's profile on LinkedIn


From: [] On Behalf Of Chirag Shah Sent: Friday, February 19, 2016 2:54 AM
To: Oracle L
Subject: Block Change Tracking + Stand By DB and Switch Over  

Hello Experts,  

For BCT in standby, we need to have Active Data Guard License as per the Doc ID 468576.1 ,"You can only enable block change tracking at a physical standby database if a license for the Oracle Active Data Guard option is enabled."  

But what happen if we switch over role while having BCT file on Primary DB and

do not have Active Dataguard license ?  

We don't use recovery catalogue and taking backups only from Primary DB with control file as RMAN repository. If we switch over to standby then do we also require to create BCT file to New primary DB ? then both the Primary and Standby DBs would have BCT files..?? so in that case shall we need to disable BCT before switch over ?  

We are on 11g ( with one Physical Standby DB  

Any thoughts.. ? Thanks in advance..  

Thanks & Regards,


Received on Fri Feb 19 2016 - 15:27:24 CET

Original text of this message