آموزش GoldenGate 12c - قسمت 4
تاریخ انتشار: | 1398/فروردین/29 |
نویسنده: | مهندس قاسمی |
گروه دانش : | Oracle Datebase |
تعداد بازدید: | 12 مرتبه |
اشتراک گذاری: |
اجرای بارگذاری اولیه Initial Load
در این مثال، اجرای یک بارگذاری اولیه یا Initial load با استفاده از روش Direct load برای استخراج رکوردهای یک جدول از اوراکل دیتابیس 11g به عنوان مبدا و درج آنها در جدولی مشابه در یک اوراکل دیتابیس 11g به عنوان مقصد توضیح داده خواهد شد.
جدول PRODUCT در اسکیمای SH در مبدا با تعداد 72 روکورد و جدول دیگری با همین ساختار در دیتابیس مقصد، خالی و بدون رکورد وجود دارد. من می خواهم این 72 رکورد را با استفاده از متد Direct Load از جدول دیتابیس مبدا به دیتابیس مقصد منتقل کنم.
اقداماتی که باید در مبدا (SOURCE) صورت پذیرد به شرح زیر است:
1- ایجاد یک پروسس Extract از نوع Initial load با نام “Load1”
# ./ggsci GGSCI (redhat-src.localdomain) 1> ADD EXTRACT load1, SOURCEISTABLE EXTRACT added.
از آنجایی که وظیفه Load1 استخراج داده های فقط برای یکبار می باشد و نه تمام تراکنش های بعدی جدول، باید از عبارت SOURCEISTABLE در تعریف این پروسس استفاده کنیم.
2- ایجاد یک فایل پارامتر با مقادیر زیر برای پروسس Load1 :
GGSCI (redhat-src.localdomain) 6> EDIT PARAMS load1 EXTRACT load1 USERID ggs_owner, PASSWORD ggs_owner RMTHOST devu007, MGRPORT 7809 “نام هاست و شماره پورت سیستم مقصد” RMTTASK replicat, GROUP load2 “ نام پروسس سیستم مقصد” TABLE sh.products;
اقداماتی که باید در مقصد (Target) صورت پذیرد به شرح زیر است:
3- ایجاد یک پروسس Replicat از نوع Initial Load با نام “Load2”:
GGSCI (devu007) 1> ADD REPLICAT load2, SPECIALRUN REPLICAT added.
آنجایی که این پروسس فقط یک بار وظیفه دریافت اطلاعات از مبدا و درج در جدول مقصد را دارد از عبارت SPECIALRUN استفاده می کنیم.
4- ایجاد یک فایل پارامتر برای پروسس Load2 :
GGSCI (devu007) 2> EDIT PARAMS load2 REPLICAT load2 USERID ggs_owner, PASSWORD ggs_owner ASSUMETARGETDEFS MAP sh.Product, TARGET sh.Product;
تست اولیه :
On Source: SQL> select count(*) from products; COUNT(*) ———- 72
On Target: SQL> select count(*) from products; COUNT(*) ———- 0
5- استارت پروسس Load1 برای انجام Initial Load:
نکته: از آنجایی که این پروسس فقط یکبار برای انجام بارگذاری اولیه اجرا می شود نیازی نیست در در سمت دیتابیس مقصد پروسس Replicat با نام Load2 را دستی اجرا کنیم و آن به صورت خودکار اجرا خواهد شد.
On Source: GGSCI (redhat-src.localdomain) 16> START EXTRACT load1 Sending START request to MANAGER … EXTRACT LOAD1 starting GGSCI (redhat-src.localdomain) 28> info extract load1 EXTRACT LOAD1 Last Started 2016-02-11 11:33 Status RUNNING Checkpoint Lag Not Available Log Read Checkpoint Table SH.PRODUCTS 2016-02-11 11:33:16 Record 1 Task SOURCEISTABLE GGSCI (redhat-src.localdomain) 29> info extract load1 EXTRACT LOAD1 Last Started 2016-02-11 11:33 Status STOPPED Checkpoint Lag Not Available Log Read Checkpoint Table SH.PRODUCTS 2016-02-11 11:33:16 Record 72 Task SOURCEISTABLE
تست صحبت عملیات Initial load:
On Target: SQL> select count(*) from products; COUNT(*) ———- 72
در قسمت بعد در خصوص راه اندازی پروسس های Extarct و Replicat بصورت آنلاین برای همانند سازی داده ها در مبدا و مقصد) synchronize the changed data) صحبت خواهم کرد.