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 |
ALLOCATE | Not applicable -- session based command. |
ALTER CLUSTER | Propagated. |
ALTER DATABASE ACTIVATE STANDBY DATABASE | Not applicable -- rejected at primary. |
ALTER DATABASE ADD LOGFILE | NOT PROPAGATED. |
ALTER DATABASE ADD LOGFILE MEMBER | NOT PROPAGATED. |
ALTER DATABASE ARCHIVELOG | No effect. |
ALTER DATABASE BACKUP CONTROLFILE | No effect. |
ALTER DATABASE BACKUP CONTROLFILE TO TRACE | No effect. |
ALTER DATABASE CONVERT | INVALIDATES STANDBY -- must rebuild. |
ALTER DATABASE CLEAR LOGFILE | INVALIDATES STANDBY -- must rebuild. |
ALTER DATABASE CREATE DATAFILE | Partial propagation. See Note 1 |
ALTER DATABASE CREATE STANDBY CONTROLFILE | No effect. |
ALTER DATABASE DATAFILE AUTOEXTEND | Propagated. |
ALTER DATABASE DATAFILE END BACKUP | Propagated. |
ALTER DATABASE DATAFILE OFFLINE | Propagated. |
ALTER DATABASE DATAFILE ONLINE | Propagated. |
ALTER DATABASE DATAFILE RESIZE | Propagated. |
ALTER DATABASE DISABLE THREAD | NOT PROPAGATED. (Parallel Server Option only.) |
ALTER DATABASE ENABLE THREAD | NOT PROPAGATED. (Parallel Server Option only.) |
ALTER DATABASE DROP LOGFILE GROUP | NOT PROPAGATED. |
ALTER DATABASE DROP LOGFILE MEMBER | NOT PROPAGATED. |
ALTER DATABASE MOUNT | No effect. |
ALTER DATABASE MOUNT STANDBY DATABASE | Not applicable -- rejected at primary. |
ALTER DATABASE NOARCHIVELOG | INVALIDATES STANDBY. |
ALTER DATABASE OPEN RESETLOGS | INVALIDATES STANDBY -- must rebuild. |
ALTER DATABASE OPEN NORESETLOGS | No effect. |
ALTER DATABASE RECOVER | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER AUTOMATIC | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER DATAFILE | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER LOGFILE | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER TABLESPACE | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER UNTIL CANCEL | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER UNTIL TIME | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER UNTIL CHANGE | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RECOVER USING BACKUP CONTROLFILE | INVALIDATES STANDBY. See Note 2 |
ALTER DATABASE RENAME FILE | NOT PROPAGATED. See Note 3 |
ALTER DATABASE RENAME GLOBAL_NAME | NOT PROPAGATED -- refresh controlfile. |
ALTER DATABASE RESET COMPATIBILITY | INVALIDATES STANDBY -- must rebuild. |
ALTER DATABASE SET | Propagated. |
ALTER FUNCTION | Propagated. |
ALTER INDEX | Propagated. |
ALTER INDEX REBUILD RECOVERABLE | Propagated. |
ALTER INDEX REBUILD UNRECOVERABLE | NOT PROPAGATED. See Note 6 |
ALTER PACKAGE | Propagated. |
ALTER PROCEDURE | Propagated. |
ALTER PROFILE | Propagated. |
ALTER RESOURCE COST | Propagated. |
ALTER ROLE | Propagated. |
ALTER ROLLBACK SEGMENT | Propagated. |
ALTER SEQUENCE | Propagated. |
ALTER SESSION | Not applicable -- session based command. |
ALTER SNAPSHOT | Propagated. |
ALTER SNAPSHOT LOG | Propagated. |
ALTER SYSTEM ARCHIVE LOG SEQUENCE | No effect. |
ALTER SYSTEM ARCHIVE LOG CHANGE | No effect. |
ALTER SYSTEM ARCHIVE LOG CURRENT | No effect. |
ALTER SYSTEM ARCHIVE LOG LOGFILE | No effect. |
ALTER SYSTEM ARCHIVE LOG NEXT | No effect. |
ALTER SYSTEM ARCHIVE LOG ALL | No effect. |
ALTER SYSTEM ARCHIVE LOG START | No effect. |
ALTER SYSTEM ARCHIVE LOG STOP | INVALIDATES STANDBY. See Note 4 |
ALTER SYSTEM SWITCH LOGFILE | No effect. |
ALTER TABLE | Propagated. |
ALTER TABLESPACE ADD DATAFILE | Dbvisit will propagate. |
ALTER TABLESPACE BEGIN BACKUP | Propagated. |
ALTER TABLESPACE END BACKUP | Propagated. |
ALTER TABLESPACE COALESCE | Propagated. |
ALTER TABLESPACE DEFAULT STORAGE | Propagated. |
ALTER TABLESPACE RENAME DATAFILE | NOT PROPAGATED -- treated the same as ALTER DATABASE RENAME FILE |
ALTER TABLESPACE OFFLINE | Propagated -- no action needed. See ALTER DATABASE DATAFILE OFFLINE |
ALTER TABLESPACE ONLINE | Propagated -- treated the same as ALTER DATABASE DATAFILE ONLINE |
ALTER TABLESPACE PERMANENT | Propagated. |
ALTER TABLESPACE READ ONLY | Indirect propagation -- treated the same as ALTER TABLESPACE OFFLINE NORMAL |
ALTER TABLESPACE READ WRITE | Propagated -- no action needed. See ALTER DATABASE DATAFILE ONLINE NORMAL |
ALTER TABLESPACE TEMPORARY | Propagated. |
ALTER TRIGGER | Propagated. |
ALTER USER | Propagated. |
ALTER VIEW | Propagated. |
ANALYZE | Propagated. |
AUDIT | Propagated. |
COMMIT | Propagated. |
CREATE CLUSTER | Propagated. |
CREATE CONTROLFILE | INVALIDATES STANDBY. See Note 5 |
CREATE DATABASE | NOT PROPAGATED. |
CREATE DATABASE LINK | Propagated. |
CREATE DATABASE FUNCTION | Propagated. |
CREATE DIRECTORY | Propagated. |
CREATE INDEX | Propagated. |
CREATE INDEX REBUILD RECOVERABLE | Propagated. |
CREATE INDEX REBUILD UNRECOVERABLE | NOT PROPAGATED |
CREATE PACKAGE | Propagated. |
CREATE PACKAGE BODY | Propagated. |
CREATE PROCEDURE | Propagated. |
CREATE PROFILE | Propagated. |
CREATE ROLE | Propagated. |
CREATE ROLLBACK SEGMENT | Propagated. |
CREATE SCHEMA | Propagated. |
CREATE SEQUENCE | Propagated. |
CREATE SNAPSHOT | Propagated. |
CREATE SNAPSHOT LOG | Propagated. |
CREATE SYNONYM | Propagated. |
CREATE TABLE RECOVERABLE | Propagated. |
CREATE TABLE UNRECOVERABLE | NOT PROPAGATED. See Note 6 |
CREATE TABLESPACE | Dbvisit will propagate. |
CREATE TRIGGER | Propagated. |
CREATE USER | Propagated. |
CREATE VIEW | Propagated. |
DELETE | Propagated. |
DROP INDEX | Propagated. |
DROP PACKAGE | Propagated. |
DROP PROCEDURE | Propagated. |
DROP PROFILE | Propagated. |
DROP ROLE | Propagated. |
DROP ROLLBACK SEGMENT | Propagated. |
DROP SEQUENCE | Propagated. |
DROP SNAPSHOT | Propagated. |
DROP SNAPSHOT LOG | Propagated. |
DROP SYNONYM | Propagated. |
DROP TABLE | Propagated. |
DROP TABLESPACE | Propagated. |
DROP TRIGGER | Propagated. |
DROP USER | Propagated. |
DROP VIEW | Propagated. |
EXPLAIN PLAN | Propagated. |
GRANT | Propagated. |
INSERT | Propagated. |
LOCK TABLE | Propagated. |
NOAUDIT | Propagated. |
RENAME | Propagated. |
REVOKE | Propagated. |
ROLLBACK | Propagated. |
SAVEPOINT | Propagated. |
SELECT | Propagated. |
SET ROLE | Propagated. |
SET TRANSACTION | Propagated. |
TRUNCATE | Propagated. |
UPDATE | Propagated. |
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.