Upload
ludovico-caldara
View
5.314
Download
5
Embed Size (px)
Citation preview
BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA
HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH
Oracle Active Data Guard andGlobal Data Services in Action!
Robert BialekPrincipal Consultant
Partner
Trivadis SA
Ludovico CaldaraOracle ACE
Senior Consultant
Trivadis SA
About Ludovico Caldara
Global Data Services in Action!2 08/12/2015
■ 16 Years DBA (Not Only Oracle)
▪ I do it everywhere (even Windows)
■ RAC ATTACK Ninja & co-writer
■ VP, SOUG & ITOUG Board member
■ OCP (11g, 12c, MySQL) & OCE
■ Italian living in Switzerland
■ http://www.ludovicocaldara.net
■ @ludodba
■ ludovicocaldara
Opinions are my own
Our company.
Global Data Services in Action!3 08/12/2015
Trivadis is a market leader in IT consulting, system integration, solution engineering
and the provision of IT services focusing on and
technologies in Switzerland, Germany, Austria and Denmark.
We offer our services in the following strategic business fields:
Trivadis Services takes over the interactive operation of your IT systems.
O P E R A T I O N
COPENHAGEN
MUNICH
LAUSANNE
BERN
ZURICH
BRUGG
GENEVA
HAMBURG
DÜSSELDORF
FRANKFURT
STUTTGART
FREIBURG
BASEL
VIENNA
With over 600 specialists and IT experts in your region.
Global Data Services in Action!4 08/12/2015
14 Trivadis branches and more than
600 employees
200 Service Level Agreements
Over 4,000 training participants
Research and development budget:
CHF 5.0 / EUR 4 million
Financially self-supporting and
sustainably profitable
Experience from more than 1,900
projects per year at over 800
customers
Local Data Services (Clusterware)
Global Data Services in Action!6 08/12/2015
RAC DB
INST1 INST2
Single Client Access Name
SERVICE_A
$ srvctl add service \
-database db_unique_name \
-service service_a \
-role "[PRIMARY][,PHYSICAL_STANDBY]" \
-cblgoal { SHORT | LONG } \
-failovertype {NONE|SESSION|SELECT|TRANSACTION} \
-failovermethod {NONE | BASIC} \
-preferred preferred_list \
-available available_list
Local Data Services (Active Data Guard, no Clustware)
Global Data Services in Action!7 08/12/2015
PRIMARY STANDBY
SERVICE_A_RO
CREATE OR REPLACE TRIGGER service_a_ro
after startup on database
DECLARE
role VARCHAR(30);
BEGIN
SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
IF role = 'PRIMARY' THEN
DBMS_SERVICE.START_SERVICE(service_a');
ELSE
DBMS_SERVICE.START_SERVICE(service_a_ro');
END IF;
END;
/DB_SITE1 DB_SITE2
SERVICE_A_RW
Local Data Services (MAA, Active Data Guard, etc.)
Global Data Services in Action!8 08/12/2015
Create services for Primary role on ALL the databases
Create services for Standby role on ALL the databases
Define connection descriptors with static address list
Local Data Services (MAA)
Global Data Services in Action!9 08/12/2015
SERVICE_A= (DESCRIPTION_LIST=
(LOAD_BALANCE=off) (FAILOVER=on)
(DESCRIPTION = (CONNECT_TIMEOUT=5)
(TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=3)
(ADDRESS_LIST= (LOAD_BALANCE=on)
(ADDRESS = (PROTOCOL = TCP)(HOST = raca-scan)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = SERVICE_A)) )
(DESCRIPTION = (CONNECT_TIMEOUT=5)
(TRANSPORT_CONNECT_TIMEOUT=3) (RETRY_COUNT=3)
(ADDRESS_LIST= (LOAD_BALANCE=on)
(ADDRESS = (PROTOCOL = TCP)(HOST = racb-scan)(PORT = 1521)))
(CONNECT_DATA = (SERVICE_NAME = SERVICE_A)) ) )
Local Data Services: not for complex environments
Global Data Services in Action!10 08/12/2015
PRIMARY STANDBY STANDBY
STANDBY
SYNC
ASYNC
ASYNC
Local Data Services: not for complex environments
Global Data Services in Action!11 08/12/2015
PRIMARY STANDBY STANDBY
STANDBY
SYNC
ASYNC
ASYNC
SWISS
CLIENTS
READ
HERE
GERMAN
CLIENTS
READ
HERE
Local Data Services: not for complex environments
Global Data Services in Action!12 08/12/2015
PRIMARY STANDBY STANDBY
STANDBY
SYNC
ASYNC
ASYNC
IN CASE OF
LAG BOTH
READ HERE
Local Data Services: not for complex environments
Global Data Services in Action!13 08/12/2015
PRIMARY STANDBY STANDBY
STANDBY
SYNC
ASYNC
ASYNC
IN CASE OF
PROBLEMS ALL
READ FROM
PRIMARY
Global Data Services are the new big improvement
Global Data Services in Action!14 08/12/2015
PRIMARY STANDBY STANDBY
STANDBY
SYNC
ASYNC
ASYNC
GLOBAL DATA SERVICES INFRASTRUCTURE
Global Data Services - Overview
Global Data Services in Action!16 08/12/2015
Introduced in 12.1.0.1
Goal: centralize database service management
– In replicated environments
– For applications which are replication-aware
Extra-cost option: requires Oracle Active Data Guard or Oracle Golden Gate
SALES SALES SALES
GLOBAL DATA SERVICES INFRASTRUCTURE
SERVICE
Global Data Services – Big Picture
Global Data Services in Action!17 08/12/2015
SALES SALESSALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
Global Data Services – Big Picture
Global Data Services in Action!18 08/12/2015
Global Service
Manager 1
Global Service
Manager 2
Global Service
Manager 3Global Service
Manager 4
SALES SALESSALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
GDS POOL: SALES (sales_rw, sales_ro, sales_rep, …)
GDS
CATALOG
GDS
CATALOG
Global Data Services – Big Picture
Global Data Services in Action!19 08/12/2015
Global Service
Manager 1
Global Service
Manager 2
Global Service
Manager 3Global Service
Manager 4
SALES SALESSALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
GDS POOL: SALES (sales_rw, sales_ro, sales_rep, …)
GDS
CATALOG
GDS
CATALOG
Global Services
GDS Pool
Databases
GDS Pool
Databases
Global Data Services – How it works?
Global Data Services in Action!20 08/12/2015
SALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1
Request a connection for a global service to a GSM
Service naming: <gs_name>.<gds_pool>.<gds_configuration>1
Global Data Services – How it works?
Global Data Services in Action!21 08/12/2015
SALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1 2
Request a connection for a global service to a GSM
Service naming: <gs_name>.<gds_pool>.<gds_configuration>
GSM returns the local listener address (SCAN is bypassed)
1
2
Global Data Services – How it works?
Global Data Services in Action!22 08/12/2015
SALES SALES SALESSALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1 2
3
Request a connection for a global service to a GSM
Service naming: <gs_name>.<gds_pool>.<gds_configuration>
GSM returns the local listener address (SCAN is bypassed)
Connect to the Global Service active locally on the target
1
2
3
GDS – Catalog/Regions/Pools
Global Data Services in Action!25 08/12/2015
Create the GDS catalog administrator account in a 12c database
– For CDBs it must be a common user (or ORA-45562 raised)
Internally, the GDS catalog data is stored in the schema GSMADMIN_INTERNAL
(tables, PL/SQL code, jobs, types,…)
SQL> CREATE USER c##gsm_admin IDENTFIED BY <password>;
SQL> GRANT gsmadmin_role TO c##gsm_admin;
GDSCTL> CREATE CATALOG
-database gsm01.trivadis.com:1521/repo_site1.trivadis.com
-user c##gsm_admin/<password>
-region germany,switzerland #default region: regionora
-gdspool sales,order_entry #default pool: dbpoolORA
-configname tvddbcloud #default name: oradbcloud
-autovncr on
GDS POOL
GDS Region12c
Global Service Manager
Global Data Services in Action!26 08/12/2015
To connect to the catalog database, GSM uses the GSMCATUSER database account
Each GSM needs to be registered in the GDS configuration
GSM needs to be started and integrated in the cluster/OS startup procedures
SQL> ALTER USER GSMCATUSER ACCOUNT UNLOCK;
SQL> ALTER USER GSMCATUSER IDENTFIED BY <password>;
GDSCTL> ADD GSM -gsm gsm1 -listener 1530
-catalog gds01.trivadis.com:1521/repo_site1.trivadis.com
-region germany
-wpwd <password>
"gsmcatuser" password:
Create credential oracle.security.client.connect_string1
GSM successfully added
GDSCTL> START GSM –gsm gsm1
Wallet stored in
$TNS_ADMIN/gsmwallet
GSM
GDS Pool Databases
Global Data Services in Action!27 08/12/2015
For each target GDS pool database, unlock the GSMUSER user
A pool database must be added to the correct GDS region
One GDS pool can host many pool databases
A database can belong only to one GDS pool
GDSCTL> ADD DATABASE -connect GDSDB2_SITE1.TRIVADIS.COM
-region germany -gdspool order_entry
"gsmuser" password:
DB Unique Name: GDSDB2_SITE1
SQL> ALTER USER GSMUSER ACCOUNT UNLOCK;
SQL> ALTER USER GSMUSER IDENTFIED BY <password>;
GDS Pool DBs (Data Guard broker)
Global Data Services in Action!28 08/12/2015
PRIMARY STANDBY STANDBY
Data Guard config can be added only to an empty GDS pool (or ORA-44881)
For each standby database, the region need to be manually specified
GDSCTL> ADD BROKERCONFIG
-connect db01.trivadis.com:1521/DB1_SITE1.TRIVADIS.COM
-pwd <password> -gdspool sales -region germany
Catalog connection is established
DB Unique Name: GDSDB1_SITE1
GDSCTL> CONFIG DATABASE
Name Pool Status Region
---- ---- ------ ------
gdsdb1_site2 sales Ok
gdsdb1_site3 sales Ok
gdsdb1_site1 sales Ok germany
GDSCTL> MODIFY DATABASE -database gdsdb1_site2 -region germany
Empty GDS
Region
Global Database Services - Features
Global Data Services in Action!30 08/12/2015
Global Data Services support
– Local Service Attributes (TAF, rlbgoal, clbgoal, commit outcome…)
– Preferred and available databases
– Replication lag threshold (ADG only)
– Region affinity
GDS - Restrictions
Global Data Services in Action!31 08/12/2015
Creation of a global service for a target pool database registered in Oracle Restart fails
(during registration of a CRS global service resource)
For Grid Infrastructure with role separation
– Local Listener must run from oracle user, RDBMS_HOME
For RAC,the service registration works correctly only with policy-managed database
– With administrator-managed RAC databases, the registration does not work
(ORA-45540/PRCR-1001) – BUG assigned to development
CRS-2509: Resource type \'ora.cluster_vip_net1.type\' used in
dependency \'hard\' does not exist or is not registered
srvctl modify listener -user oracle -oraclehome $RDBMS_HOME
Global Connection: Client-side
Global Data Services in Action!32 08/12/2015
GSALES_RO.TRIVADIS.COM =
(DESCRIPTION=
(CONNECT_TIMEOUT=5)(RETRY_COUNT=3)(TRANSPORT_CONNECT_TIMEOUT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm01.trivadis.com)(PORT=1530))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm02.trivadis.com)(PORT=1530)))
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm03.trivadis.com)(PORT=1530)))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm04.trivadis.com)(PORT=1530)))
(CONNECT_DATA=
(SERVICE_NAME=gsales_ro.sales.tvddbcloud)
(REGION=germany)))
Global Connection: Client-side
Global Data Services in Action!33 08/12/2015
GSALES_RO.TRIVADIS.COM =
(DESCRIPTION=
(CONNECT_TIMEOUT=5)(RETRY_COUNT=3)(TRANSPORT_CONNECT_TIMEOUT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm01.trivadis.com)(PORT=1530))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm02.trivadis.com)(PORT=1530)))
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm03.trivadis.com)(PORT=1530)))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm04.trivadis.com)(PORT=1530)))
(CONNECT_DATA=
(SERVICE_NAME=gsales_ro.sales.tvddbcloud)
(REGION=germany)))
GSMs Region Switzerland
GSMs Region Germany
Global Connection: Client-side
Global Data Services in Action!34 08/12/2015
GSALES_RO.TRIVADIS.COM =
(DESCRIPTION=
(CONNECT_TIMEOUT=5)(RETRY_COUNT=3)(TRANSPORT_CONNECT_TIMEOUT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm01.trivadis.com)(PORT=1530))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm02.trivadis.com)(PORT=1530)))
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm03.trivadis.com)(PORT=1530)))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm04.trivadis.com)(PORT=1530)))
(CONNECT_DATA=
(SERVICE_NAME=gsales_ro.sales.tvddbcloud)
(REGION=germany)))
Intra-Region Failover
Intra-Region Failover
Global Connection: Client-side
Global Data Services in Action!35 08/12/2015
GSALES_RO.TRIVADIS.COM =
(DESCRIPTION=
(CONNECT_TIMEOUT=5)(RETRY_COUNT=3)(TRANSPORT_CONNECT_TIMEOUT=3)(FAILOVER=ON)
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm01.trivadis.com)(PORT=1530))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm02.trivadis.com)(PORT=1530)))
(ADDRESS_LIST=
(LOAD_BALANCE=ON)
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm03.trivadis.com)(PORT=1530)))
(ADDRESS=(PROTOCOL = TCP)(HOST=gsm04.trivadis.com)(PORT=1530)))
(CONNECT_DATA=
(SERVICE_NAME=gsales_ro.sales.tvddbcloud)
(REGION=germany)))
Inter-Region Failover
Global Connection Load Balancing
Global Data Services in Action!36 08/12/2015
Client connection requests are routed to the least-loaded database (like SCAN)
– Based on performance, interregion network latency, region affinity and CLB/RLB goal
GDSCTL> SERVICES -service gsales_ro –support
Service "gsales_ro.sales.tvddbcloud" has 3 instance(s). Affinity: LOCALONLY
Instance "sales%31", name: "GDSDB2", db: "GDSDB2_SITE1",
region: "germany", status: ready.
Request ratio: 35.57%, Sessions: 0, Elapsed time: 115.84 ms.
Region "germany": RLB Ratio: 2.99%, Response Time: 115.84 ms,
Network Factor: 0 UCPS: 0.70 FLAGS: 0 CPU 100.00
Instance "sales%41", name: "GDSDB2", db: "GDSDB2_SITE2",
region: "germany", status: ready.
Request ratio: 64.43%, Sessions: 0, Elapsed time: 1.28 ms.
Region "germany": RLB Ratio: 97.01%, Response Time: 1.28 ms,
Network Factor: 0 UCPS: 1.27 FLAGS: 0 CPU 1.00
GDSCTL> ADD SERVICE -gdspool sales -service gsales_ro
–clbgoal [SHORT|LONG] –rlbgoal [SERVICE_TIME | THROUGHPUT]
Global Connection Region Affinity - Anywhere
Global Data Services in Action!37 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality ANYWHERE
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALES
Global Connection Region Affinity - Anywhere
Global Data Services in Action!38 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality ANYWHERE
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1
SALES SALES
1
REMOTE
LOCAL
Global Connection Region Affinity – Local Only
Global Data Services in Action!39 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALES
Global Connection Region Affinity – Local Only
Global Data Services in Action!40 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1
SALES SALES
LOCAL
Global Connection Region Affinity – Local Only
Global Data Services in Action!41 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1
2
SALES SALES
LOCALCRASH
Global Connection Region Affinity – Local Only
Global Data Services in Action!42 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
1
2
3
SALES SALES
LOCALCRASH
TNS-12514
Global Connection Region Affinity – Region Failover
Global Data Services in Action!43 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY –region_failover
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALESSALES SALES
Global Connection Region Affinity – Region Failover
Global Data Services in Action!44 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY –region_failover
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALESSALES SALES
1
LOCAL
Global Connection Region Affinity – Region Failover
Global Data Services in Action!45 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY –region_failover
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALESSALES SALES
1
2
LOCALCRASH
Global Connection Region Affinity – Region Failover
Global Data Services in Action!46 08/12/2015
GDSCTL> ADD SERVICE -gdspool sales
-service sales_rpt -locality LOCAL_ONLY –region_failover
SALES SALES
Golden Gate, Active Data Guard, Streams, […]
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
DATABASE CLIENTS
SALES SALESSALES SALES
1
2
3
LOCALCRASH
REMOTE
Region Affinity: CDB & PDBs
Global Data Services in Action!47 08/12/2015
In version 12.1.0.2, Region Affinity for a PDB is ignored
Current workaround: create a global service for the CDB$ROOT container, drop it
and create again with the same name for the target PDB
GDSCTL> CONFIG SERVICE -gdspool sales -service gsales_ro
Name: gsales_ro
Network name: gsales_ro.sales.tvddbcloud
Locality: LOCAL_ONLY
Region Failover: No
PDB: app1
GDSCTL> SERVICES -service gsales_ro
Service "gsales_ro.sales.tvddbcloud" has 2 instance(s). Affinity:
ANYWHERE Instance "sales%11", name: "GDSDB1", db: "GDSDB1_SITE2",
region: "germany", status: ready.
Instance "sales%21", name: "GDSDB1", db: "GDSDB1_SITE3",
region: "switzerland", status: ready.
Global Service Placement/Failover
Global Data Services in Action!48 08/12/2015
For each Global Service a placement attribute can be specified
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -preferred_all |
-preferred db1,db2,db3 -available db4 ]
DB1 DB2 DB3 DB4
1
Global Service Placement/Failover
Global Data Services in Action!49 08/12/2015
For each Global Service a placement attribute can be specified
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -preferred_all |
-preferred db1,db2,db3 -available db4 ]
DB1 DB2 DB3 DB4
1
2
Global Service Placement/Failover
Global Data Services in Action!50 08/12/2015
For each Global Service a placement attribute can be specified
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -preferred_all |
-preferred db1,db2,db3 -available db4 ]
DB1 DB2 DB3 DB4
1
2
3
Global Service Placement/Failover
Global Data Services in Action!51 08/12/2015
For each Global Service a placement attribute can be specified
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -preferred_all |
-preferred db1,db2,db3 -available db4 ]
DB1 DB2
GDSCTL> relocate service … -old_db db4 -new_db db2
DB3 DB4
1
2
3
Role-Based Global Services – Lag Tolerance
Global Data Services in Action!52 08/12/2015
Role-based services are supported for pool databases in Data Guard Broker configuration
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -role PRIMARY |
-role PHYSICAL_STANDBY -failover_primary –lag 20
DB1 DB2
PRIMARY
DB3
1 STANDBY STANDBY
Role-Based Global Services – Lag Tolerance
Global Data Services in Action!53 08/12/2015
Role-based services are supported for pool databases in Data Guard Broker configuration
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -role PRIMARY |
-role PHYSICAL_STANDBY -failover_primary –lag 20
DB1 DB2
PRIMARY
DB3
1
2
STANDBY STANDBY
STANDBYPRIMARYSTANDBY
Role-Based Global Services – Lag Tolerance
Global Data Services in Action!54 08/12/2015
Role-based services are supported for pool databases in Data Guard Broker configuration
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -role PRIMARY |
-role PHYSICAL_STANDBY -failover_primary –lag 20
DB1 DB2
PRIMARY
DB3
1
2
STANDBY STANDBY
STANDBYPRIMARYSTANDBY
3 STANDBYPRIMARYSTANDBYLAG>20
Role-Based Global Services – Lag Tolerance
Global Data Services in Action!55 08/12/2015
Role-based services are supported for pool databases in Data Guard Broker configuration
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -role PRIMARY |
-role PHYSICAL_STANDBY -failover_primary –lag 20
DB1 DB2
PRIMARY
DB3
1
2
STANDBY STANDBY
STANDBYPRIMARYSTANDBY
3
4
STANDBY
STANDBY
PRIMARYSTANDBYLAG>20
Role-Based Global Services – Lag Tolerance
Global Data Services in Action!56 08/12/2015
Role-based services are supported for pool databases in Data Guard Broker configuration
GDSCTL> ADD SERVICE -gdspool <gds_pool> -service <service>
[ -role PRIMARY |
-role PHYSICAL_STANDBY -failover_primary –lag 20
DB1 DB2
PRIMARY
DB3
1
2
STANDBY STANDBY
STANDBYPRIMARYSTANDBY
3
4
STANDBY
STANDBY
PRIMARYSTANDBYLAG>20
PRIMARYSTANDBY STANDBY
LAG<=20
5
Global Data Services in Action!57 08/12/2015
DEMO?
GSM03 GSM04
GDS Region: SWITZERLAND
GSM01 GSM02
GDS Region: GERMANY
OLTP OLTPGSMCAT OLTP
Global Services: gsales_rw, gsales_ro
Pool: Sales
Conclusions
Global Data Services in Action!58 08/12/2015
Central Database Service Management
Works as expected, minor bugs
Perfect for complex environments
Extra-cost option (GG or ADG)