جهت راه اندازی Oracle GoldenGate بایستی از اجزای آن شناخت کافی داشته باشید تا بتوانید به درک بهتر و عمیق تر از روند اجرای گلدن گیت در پایگاه داده مبدا و مقصد برسید بنابراین دراین مطلب یکی از اجزای آن به نام Extract را شرح می دهیم.
نمونه هایی از اجزای GoldenGate به شرح ذیل می باشد:
- Extract
- Source Trail
- Data Pump
- TARGET TRAIL
- Replicat
- Manager
آشنایی با سرویس Extract
1.استخراج دستورات DMLای را در Source Database انجام می دهد.
2.اعمال فیلترینگ را نیر بر عهده دارد.
3.داده های ارسالی در صف به صورت پیوسته توسط Extract وتوزیع داده ها در مسیرهای مشخص شده (targets) انجام می پذیرد.
4.در صورت انجام تنظیمات، داده ها را در مسیر، فشرده سازی و رمزنگاری می کند.
5.داده هایی که از منبع استخراج شده را با حفظ یکپارچگی، در فایلی که EXTTRAIL خوانده می شود ، می نویسد.
6.از checkpoint جهت mark نمودن موقعیت read and write position برای تعیین نقطه شروع در صورت failure استفاده می شود.
Extract در دو حالت Integrated و Classic قابل پیاده سازی است که در ادامه به صورت مختصر به هر کدام از آنها خواهیم پرداخت.
Integrated Extract
در این حالت، تغییرات موجود در redo یا archive log به logminer ارسال و logminer آنها را به صورت (LCR (logical change records به پروسس Extract ارسال می کند.
با دیگر ویژگی های حالت Integrated در قسمت زیر آشنا خواهید شد.
1.قابل استفاده در نسخه ORACLE (Database Release 11.2.0.3) و نسخه های بعدی
2.پشتیبانی از data typeهای بیشتر و multithreaded
3.پشتیبانی از توپولوژی قدیمی
4.عدم نصب برنامه اضافی جهت کار با oracle Rac و ASM
5.سرعت بیشتر در فعال سازی فیلترینگ در جدول
6.توانایی اجرای point-in-time recovery (بازیابی به یک زمان مشخص)
7.پشتیبانی از IOT, XML, LOB
Classic Extract
در این حالت، تغییرات موجود در redo یا archive log از source database به target database ارسال می شود. این حالت را می توان در همه سیستم عامل ها و نسخه های دیتابیس به کار برد.
در شکل زیر روند اجرای آن نمایش داده شده است.
پیکربندی سرویس Extract
برای پیکربندی extract باید مراحل زیر را طی نمود:
1.ایجاد فایل پیکربندی
2.اضافه نمودن سرویس extract
3.استارت سرویس extract
در ادامه این مراحل را توضیح خواهیم داد.
ایجاد فایل پیکربندی extract
این فایل شامل مجموعه ای از پارامترها می باشد که در این متن، به پارامترهای که بیشترین استفاده را دارند، می پردازیم.
نکته: فایل پیکربندی extract در دایرکتوری $GG_HOME/dirprm ذخیره می شود.
EXTRACT: نام پروسس extract
USERID: نام کاربری ایجاد شده در GoldenGate
EXTTRAIL: نام EXTTRAIL دلخواه
BUFSIZE : حداکثر بایت حافظه اختصاص داده شده برای خواندن داده های مجدد – سرعت ضبط را افزایش می دهد
MEGABYTES: حداکثر اندازه EXTTRAIL را مشخص میکند.
TABLE: مشخص نمودن نام کاربری و جدول مربوطه جهت اجرای آن extract
در قسمت زیر نمونه ای از فایل پیکربندی را مشاهده می کنید:
GGSCI (goldens) 1 <EDIT PARAMS sm1
EXTRACT sm1
USERID OGG_USER PASSWORD OGG_USER
EXTTRAIL /home/oracle/goldengate/dirdat/sm
TABLE SM_TEST.*;
در مثال فوق، extractای با نام sm1 ایجاد خواهد شد که از طریق کاربر OGG_USER به دیتابیس مبدا متصل می شود و اطلاعات استخراج شده را در مسیر مذکورد ایجاد می کند همچنین همه جداول موجود در اسکیمای sm_test در عملیات replicate شرکت خواهند کرد. نکته: در زمان ایجاد EXTTRAIL باید توجه داشت که مسیر معرفی شده در سیستم عامل وجود داشته باشد.
اضافه نمودن سرویس extract
برای اضافه کردن کامپوننت extract باید دستورات زیر را اجرا نمود
GGSCI (goldens) 1 < DBLOGIN USERID gguser PASSWORD gguser
GGSCI (goldens) 2 < ADD EXTRACT sm1, TRANLOG, BEGIN NOW
GGSCI (goldens) 3 < ADD EXTTRAIL /home/oracle/goldengate/dirdat/sm, EXTRACT sm1, megabytes 50
با اجرای این دستورات، ابتدا به دیتابیس لاگین کرده سپس extract جدیدی با نام sm1 ایجاد می کنیم و در نهایت مسیر و حداکثر حجم فایلهای trail را مشخص می کنیم.
بصورت پیش extract در حالت کلاسیک ایجاد می شود برای ایجاد extract در حالت Integrated، می توان از دستور زیر استفاده کرد:
GGSCI (sm_host as gguser@goldens) 1>ADD EXTRACT SM01, INTEGRATED TRANLOG, BEGIN NOW
استارت سرویس extract
برای استارت ، Extract Process ، ابتدا باید سرویس Manager در حالت اجرا باشد:
GGSCI (goldens) > start mgr
GGSCI (goldens) > info mgr
Manager is running (IP port goldens.7809, Process ID 9202).
سپس با دستور زیر، این پروسس را در حالت اجرا قرار می دهیم:
شکل کلی:
START {EXTRACT} group_name
مثال:
GGSCI (goldens) > start sm1
بعد از انجام دستور روبه رو پیغام زیر نمایش داده می شود
Sending START request to MANAGER …EXTRACT SM1 starting
آشنایی با دیگر پارامترهای دستور extract
در جدول زیر، پارامتر های مختلف دستور EXTRACT را با ذکر مثال توضیح می دهیم.
انتقال ازحالت Classic به Integrated
در قسمت زیر، مثالی را در مورد نحوه انتقال extractای با نام sm1 را از حالت Classic به Integrated را مشاهده می کنید.
GGSCI (goldens) 1> stop extract sm1
GGSCI (goldens) 2> register extract sm1 database
GGSCI (goldens) 3> info sm1 upgrade
GGSCI (goldens) 4> alter extract sm1 tranlog begin now
GGSCI (goldens) 5> start extract sm1
GGSCI (goldens) 6> info extract sm1
GGSCI goldens) 7> stop extract sm1
GGSCI (goldens) 8> info sm1 upgrade
GGSCI (goldens) 9> alter extract sm1, UPGRADE INTEGRATED TRANLOG
GGSCI (goldens) 10> start extract sm1
GGSCI (goldens) 11> info extract sm1
EXTRACT SM1 Initialized 2019-09-12 15:29 Status STOPPED
Checkpoint Lag 00:00:00 (updated 00:15:52 ago) Log Read Checkpoint Oracle Integrated Redo Logs
2019-09-12 15:29:33 SCN 0.1978546(1978546)
مروری مجدد بر مراحل پیکربندی extract
GGSCI (goldens) > dblogin userid gguser password gguser
Successfully logged into database.
GGSCI (sourceserver as gguser@sourcedb) > add trandata SM_TEST.*
GGSCI (goldens) > stop mgr
GGSCI (goldens) > view params mgr
PORT 7809
GGSCI (goldens) > start mgr
GGSCI (goldens) > info mgrManager is running
(IP port goldens.7809, Process ID 9202).
GGSCI (goldens) > edit params sm1
GGSCI (goldens) > view params sm1
Extract sm1SETENV (NLS_LANG = AMERICAN_AMERICA.AR8MSWIN1256)
USERID gguser@ goldens,PASSWORD gguser
ExtTrail /home/oracle/goldengate/dirdat/sm
Table SM_TEST.*;
GGSCI (goldens) 1 < DBLOGIN USERID OGG_USER PASSWORD OGG_USER
GGSCI (goldens) 2 < ADD EXTRACT sm1, TRANLOG, BEGIN NOW
GGSCI (goldens) 3 < ADD EXTTRAIL /home/oracle/goldengate/dirdat/sm, EXTRACT sm1, megabytes 50
GGSCI (goldens) > start sm1
Sending START request to MANAGER …EXTRACT SM1 starting