برای ساخت سرویس replicat در مقصد اول فایل پیکربندی سرویس رو ایجاد میکنیم:
GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 60> edit param rora1
REPLICAT rora1
USERID ggs,PASSWORD ggs
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA1.DSC, PURGE
DECRYPTTRAIL AES128 KEYNAME supermaskey
MAP hr.*, TARGET test.*;
خط اول: نوع و نام سرویس رو مشخص میکنیم
خط دوم: نامکاربری و پسوردی که سرویس باید باهاش به دیتابیس مقصد وصل بشه و فایلهای trail رو apply کنه
خط سوم: مدیریت رخدادها فعال باشه (به صورت پیشفرض روی DML) با فعال کردن این سرویس اگه مثلا در سمت مبدا دستور delete یا دستور dmlای بخوره و در مقصد همچین object ای نباشه دستور بر روی مقصد ignore میشه
نکته: اگه insert ای در مبدا بخوره و اون رکورد در مقصد موجود باشه ولی فیلدهای اون رکورد در مقصد با مبدا نخوره با فعال بود handle collisions رکورد مقصد آپدیت میشه
نکته: فعال کردن handle collision در برخی سناریوها مفید و در برخی غیر مفید هستش (تو سناریوهای ۲ طرفه به طور معمول نیاز به چک این مشکلات توسط dba هست پس فقط بار اول اجرای سرویس handle collision رو فعال میکنیم و در باقی مواقع غیرفعالش میکنیم یا اسکرپت براشون مینویسیم)
خط چهارم: فرض رو بر این میذاره که structre مقصد مثل مبدا هستش
خط پنجم: اگه سرویس موقع apply دیتا به مشکلی خورد مشخصات اون رکورد و خطا در این مسیر قرار گرفته میشه
خط ششم: اگه trail فایل ما رمزنگاری شده باشه باید از حالت رمز توسط replicat خارج بشه
خط هفتم: اگه اسکیماهای مختلفی در مبدا و مقصد داشته باشیم و نیاز باشه Mapping ای انجام بشه از این دستور استفاده میکنیم
نکته: میتونیم در سطح فیلد هم map داشته باشیم
فایل پیکربندی من برای سناریو فعلی به شکل زیر خواهد بود:
REPLICAT rora1
USERID GGS,PASSWORD GGS
HANDLECOLLISIONS
ASSUMETARGETDEFS
DISCARDFILE ./dirrpt/RORA1.DSC, PURGE
MAP TEST_UNIDIRECTIONALGGS.*, TARGET TEST_UNIDIRECTIONALGGS.*;
اضافه کردن سرویس به گلدنگیت
حالا باید سرویس رو به گلدنگیت اضافه کینم:
GGSCI>ADD REPLICAT rora1, EXTTRAIL dirdat/l2, CHECKPOINTTABLE GGS.MYCHECKPT
راهاندازی سرویس replicat
حالا سرویس replicat رو start میکنیم:
GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 67> start rora1
Sending START request to MANAGER ...
REPLICAT RORA1 starting
GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 84> info rora1
REPLICAT RORA1 Last Started 2017-11-10 16:33 Status RUNNING
Checkpoint Lag 04:12:03 (updated 00:00:00 ago)
Process ID 12793
Log Read Checkpoint File dirdat/l2000000
2017-11-10 12:21:25.029387 RBA 5334145
تست سرویسها
برای تست سرویسها در سرور مبدا جدول جدیدی رو با دیتا بسازید و در سرور مقصد منتظر اعمال خودکار دستورات باشید
همچنین با info گرفتن از سرویسها هم میتونید بفهمید الان سرویس روی کدوم RBA در حال کار هستش
GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 85> info rora1
REPLICAT RORA1 Last Started 2017-11-10 16:33 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:00 ago)
Process ID 12793
Log Read Checkpoint File dirdat/l2000000
2017-11-10 16:35:51.029236 RBA 7688416
کمک گرفتن از help
اگه نیاز داشتید از help گلدنگیت اسفاده کنید از دستور زیر استفاده کنید:
help add replicat
خب الان سناریوی ۱ طرفه ما با گلدنگیت تموم شد امیدوارم لذت برده باشید :)
khoda kheiret bede, kheily khoob boood
mamnooon.