Oracle Golden Gate Extract ve Replicat Ekleme

Bu yazıda Oracle GoldenGate’e integrated mod’da Extract ve Replicat eklemekten bahsedeceğiz. Oracle GoldenGate farklı veritabanı sistemleri arasında veri senkronizasyonu sağlamak için kullanılan bir araçtır. Oracle’dan; Oracle’a, MS SQL Server’a, PostgreSQL’e, IBM DB2’ya aktarım yapma yeteneği mevcuttur. Ancak en fazla özellik desteği tahmin edileceği gibi Oracle – Oracle arasında için mevcuttur. GoldenGate integrated mode’da ayarlanınca, veritabanı ile aynı sunucuda çalışması zorunlu değildir, hub olarak ayrı sunucuda çalıştırılabilir. Extract ve Replicat’lar için ilgili veritabanlarında process açılır ve Hub GoldenGate sunucusu ile port üzerinden bağlantı ve veri transferi sağlarlar. Extract için kaynak veritabanında LogMining Server kullanılırken, Replicat için Apply Server kullanılır. Bu yazıdaki kurgu da Hub GoldenGate için hazırlanmıştır. Zihinde daha iyi canlanması için Hub kurgusunun aşağıdaki gibi gösterebiliriz.   Extract ve Replicat aynı sunucuda olduğundan Pump’a ihtiyaç yoktur. Replicat’lar lokal diskte bulunan trail dosyalarını kullanırlar. Extract ve Replicat Eklenmesi Replicat eklenmeden önce veriler expdp/impdp ile kaynak veritabanından hedef veritabanına Flashback SCN ile […]

Oracle Golden Gate Extract ve Replicat Ekleme

Bu yazıda Oracle GoldenGate’e integrated mod’da Extract ve Replicat eklemekten bahsedeceğiz.

Oracle GoldenGate farklı veritabanı sistemleri arasında veri senkronizasyonu sağlamak için kullanılan bir araçtır. Oracle’dan; Oracle’a, MS SQL Server’a, PostgreSQL’e, IBM DB2’ya aktarım yapma yeteneği mevcuttur. Ancak en fazla özellik desteği tahmin edileceği gibi Oracle – Oracle arasında için mevcuttur.

GoldenGate integrated mode’da ayarlanınca, veritabanı ile aynı sunucuda çalışması zorunlu değildir, hub olarak ayrı sunucuda çalıştırılabilir. Extract ve Replicat’lar için ilgili veritabanlarında process açılır ve Hub GoldenGate sunucusu ile port üzerinden bağlantı ve veri transferi sağlarlar. Extract için kaynak veritabanında LogMining Server kullanılırken, Replicat için Apply Server kullanılır. Bu yazıdaki kurgu da Hub GoldenGate için hazırlanmıştır. Zihinde daha iyi canlanması için Hub kurgusunun aşağıdaki gibi gösterebiliriz.

Resim: oraclespin.com

 

Extract ve Replicat aynı sunucuda olduğundan Pump’a ihtiyaç yoktur. Replicat’lar lokal diskte bulunan trail dosyalarını kullanırlar.

Extract ve Replicat Eklenmesi

Replicat eklenmeden önce veriler expdp/impdp ile kaynak veritabanından hedef veritabanına Flashback SCN ile taşınmalıdır. SCN kaydedilmelidir, Replicat eklerken bu SCN’i kullanacağız.

Extract ekleme:  extw

[oracle@gghost goldengate]$ ./ggsci
GGSCI (gghost.example.com) > dblogin useridalias GGSRC
Successfully logged into database.
GGSCI (gghost.example.com as GG@SRCDB) > edit param extw

Açılan vi editöründe Extract için parametreleri yazıp “:wq” ile kaydedilip çıkalım.

EXTRACT extw
EXTTRAIL ./dirdat/ee
TRANLOGOPTIONS INTEGRATEDPARAMS (MAX_SGA_SIZE 256)
DISCARDFILE ./dirrpt/extw.dsc, PURGE MEGABYTES 4096
DISCARDROLLOVER AT 05:30
LOGALLSUPCOLS
UPDATERECORDFORMAT COMPACT
REPORTCOUNT EVERY 1 HOURS, RATE
REPORTROLLOVER AT 01:00 ON SUNDAY
USERIDALIAS GGSRC
-- Extract yapılacak tablolarımız
TABLE HR.EMPLOYEES;

GGSCI komut satırında aşağıdaki komutlar ile Extract‘ı ekleyip ve başlatalım. Kaynak veritabanına login olduğumuza dikkat edin.

GGSCI (gghost.example.com as GG@SRCDB) > register extract extw database
GGSCI (gghost.example.com as GG@SRCDB) > add extract extw, integrated tranlog, begin now
GGSCI (gghost.example.com as GG@SRCDB) > add exttrail ./dirdat/ee, extract extw
GGSCI (gghost.example.com as GG@SRCDB) > start extract extw

Herhangi bir hata yoksa veriler GoldenGate sunucusundaki trail dosyalarına yazılmaya başlanır. Trail dosyaları GoldenGate kurulum dizini altındaki dirdat dizinine yazılırlar.

Replicat Ekleme: repw
GGSCI komut satırı başlatılır ve Target veritabanına Login olunur. GoldenGate’in kurulum klasöründe olduğumuza dikkat edin.

[oracle@gghost goldengate]$ ./ggsci
GGSCI (gghost.example.com) > dblogin useridalias GGTRG
Successfully logged into database.
GGSCI (gghost.example.com as GGTRGDB@TRGDB) > edit param repw

Açılan vi editöründe Replicat için parametreleri yazıp “:wq” ile kaydedilip çıkalım.

REPLICAT repw
DBOPTIONS ENABLE_INSTANTIATION_FILTERING
DISCARDFILE ./dirrpt/repw.dsc, PURGE MEGABYTES 4096
DISCARDROLLOVER AT 05:30
DDLOPTIONS REPORT
USERIDALIAS GGTG
REPORTCOUNT EVERY 1 HOURS, RATE
REPORTROLLOVER AT 01:00 ON SUNDAY
DISCARDROLLOVER AT 05:30
ALLOWNOOPUPDATES
APPLYNOOPUPDATES
HANDLECOLLISIONS
MAP HR.EMPLOYEES,     TARGET HR.EMPLOYEES,   FILTER ( @GETENV ('TRANSACTION', 'CSN') >= 1426342674098);

Aynı komut satırında aşağıdaki komutlar ile Replicat eklenir. Hedef veritabanına login olduğumuzdan emin olalım.

Oracle’da bulunan SCN bilgisi, GoldenGate’de CSN (Commit Sequence Number) olarak adlandırılır. Tabloyu export alırken kullandığımız SCN bilgisini yukarıda yazıyoruz.

GGSCI (gghost.example.com as GGTRGDB@TRGDB) > add replicat repw integrated exttrail ./dirdat/ee
GGSCI (gghost.example.com as GGTRGDB@TRGDB) > register replicat repw database

Replicat başladıktan sonra, her şey yolunda ise veriler hedef veri tabanına ulaşmaya başlar.

Hata Gideme:
Eğer Replicat eklenirken, Extract zaten varsa, Replicat Extract’ın bulunduğu dosyadan başlamayabilir.
Bunu çözebilmek için Replicat durdurulduktan sonra Sequence No değiştirilir, 111 sayısını örnek olarak kullandık.

GGSCI (gghost.example.com as GGTRGDB@TRGDB) > stop replicat repw
GGSCI (gghost.example.com as GGTRGDB@TRGDB) > alter replicat repw, EXTSEQNO 111
GGSCI (gghost.example.com as GGTRGDB@TRGDB) > start replicat repw

Referanslar:

Quick GoldenGate WebUI HUB Replication Configuration

Benzer Yazılar

Oracle ASM disk gruba export-import yapmak

Oracle 4 ay önce

Oracle’da export/import işlemleri her DBA için günlük rutinlerden biridir. Ancak bu yazıda export/import işlemini normal diske değil ASM içindeki diske nasıl yapabileceğimizden bahsedeceğiz. Öncelikle kısaca standart export işleminden bashsedelim. Export için veritabanı directory nesnesi olması gereklidir. Normalde directory nesneleri “/u01/app/exports” gibi linux yolunu gösterirler. Aşağıdaki örnekteki gibi export alabiliriz. $ expdp \"/ as sysdba\" full=y directory=data_pump_dir dumpfile=appdb_metadata_${DATE}.dmp logfile=appdb_metadata_${DATE}_exp.log include=VIEW,PROCEDURE,FUNCTION,TRIGGER,PACKAGE content=metadata_only compression=all Buradaki data_pump_dir dizini sunucu üzerindeki yerel diskte /u01/app/exports dizinini gösteriyor. Export sonunda dosyalarımız burada oluşacaklar. Ancak eğer export dosyası büyükse ve sunucu yerel dizinlerinde yeterli miktarda yer yoksa export’u Oracle ASM üzerine de alabiliriz. Şimdi bu adımları inceleyelim. ASM üzerinde directory oluşturma: $ source /home/oracle/.profile.grid $ asmcmd mkdir +DATAC1/exports   Veritabanı için directory nesnesi oluşturma: $ source /home/oracle/.profile.db $ sqlplus / as sysdba SQL> create directory data_pump_dmp_dir_asm as '+DATAC1/exports'; SQL> create directory data_pump_log_dir_asm as '+DATAC1/exports';   Oracle ASM’e ancak binary formattaki (data türünde) dosyalar yazılabilir. Bu yüzden Oracle ASM’e export […]

MSSQL İLE ORACLE ARASINDA LİNKED SERVER KURULUMU

SQL Server 5 ay önce

Bu makalede aynı ortamda kurulu olan MSSQL ve ORACLE arasında MSSQL ortamında linked server kurulumu yapılarak MSSQL üzerinden ORACLE ortamında bulunan veri tabanına erişim işlemi amaçlanmaktadır. Öncelikle MSSQL Kurulu sunucumuza ORACLE ODBC Driver kurmamız gerekmektedir. https://www.oracle.com/tr adresinden kurulumunu yapmış olduğumuz ODBC driver sürümünü indirip kurabilirsiniz. MSSQL sunucumuzda Denetim Masası>Sistem ve Güvenlik>Yönetimsel Araçlar yolunu izleyerek (başlat çubuğuna ODBC yazarak da bulabilirsiniz)  OS sistem türünüze uygun (32 bit veya 64 bit) uygun olan ODBC Veri Kaynakları(32-bit veya 64 bit) aracını yönetici olarak çalıştırırız. Açılan pencerede System DSN sekmesinde Ekle seçeneği seçilerek yüklemiş olduğumuz ORACLEODBC driverımızı seçilir(Oracle in OraClient19Home1). Aşağıda açılan pencerede ilgili alanları aşağıda belirtilen şekilde doldurduktan sonra bilgilerin doğruluğunu “Test” butonunu tıklayarak kontrol edebiliriz. Yukarıdaki resimde görüldüğü üzere TNS Service Name kısmına ORACLE üzerinde erişmek istediğimiz  veritabanına ait IP bilgisini yazıyoruz. User ID kısmına Oracle üzerinde yetkili olan kullanıcı ve Password kısmına ise Oracle kullanıcısının şifresini girmemiz gerekmektedir. Tüm bu alanları doldurduktan […]

Oracle srvctl Komutunu Tanıyalım (bölüm 1 – status)

Oracle 8 ay önce

Bu yazıda Oracle Restart bileşeni olan srvctl (Server Control Utility) komutunu inceleyeceğiz. srvctl komutu Oracle GRID yazılımının kurulu ortamlarda bulunur ve özellikle RAC (Real Application Cluster) olmak üzere veritabanı, GRID bileşenlerini yönetmek için kullanılır. Srvctl komutu oracle kullanıcısı ile çalıştırılmalıdır. Sunucu tarafındaki komut olduğu için, komutu çalıştırabilmek adına öncelikle veritabanı sunucularına SSH bağlantısı yapılması gereklidir. İlk öğrenmemiz gereken komut, nasıl yardım alacağımız olmalıdır. -h parametresi ile srvctl’li çalıştırdığımızda yönetebileceğimiz tüm bileşenler ve onlara ait parametreler açıklamaları ile birlikte ekrana yazılır. Çıktısı uzun olduğu için bir kısmından sonrasını eklemeyelim. srvctl -h Usage: srvctl {-version | -version -fullversion | -fullversion} Usage: srvctl config all Usage: srvctl add database -db <db_unique_name> -oraclehome <oracle_home> [-dbtype {RACONENODE | RAC | SINGLE} [-server "<server_list>"] [-instance <inst_name>] [-timeout <timeout>]] [-domain <domain_name>] [-spfile <spfile>] [-pwfile <password_file_path>] [-role {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY | SNAPSHOT_STANDBY | FAR_SYNC}] [-startoption <start_options>] [-stopoption <stop_options>] [-startconcurrency <start_concurrency>] [-stopconcurrency <stop_concurrency>] [-dbname <db_name>] [-policy {AUTOMATIC […]

0 Yorum

Yorum Yaz

Rastgele