<Insert Picture Here> Valós idejű adatszinkronizáció heterogén környezetben GoldenGate tapasztalatok Nagy Péter Oracle Műszaki tanácsadó
Oracle GoldenGate Valós idejű adatszinkronizációs megoldás 2 Adatbázisok, alkalmazások. Heterogén, elosztott rendszerek Valós idejű adatok Üzletileg kritikus alkalmazások, adatok. Információs rendszerek. Valós idejű elérés Az Oracle GoldenGate valós idejű hozzáférést biztosít valós idejű adatokhoz. Lehetővé téve ezáltal a kritikus adatok folyamatos rendelkezésre állását az üzlet bármely területén.
Oracle GoldenGate Valós idejű, heterogén replikáció Alkalmazás/adatbázis/ hardver frissítés Leállásmentes frissítés & migráció Alkalmazások Tartalék környezet, Tehermentesítés GoldenGate Tartalék/Replika Adatbázis Adatszinkronizáció Elosztott rendszerek Legacy Valós idejű BI, információs rendszerek Adattárház
Hogyan működik: moduláris felépítés Capture: Commit-ált változások olvasása (szűrhető) a tranzakciós log-okból. Trail file: Univerzális adatformátum a heterogenitás miatt. Capture Source Trail LAN / WAN / Internet Forrás adatbázis Cél adatbázis
Hogyan működik: moduláris felépítés Capture: Commit-ált változások olvasása (szűrhető) a tranzakciós log-okból. Trail file: Univerzális adatformátum a heterogenitás miatt. Route: Tömörítés, titkosítás. TCP/IP-n keresztül. Delivery: Tranzakciók végrehajtása az integritás biztosításával. Capture Source Trail LAN / WAN / Internet Target Trail Deliver Forrás adatbázis Cél adatbázis
Hogyan működik: moduláris felépítés Capture: Commit-ált változások olvasása (szűrhető) a tranzakciós log-okból. Trail file: Univerzális adatformátum a heterogenitás miatt. Route: Tömörítés, titkosítás. TCP/IP-n keresztül. Delivery: Tranzakciók végrehajtása az integritás biztosításával. Capture Source Trail LAN / WAN / Internet Target Trail Deliver Forrás adatbázis Deliver Target Trail Bi-directional Source Trail Capture Cél adatbázis
GoldenGate topológiák Unidirectional Query Offloading Bi-Directional Live Standby or Active-Active for HA Peer-to-Peer Load Balancing, Multi-Master Broadcast Data Distribution Integration/Consolidation Data Warehouse Cascading Data Marts
GoldenGate heterogén környezetben Databases Capture: Oracle DB2 Microsoft SQL Server Sybase ASE Teradata Enscribe SQL/MP SQL/MX MySQL Delivery: A fentiek plusz: HP Neoview, Netezza, Greenplum, és bármilyen ODBC kompatibilis adatbázis ETL termékek JMS message queues TimesTen O/S and Platforms Windows Linux Sun Solaris HP NonStop HP-UX HP TRU64 HP OpenVMS IBM AIX IBM z/os
Oracle termékek adat mozgatásra Összehasonlítás Redo in Memory Buffer Disaster Recovery & Data Protection Direct Memory Access Active Data Guard Direct Write to Logs HETEROGENEOUS Real Time Data Integration & High Availability Read On-Disk Logs GoldenGate Fast SQL Data Integration for Data Warehouse & SOA SQL Query Data Integrator Set-based, Complex SQL 9
Adattárház építési megoldások Valós idejű információs rendszerek Forrás 1 EMP DEPT On-Disk Logs Forrás 2 Oracle GoldenGate Valós idejű adatgyűjtés Alacsony terhelés Folyamatos betöltés az ODS sémába Néhány másodperces késés Oracle GoldenGate Oracle Data Integrator EE Nagy teljesítményű E-LT a cél/adattárház oldalon Periodikus mini-batch (15 perc) Transzformáció az adatbázisban Oracle Data Integrator DIM DIM EMP DEPT FACT Oracle GoldenGate EMP DEPT DIM DIM On-Disk Logs ODS Schema DW Schema 10
Tapasztalatok
Gyakorlatban Letöltés, kicsomagolás Create subdirs SOURCE DB: alter system set recyclebin=off scope=spfile; SOURCE DB: create user... identified by..., grant.. - DDL replikációhoz marker_setup.sql, ddl_setup.sql, role_setup.sql, grant GGS_GGSUSER_ROLE to xxx, ddl_enable.sql SOURCE:./ggsci SOURCE: edit params mgr SOURCE: start manager SOURCE: add extract ext1, tranlog, begin now SOURCE: add exttrail /u01/app/oracle/product/gg/dirdat/lt, extract ext1 SOURCE: edit params ext1 TARGET:./ggsci TARGET: edit params./global TARGET: dblogin userid ggate TARGET: add checkpointtable ggate.checkpoint TARGET: add replicat rep1, exttrail /u01/app/oracle/product/gg/dirdat/lt, checkpointtable ggate.checkpoint TARGET: edit params rep1 SOURCE: start extract ext1 TARGET: start replicat rep1 SOURCE/TARGET: info all
Gyakorlatban Kezdeti adatbázis létrehozása (GG initial load, EXP/IMP, Transportable tablespace) V$DATABASE current SCN=xxx 1. EXTRACT start 2. EXPORT FLASHBACK SCN=xxx 3. IMPORT 4. REPLICAT START AFTERSCN=xxx Nem praktikus az EXTRACT elejéről indítani az in-fly tranzakciók miatt Az EXTRACT belép az adatbázisba, tehát annak futnia kell V$LOG, V$LOGHISTORY Olvashat archive log-ot is TRAIL fájl helyigény = 0,5 x Redo.log Csak Commit esetében kerül a TRAIL file-ba Csak ezután olvas a PUMP CHECKPOINT tábla a céloldalon Általában replikációhoz: DISABLE triggers, FK constraints, cascade delete Veridata (összehasonlítás, állapot) LAG csúszás/ feldolgozási lemaradás
GoldenGate EXTRACT konfiguráció EXTRACT eoraks1 USERID ollie, PASSWORD xxxxxxx RMTHOST 192.168.192.129, MGRPORT 7899 RMTTRAIL./dirdat/ks TABLE ollie.tcustmer; TABLE ollie.a*;
GoldenGate REPLICAT konfiguráció REPLICAT roraks1 USERID ggs2 PASSWORD xxxxxxx ASSUMETARGETDEFS DISCARDFILE./dirrpt/roraks1.dsc, PURGE MAP ollie.tcustmer, TARGET ggs2.client; MAP ollie.tcustord, TARGET ggs2.order; MAP ollie.*, TARGET ggs2.*;
Megfeleltetés Historikus tábla This example uses special values to build history of operations data INSERTALLRECORDS MAP SALES.ACCOUNT, TARGET REPORT.ACCTHISTORY, COLMAP (USEDEFAULTS, TRAN_TIME = @GETENV( GGHEADER, COMMITTIMESTAMP ), OP_TYPE = @GETENV( GGHEADER, OPTYPE ), BEFORE_AFTER_IND = @GETENV( GGHEADER, BEFOREAFTERINDICATOR ), );
Függvények MAP SALES.ACCOUNT, TARGET REPORT.ACCOUNT, COLMAP ( USEDEFAULTS, TRANSACTION_DATE = @DATE ( YYYY-MM-DD, YY, YEAR, MM, MONTH, DD, DAY), AREA_CODE = @STREXT (PHONE-NO, 1, 3), PHONE_PREFIX = @STREXT (PHONE-NO, 4, 6), PHONE_NUMBER = @STREXT (PHONE-NO, 7, 10) ); PHONE_NO = @STRCAT ("(", AREA_CODE,")", PHONE_PREFIX,"-", PHONE_NUMBER) PRODUCT_CODE = @CASE (PRODUCT_CODE, CAR, A car, TRUCK, A truck ) ANNUAL_SALARY = @COMPUTE ( MONTHLY_SALARY * 12) AMOUNT_COL = @IF (AMT > 0, AMT, 0)
Kérdések