Appendix A – Standby Database Changes Propagated

Most changes to the primary databases are propagated using normal propagation; however some changes are not propagated to the standby database. This is not a constraint from Dbvisit Standby, but from Oracle. The list below indicates whether a command is normally propagated or requires extra administrative efforts to be fully propagated.

sqlldr direct=false (RECOVERABLE)Propagated.
sqlldr direct=false (UNRECOVERABLE)NOT PROPAGATED. See Note 6
ALLOCATENot applicable -- session based command.
ALTER CLUSTERPropagated.
ALTER DATABASE ACTIVATE STANDBY DATABASENot applicable -- rejected at primary.
ALTER DATABASE ADD LOGFILENOT PROPAGATED.
ALTER DATABASE ADD LOGFILE MEMBERNOT PROPAGATED.
ALTER DATABASE ARCHIVELOGNo effect.
ALTER DATABASE BACKUP CONTROLFILENo effect.
ALTER DATABASE BACKUP CONTROLFILE TO TRACENo effect.
ALTER DATABASE CONVERTINVALIDATES STANDBY -- must rebuild.
ALTER DATABASE CLEAR LOGFILEINVALIDATES STANDBY -- must rebuild.
ALTER DATABASE CREATE DATAFILEPartial propagation. See Note 1
ALTER DATABASE CREATE STANDBY CONTROLFILENo effect.
ALTER DATABASE DATAFILE AUTOEXTENDPropagated.
ALTER DATABASE DATAFILE END BACKUPPropagated.
ALTER DATABASE DATAFILE OFFLINEPropagated. 
ALTER DATABASE DATAFILE ONLINEPropagated.
ALTER DATABASE DATAFILE RESIZEPropagated.
ALTER DATABASE DISABLE THREADNOT PROPAGATED. (Parallel Server Option only.)
ALTER DATABASE ENABLE THREADNOT PROPAGATED. (Parallel Server Option only.)
ALTER DATABASE DROP LOGFILE GROUPNOT PROPAGATED.
ALTER DATABASE DROP LOGFILE MEMBERNOT PROPAGATED.
ALTER DATABASE MOUNTNo effect.
ALTER DATABASE MOUNT STANDBY DATABASENot applicable -- rejected at primary.
ALTER DATABASE NOARCHIVELOGINVALIDATES STANDBY.
ALTER DATABASE OPEN RESETLOGSINVALIDATES STANDBY -- must rebuild.
ALTER DATABASE OPEN NORESETLOGSNo effect.
ALTER DATABASE RECOVERINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER AUTOMATICINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER DATAFILEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER LOGFILEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER TABLESPACEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER UNTIL CANCELINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER UNTIL TIMEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER UNTIL CHANGEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RECOVER USING BACKUP CONTROLFILEINVALIDATES STANDBY. See Note 2
ALTER DATABASE RENAME FILENOT PROPAGATED. See Note 3
ALTER DATABASE RENAME GLOBAL_NAMENOT PROPAGATED -- refresh controlfile.
ALTER DATABASE RESET COMPATIBILITYINVALIDATES STANDBY -- must rebuild.
ALTER DATABASE SETPropagated.
ALTER FUNCTIONPropagated.
ALTER INDEXPropagated.
ALTER INDEX REBUILD RECOVERABLEPropagated.
ALTER INDEX REBUILD UNRECOVERABLENOT PROPAGATED. See Note 6
ALTER PACKAGEPropagated.
ALTER PROCEDUREPropagated.
ALTER PROFILEPropagated.
ALTER RESOURCE COSTPropagated.
ALTER ROLEPropagated.
ALTER ROLLBACK SEGMENTPropagated.
ALTER SEQUENCEPropagated.
ALTER SESSIONNot applicable -- session based command.
ALTER SNAPSHOT Propagated.
ALTER SNAPSHOT LOGPropagated.
ALTER SYSTEM ARCHIVE LOG SEQUENCENo effect.
ALTER SYSTEM ARCHIVE LOG CHANGENo effect.
ALTER SYSTEM ARCHIVE LOG CURRENTNo effect.
ALTER SYSTEM ARCHIVE LOG LOGFILENo effect.
ALTER SYSTEM ARCHIVE LOG NEXTNo effect.
ALTER SYSTEM ARCHIVE LOG ALLNo effect.
ALTER SYSTEM ARCHIVE LOG STARTNo effect.
ALTER SYSTEM ARCHIVE LOG STOPINVALIDATES STANDBY. See Note 4
ALTER SYSTEM SWITCH LOGFILENo effect.
ALTER TABLEPropagated.
ALTER TABLESPACE ADD DATAFILEDbvisit will propagate.
ALTER TABLESPACE BEGIN BACKUPPropagated.
ALTER TABLESPACE END BACKUPPropagated.
ALTER TABLESPACE COALESCEPropagated.
ALTER TABLESPACE DEFAULT STORAGEPropagated.
ALTER TABLESPACE RENAME DATAFILENOT PROPAGATED -- treated the same as ALTER DATABASE RENAME FILE
ALTER TABLESPACE OFFLINEPropagated -- no action needed. See ALTER DATABASE DATAFILE OFFLINE
ALTER TABLESPACE ONLINEPropagated -- treated the same as ALTER DATABASE DATAFILE ONLINE
ALTER TABLESPACE PERMANENTPropagated.
ALTER TABLESPACE READ ONLYIndirect propagation -- treated the same as ALTER TABLESPACE OFFLINE NORMAL
ALTER TABLESPACE READ WRITEPropagated -- no action needed. See ALTER DATABASE DATAFILE ONLINE NORMAL
ALTER TABLESPACE TEMPORARYPropagated.
ALTER TRIGGERPropagated.
ALTER USERPropagated.
ALTER VIEWPropagated.
ANALYZEPropagated.
AUDITPropagated.
COMMITPropagated.
CREATE CLUSTERPropagated.
CREATE CONTROLFILEINVALIDATES STANDBY. See Note 5
CREATE DATABASENOT PROPAGATED.
CREATE DATABASE LINKPropagated.
CREATE DATABASE FUNCTIONPropagated.
CREATE DIRECTORYPropagated.
CREATE INDEXPropagated.
CREATE INDEX REBUILD RECOVERABLEPropagated.
CREATE INDEX REBUILD UNRECOVERABLENOT PROPAGATED
CREATE PACKAGE Propagated.
CREATE PACKAGE BODYPropagated.
CREATE PROCEDUREPropagated.
CREATE PROFILEPropagated.
CREATE ROLEPropagated.
CREATE ROLLBACK SEGMENTPropagated.
CREATE SCHEMAPropagated.
CREATE SEQUENCEPropagated.
CREATE SNAPSHOTPropagated.
CREATE SNAPSHOT LOGPropagated.
CREATE SYNONYMPropagated.
CREATE TABLE RECOVERABLEPropagated.
CREATE TABLE UNRECOVERABLENOT PROPAGATED. See Note 6
CREATE TABLESPACEDbvisit will propagate.
CREATE TRIGGERPropagated.
CREATE USERPropagated.
CREATE VIEWPropagated.
DELETEPropagated.
DROP INDEXPropagated.
DROP PACKAGEPropagated.
DROP PROCEDUREPropagated.
DROP PROFILEPropagated.
DROP ROLEPropagated.
DROP ROLLBACK SEGMENTPropagated.
DROP SEQUENCEPropagated.
DROP SNAPSHOTPropagated.
DROP SNAPSHOT LOGPropagated.
DROP SYNONYMPropagated.
DROP TABLEPropagated.
DROP TABLESPACEPropagated.
DROP TRIGGERPropagated.
DROP USERPropagated.
DROP VIEWPropagated.
EXPLAIN PLANPropagated.
GRANTPropagated.
INSERTPropagated.
LOCK TABLEPropagated.
NOAUDITPropagated.
RENAMEPropagated.
REVOKEPropagated.
ROLLBACKPropagated.
SAVEPOINTPropagated.
SELECTPropagated.
SET ROLEPropagated.
SET TRANSACTIONPropagated.
TRUNCATEPropagated.
UPDATEPropagated.

Note 1:
Recovery process at standby will fail during application of archive if datafiles do not already exist. Datafiles should be pre-created at the standby to prevent automatic recovery from failing. However, if the recovery process fails, then the problem can be fixed by creating the datafile(s) and restarting recovery. 

Note 2:
If incomplete or media recovery is performed, which requires the standby to be rebuilt. However, if you can perform complete recovery without resetting the logs, then the standby is not invalidated. 

Note 3:
The standby controlfile is not updated. If the redo log configuration at the standby is different than at the primary, then no action is needed. Else, rename as for datafiles. Datafiles at standby must be renamed at the operating system level and then at the database level; that is, repeat the commands issued at the primary. 


Note 4:
If archive stream interrupted. In which case, must rebuild standby. However, if this is a temporary halt in archiving, then it has no effect. 


Note 5:
If the archive stream is interrupted, in which case, rebuild standby. However, if you are performing complete recovery without resetting the online redo logs, then the standby is not invalidated. For example, if all primary controlfiles are lost but all other files are available, then the controlfile can be created with NORESETLOGS. Furthermore, if you create a control file to increase maximum values, such as MAXDATAFILES (and do not reset the redo logs), then you should refresh the standby controlfile if the change must be propagated. 

Note 6:
If the affected objects are needed after activation, then, at the standby, either:

  • rebuild the standby
  • backup up the affected datafiles at the primary and
    restore at the standby

If the affected objects are not needed, then ensure that the tables exist in a tablespace that can be off-lined dropped at the standby.