۴ مطلب با کلمه‌ی کلیدی «ریپلیکیشن اوراکل» ثبت شده است

سناریوی Unidirectional - قسمت دوازدهم (Replicat مقصد)

برای ساخت سرویس 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.*;

ادامه مطلب...
۳۰ بهمن ۹۷ ، ۱۵:۲۱ ۱ نظر
مهدی غفاری

سناریوی Unidirectional - قسمت یازدهم (سرویس Pump)

خب الان باید سمت مبدا یک سرویس Pump ایجاد بکنیم که فایلهای Trail سمت مقصد فرستاده بشوند

برای اینکار اول باید سرویس Pump رو بسازیم بعد به سرویسهامون اضافه‌اش کنیم.

GGSCI (lx-02-oracle) 13> edit param pora1
EXTRACT pora1 
passthru
DECRYPTTRAIL AES128 KEYNAME supermaskey
RMTHOST 192.168.92.183 ,MGRPORT 65324, COMPRESS
ENCRYPTTRAIL AES128 KEYNAME supermaskey
RMTTRAIL dirdat/l2
TABLE TEST_USER.*;

خط اول: می‌گیم این پیکربندی مربوط به سرویس از جنس Extract هستش و اسمش pora1 نامگذاری شده

خط دوم: آپشن passthru به درد سولوشن‌های oltp به oltp میخوره یعنی همه‌ی structre مبدا در مقصد هستش اینجوری گلدن‌گیت دیگه دنبال تغییر structre نمیره ولی اگه ساختار مبدا و مقصد شما یکی نیست نباید از این آپشن استفاده کنید

خط سوم: وقتی trail fileهای ما رمزنگاری شده باشن اول از همه pump باید اونها رو DECRYPT کنه تا بتونه داخل اونها رو بخونه

خط چهارم: اتصال به سرور و manager مقصد به صورت فشرده هستش 

خط پنجم: بعد از انتقال به سرور مقصد دوباره فایلهای trail رو رمزنگاری کن

خط ششم: گفتم وقتی pump میاد trail میسازه جنسش rmttrail میشه پس اینجا مسیر ساخت این فایلها با نامگذاری رو مشخص می‌کنیم

خط هفتم: می‌تونیم توی pump هم مشخص کنیم که از tarilهای ما فقط جداول مشخصی رو انتقال بده

ادامه مطلب...
۳۰ بهمن ۹۷ ، ۱۴:۵۳ ۰ نظر
مهدی غفاری

سناریوی Unidirectional - قسمت دهم (Manager مقصد)

اولین کار بررسی وضعیت سرویس Manager هستش:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt

MANAGER RUNNING

خب اینجا باید طبق نقشه راهمون نامگذاری‌ها رو انجام بدیم:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 10> edit param mgr
PORT 65324
autostart extract rora1
autorestart extract rora1 , RETRIES 10, WAITMINUTES 1, RESETMINUTES 5
PURGEOLDEXTRACTS ./dirdat/*, USECHECKPOINTS, MINKEEPDAYS 3

چون سناریو فعلی یکطرفه است من فقط سرویس replicat رو اضافه کردم در ادامه برای راه‌اندازی سناریوی ۲ طرفه باید capture, pump هم راه‌اندازی بشه.

خب برای اینکه پیکربندی ما اعمال بشه یکبار سرویس رو stop, start می‌کنیم:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 11> stop mgr
Manager process is required by other GGS processes.
Are you sure you want to stop it (y/n)?y
Sending STOP request to MANAGER ...
Request processed.
Manager stopped.

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 12> start mgr
Manager started.

خب الان سرویس داره به صورت درست کار میکنه:

GGSCI (lx-01-oracle.roshak.org as GGS@orcl) 59> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING

۳۰ بهمن ۹۷ ، ۱۳:۰۹ ۰ نظر
مهدی غفاری

سناریوی Unidirectional - قسمت نهم (TRANDATA مقصد)

راه‌اندازی TRANDATA (اختیاری)

اگه بخوایم سناریوی یکطرفه راه‌اندازی کنیم اصلاً نیازی به اینکار نیست چون ما پروسه capture رو راه‌اندازی نمی‌کنیم ولی چون من میخوام سناریو رو در ادامه ۲ طرفه راه‌اندازی بکنم پس این کار رو انجام میدم:

GGSCI>ADD TRANDATA TEST_UNIDIRECTIONALGGS.*

نکته: اگه به خطای زیر برخوردید یکبار trandata رو پاک کنید و دوباره برای جدول trandata بسازید:

Logging of supplemental redo log data is already enabled for table TEST_UNIDIRECTIONALGGS.TEST_GGS_2.

2017-11-10 12:59:20 WARNING OGG-00706 Failed to add supplemental log group on table TEST_UNIDIRECTIONALGGS.TEST_GGS_2
due to ORA-32588: supplemental logging attribute primary key exists SQL ALTER TABLE "TEST_UNIDIRECTIONALGGS"."TEST_GGS_2"
ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE, FOREIGN KEY) COLUMNS /* GOLDENGATE_DDL_REPLICATION */.
delete trandata TEST_UNIDIRECTIONALGGS.TEST_GGS_2
add trandata TEST_UNIDIRECTIONALGGS.TEST_GGS_2

۳۰ بهمن ۹۷ ، ۱۲:۵۵ ۰ نظر
مهدی غفاری