<<Back to Oracle DataGuard Main Page
When License Oracle Active Dataguard (ADG) feature
You can use Oracle Data Guard as long as you are holding license for EE (DG license is included in Oracle Database Enterprise Edition). However Active Data Guard feature requires additional license on top.You need ADG license if you are using any or all of the features from the list below.
- Using BCT (Block Change Tracking) at standby
- Running redo apply services while an User PDB is open in read only
- Running Multi Instance redo apply -RAC
- Rolling Upgrade Using Active Data Guard
- Automatic Block Repair
- Global Data Services
- Real-Time Cascading (transferring the redo to the cascaded destination without waiting for the redo to be archived to a standby redo log file.)
- Active Data Guard Far Sync
Starting from 18c (At least I test with 18c) you can have PDB$SEED and CDB$ROOT in read only without having ADG license.
Lets have a quick test:
At Standby Database
set line 200
col NAME for a40
select CON_ID,NAME,OPEN_MODE from v$pdbs;
CON_ID NAME OPEN_MODE
---------- ---------------------------------------- - ---------
2 PDB$SEED READ ONLY
4 PDB01 MOUNTED
col NAME for a40
select CON_ID,NAME,OPEN_MODE from v$pdbs;
CON_ID NAME OPEN_MODE
---------- ---------------------------------------- - ---------
2 PDB$SEED READ ONLY
4 PDB01 MOUNTED
CDB$ROOT and PDB$SEED is running read only. User PDB is in mount stage
select dest_id,dest_name,status,type,database_mode,recovery_mode from v$archive_dest_status where RECOVERY_MODE !='IDLE';
DEST_ID DEST_NAME STATUS TYPE DATABASE_MODE RECOVERY_MODE
---------- ------------------------- --------- ---------------- --------------- ----------------------------------
1 LOG_ARCHIVE_DEST_1 VALID LOCAL OPEN_READ-ONLY MANAGED REAL TIME APPLY
DATABASE_MODE is open_read-only RECOVERY_MODE is managed real time apply
SQL> select PROCESS,STATUS,THREAD#,SEQUENCE# DELAY_MINS from v$managed_standby;
SQL> select PROCESS,STATUS,THREAD#,SEQUENCE# DELAY_MINS from v$managed_standby;
PROCES | STATUS | THREAD# | SEQUENCE# | DELAY_MINS |
------ | ------------ | -------- | -------- | ---------- |
RFS | IDLE | 1 | 0 | 0 |
RFS | IDLE | 0 | 0 | 0 |
ARCH | CLOSING | 1 | 732 | 0 |
DGRD | ALLOCATED | 0 | 0 | 0 |
DGRD | ALLOCATED | 0 | 0 | 0 |
ARCH | CONNECTED | 0 | 0 | 0 |
ARCH | CLOSING | 1 | 733 | 0 |
ARCH | CLOSING | 1 | 725 | 0 |
RFS | IDLE | 1 | 734 | 0 |
RFS | IDLE | 0 | 0 | 0 |
MRP0 | APPLYING_LOG | 1 | 734 | 0 |
Log apply service is running.
Lets have a look at the usages of ADG Feature
SELECT COUNT(*) FROM V$ARCHIVE_DEST_STATUS WHERE STATUS = 'VALID' AND RECOVERY_MODE LIKE 'MANAGED%QUERY' AND DATABASE_MODE = 'OPEN_READ-ONLY';
COUNT(*)
----------
0
----------
0
From Primary Database
SELECT DBID,NAME,DETECTED_USAGES,CURRENTLY_USED,FIRST_USAGE_DATE,LAST_USAGE_DATE FROM DBA_FEATURE_USAGE_STATISTICS WHERE NAME LIKE '%Active%';
| |||||||||||||||||||||||
And as we can see the ADG feature never used and therefore we can conclude that we don't need ADG license if PDB$SEED and CDB$ROOT are open read only and apply service is running.
However license is needed as soon as you open an user PDB in read only and start the redo apply services
| |||||||||||||||||||||||
Comments
Post a Comment