I.1. Oracle Golden Gate supported topologies
I.2. Architecture/Concepts
I.3. Tổng quan hệ thống Golden Gate
II. Các bước cấu hình chuẩn bị
II.1. Các yêu cầu.
II.2. Các bước chuẩn bị
II.2.1. Chuẩn bị bộ cài đặt
II.2.1.1. Download bộ cài đặt
II.2.1.2. Copy và giải nén
II.2.1.3. Config DB
II.2.1.4. Tạo các User Database và Privileges User phục vụ đồng bộ
II.2.2. Chuẩn bị các biến môi trường
II.2.2.1. ORACLE_HOME và ORACLE_ID.
III. Thực hiện cài đặt.
III.1. Tại máy chứa DB nguồn.
III.1.1. Tạo các thư mục cho OGG.
III.1.2. Tạo service OGG.
III.1.3. Initload data sử dụng datapump
III.1.4. Enable replicat cho OGG.
III.2. Tại Tại máy chứa DB đích.
III.2.1. Tạo các thư mục cho OGG.
III.2.2. Tạo service OGG.
III.2.3. Enable replicat cho OGG.
III.2.4. Import dữ liệu từ dump file đã export tại DB source
IV. Vận hành hệ thống.
IV.1. Start and Stop Extract, Replicat Command.
IV.2. Xem toàn bộ, từng thành phần của hệ thống
IV.3. Xem report của Manager, Extract, Replicat
IV.4. Xem mapping của Manager, Extract, Replicat
IV.5. Clean Up OGG Integrated Extract
V. Một số cần lưu ý.
Chi tiết bên dưới:
I. Các bước cấu hình chuẩn bị
I.1. Các yêu cầu
User System: Khi cấu hình goldengate (GG), cần địa chỉ IP của Source Database và Target Database. Cần tài khoản và mật khẩu root để đăng nhập vào hệ thống.
Version Database + Version GoldenGate: Sử dụng Oracle Database phù hợp để có thể hỗ trợ tối đa cho GG. Sử dụng Oracle GoldenGate 19.1.0.0 để hỗ trợ tính năng Integrated Capture Mode sử dụng để đồng bộ các bảng dữ liệu nén.
Memory: Mỗi Extract hay Replicat cần khoảng 25-50 MB dung lượng bộ nhớ để có thể hoạt động được tốt với nhiều các transactions.
Network: GoldenGate hỗ trợ cả 2 phương thức IPv4 và IPv6. Khi cấu hình Goldengate chúng ta cần mở port để manager sử dụng quản lý các process (thường thì hay dùng port 7809). Có thể cấu hình firewalls trên cả nguồn và đích để chấp nhận kết nối đến từ bên kia.
User Database: Nên dùng 1 user database mới để hỗ trợ việc cấu hình dễ dàng hơn. Vì các Extract Process đọc trực tiếp từ redo logs nên user cần được phân quyền để có thể đọc được các redo logs. Đối với hệ điều hành UNIX thì user phải là member của group Oracle Instance. Còn đối với Window thì phải luôn luôn run Extract và Manager như là Administrator.
Console: GoldenGate sử dụng GGSCI làm console để monitoring các process. Đối với UNIX thì GGSCI có sẵn trong bộ cài đặt. Chỉ cần có đầy đủ các biến môi trường là có thể run GGSCI đơn giản bằng command : ./GGSCI.
Metadata: Cấu trúc của các bảng APP_OWNER.TAB1, APP_OWNER.TAB2, APP_OWNER.TAB3 đã được tạo ở Target.
I.2. Các bước chuẩn bị
I.2.1. Chuẩn bị bộ cài đặt
I.2.1.1. Download bộ cài đặt
https://www.oracle.com/in/middleware/technologies/goldengate-downloads.html
Tiếp theo chọn phiên bản OGG(khuyến cáo sử dung phiên bản 19.1) cần download tương ứng với hệ điều hành cài đặt và loai tương ứng 32bit hay 64bit.
I.2.1.2. Copy và giải nén, cài đặt
Copy bộ cài goldengate vừa download vào thư mục cần cài đặt tại máy
chủ DB nguồn và DB đích;
Ø Tạo thư mục cài đặt OGG: /u01/ogg
Ø Các bước cài đặt OGG: truy cập vào thư mục vừa giải nén bộ cài OGG
chạy file ./runInstaller sẽ có giao diện hiển thị như sau:
Bước này chọn cài đặt OGG cho version Oracle Database tương ứng:
Với DBAVIET: chọn Oracle GodenGate for Oracle Database 11g
Bước này chọn thư mục cài đặt OGG là : /u01/ogg vừa tạo ở trên, chọn thư mục ORACLE_HOME của Oracle Database đã được trên máy chủ
Đợi tiến trình cài đặt báo thành công!
I.2.1.3. Config DB
v Tại DB nguồn:
Ø Từ Oracle vào sqlplus đăng nhập user có quyền sysdba;
§ su – oracle
§ sqlplus /nolog;
§ SQL> conn / as sysdba;
Ø Check mode của DB nguồn:
§ SQL> ARCHIVE LOG LIST;
Nếu DB nguồn ở chế độ No Archive Mode thì tiến hành chuyển DB về trạng thái archivelog mode:
§ SQL> shutdown immediate
§ SQL> startup mount
§ SQL> alter database archivelog;
§ SQL> select log_mode from v$database;
§ SQL> show parameter log_archive_start;
§ SQL> alter database open;
Ø Enable supplemental log on source db
SQL>select NAME,SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL from v$database;
NAME SUPPLEME SUP SUP SUP SUP
--------- -------- --- --- --- ---
PC01PRMY NO NO NO NO NO
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> alter database add SUPPLEMENTAL LOG DATA (primary key) columns;
SQL> alter database add SUPPLEMENTAL LOG DATA (Foreign key) columns;
SQL> alter database add SUPPLEMENTAL LOG DATA (all) columns;
SQL> alter database add SUPPLEMENTAL LOG DATA (unique index) columns;
SQL>select NAME,SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL from v$database;
NAME SUPPLEME SUP SUP SUP SUP
--------- -------- --- --- --- ---
PC01PRMY YES YES YES YES YES
SQL> select NAME,LOG_MODE,FORCE_LOGGING from v$database;
NAME LOG_MODE FOR
--------- ------------ ---
PC01PRMY ARCHIVELOG NO
SQL> ALTER DATABASE force logging;
Database altered.
SQL> select NAME,LOG_MODE,FORCE_LOGGING from v$database;
NAME LOG_MODE FOR
--------- ------------ ---
PC01PRMY ARCHIVELOG YES
I.2.1.4. Tạo các User Database và Privileges User phục vụ đồng bộ
v Tại DB nguồn:
Ø Từ Oracle vào sqlplus đăng nhập user có quyền sysdba;
§ su – oracle
§ sqlplus /nolog;
§ SQL> conn / as sysdba;
Ø Tạo tablespace ggs_data
§ SQL> create tablespace ggs_data datafile ‘đường dẫn datafile’ size 200m autoextend on maxsize 5G;
Ø Tạo user phục vụ đồng bộ: Ví dụ ggs_owner
§ SQL> Create user ggs_owner identified by ggs_owner default tablespace ggs_data temporary tablespace temp;
§ SQL> Grant connect, resource to ggs_owner;
§ SQL> Grant select any dictionary, select any table to ggs_owner;
§ SQL> Grant create table to ggs_owner;
§ SQL> Grant flashback any table to ggs_owner;
§ SQL> Grant execute on dbms_flashback to ggs_owner;
§ SQL> Grant execute on utl_file to ggs_owner;
§ SQL> Grant create any table to ggs_owner;
§ SQL> Grant insert any table to ggs_owner;
§ SQL> Grant update any table to ggs_owner;
§ SQL> Grant delete any table to ggs_owner;
§ SQL> Grant drop any table to ggs_owner;
§ SQL> Grant alter any table to ggs_owner;
§ SQL> exec dbms_streams_auth.grant_admin_privilege(' ggs_owner ');
§ SQL> grant insert on system.logmnr_restart_ckpt$ to ggs_owner;
§ SQL> grant update on sys.streams$_capture_process to ggs_owner;
§ SQL> grant become user to ggs_owner;
§ SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
§ SQL> ALTER SYSTEM SWITCH LOGFILE;
§ SQL> select name, supplemental_log_data_min from v$database;
v Tại DB đích: Làm tương tự như tại DB nguồn
Ø Từ Oracle vào sqlplus đăng nhập user có quyền sysdba;
§ su – oracle
§ sqlplus /nolog;
§ SQL> conn / as sysdba;
Ø Tạo user phục vụ đồng bộ: Ví dụ ggs_owner
§ SQL> Create user ggs_owner identified by ggs_owner;
§ SQL> Grant connect, resource to ggs_owner;
§ SQL> Grant select any dictionary, select any table to ggs_owner;
§ SQL> Grant create table to ggs_owner;
§ SQL> Grant flashback any table to ggs_owner;
§ SQL> Grant execute on dbms_flashback to ggs_owner;
§ SQL> Grant execute on utl_file to ggs_owner;
§ SQL> Grant create any table to ggs_owner;
§ SQL> Grant insert any table to ggs_owner;
§ SQL> Grant update any table to ggs_owner;
§ SQL> Grant delete any table to ggs_owner;
§ SQL> Grant drop any table to ggs_owner;
§ SQL> Grant alter any table to ggs_owner;
I.2.2. Chuẩn bị các biến môi trường
I.2.2.1. ORACLE_HOME và OGG_HOME
v Tại DB nguồn:
Ø Trước khi tiến hành cấu hình OGG cần kiểm tra các biến môi trường ORACLE_HOME và OGG_HOME(/u01/ogg)
§ echo $ORACLE_HOME
§ echo $OGG_HOME
v Tại DB đích làm tương tự.
II. Thực hiện cài đặt
II.1. Tại máy chứa DB nguồn
II.1.1. Tạo các thư mục cho OGG
Vào thư mục cài đặt OGG ở bước II.2.1.2
cd /u01/ogg
oracle$DBsource ogg>./ggsci
Cửa sổ GGSCI xuất hiện: gõ lệnh create subdirs
GGSCI (DBsource) 1> create subdirs
(Nếu version OGG từ 12c trở lên thì bỏ qua bước này vì có thể ./runInstaller trực tiếp từ thư mục OGG software)
II.1.2. Tạo service OGG
- Cấu hình, tạo và start mgr:
GGSCI (DBsource) 1> edit params mgr
Trong file mgr.prm sẽ điền nội dung:
Start mgr bằng lệnh:
GGSCI (DBsource) 1> start mgr
Hoặc
GGSCI (DBsource) 1> start manager
Nếu thông báo Manager started là OK.
Có thể xem thông tin manager bằng lệnh:
GGSCI (DBsource) 1> info mgr
Thông tin: Manager is running (IP port DBsource.7809).
Stop mgr bằng lệnh:
GGSCI (DBsource) 1> stop mgr
Hoặc
GGSCI (DBsource) 1> stop manager
II.1.3. Cấu hình golden gate để thêm supplemental log data vào bảng nguồn (Add trandata)
GGSCI (DBsource) 1> dblogin userid ggs_owner, password ggs_owner
Có hai phương án để tạo các trandata
Liệt kê danh sách các bảng:
ADD TRANDATA APP_OWNER.TAB1
ADD TRANDATA APP_OWNER.TAB2
ADD TRANDATA APP_OWNER.TAB3
GGSCI (DBsource) 1> info trandata APP_OWNER.*
II.1.4. Cấu hình Extract process
GGSCI (DBsource) 1> edit params e_dbaviet1
EXTRACT e_dbaviet1
SETENV (ORACLE_HOME =’/u01/app/oracle/product/11.2.0.4/dbhome_1’)(thay đường dẫn oracle home tương ứng)
SETENV (ORACLE_SID = ‘DBAVIET1’)
dblogin userid ggs_owner, password ggs_owner
DISCARDFILE /u01/ogg/dirrpt/e_dbaviet1.txt, PURGE, MEGABYTES 50
EXTTRAIL /u01/ogg/dirdat/ea
DBOPTIONS ALLOWUNUSEDCOLUMN
(Với DB chạy RAC/ASM)
TRANLOGOPTIONS ASMUSER sys@ASM ASMPASSWORD asmPassword
TABLE APP_OWNER.TAB1;
TABLE APP_OWNER.TAB2;
TABLE APP_OWNER.TAB3;
GGSCI (DBsource) 1>add extract e_dbaviet1, tranlog, begin now
Nếu chạy RAC/ASM
GGSCI (DBsource) 1>add extract e_dbaviet1, tranlog, threads 2
, begin now
GGSCI (DBsource) 1> add extract /u01/ogg/dirdat/ea, EXTRACT e_dbaviet1, MEGABYTES 50
Đăng nhập SQLPLUS
sqlplus /nolog
conn / as sysdba;
REGISTER EXTRACT e_dbaviet1 DATABASE
II.1.5. Cấu hình Datapump processs
GGSCI (DBsource) 1> edit params p_dbaviet1
EXTRACT p_dbaviet1
SETENV (ORACLE_HOME= ‘/u01/app/oracle/product/11.2.0/dbhome_1’)(thay đường dẫn oracle home tương ứng)
SETENV (ORACLE_SID =’DBAVIET1’)
USERID ggs_owner, PASSWORD ggs_owner
RMTHOST IP_TARGET, MGRPORT 7809 (Port Target)
RMTTRAIL /u01/ogg/dirdat/pa (Chỉ ra remote trail trên máy DB đích)
TABLE APP_OWNER.TAB1;
TABLE APP_OWNER.TAB2;
TABLE APP_OWNER.TAB3;
GGSCI (DBsource) 1> add extract p_dbaviet1 EXTTRAILSOURCE /u01 /ogg/dirdat/ea
GGSCI (DBsource) 1>add rmttrail /u01/ogg/dirdat/pa, EXTRACT p_dbaviet1, MEGABYTES 50
II.1.6. Initload data sử dụng datapump
- Sqlplus / as sysdba
- Select current_scn from v$database
SQL> select to_char(current_scn) from v$database;
TO_CHAR(CURRENT_SCN)
----------------------------------------
1149842
- Export only data level table flashback_scn ( là current_scn ở trên)
--Export data on db Source
SQL> alter system set undo_retention = 36000 scope=both sid='*'; -- de giu lai nhung ban ghi du lau dung cho OGG trong thoi gian export SCN, giu undo cho viec EXPORT
[oracle@oraserver u01]$ mkdir -p /u01/ggs_dump
SQL> CREATE OR REPLACE DIRECTORY ggs_dump AS '/u01/ggs_dump';
expdp userid="'/ as sysdba'" tables= APP_OWNER.TAB1, APP_OWNER.TAB2,APP_OWNER.TAB3 CONTENT=DATA_ONLY DIRECTORY=ggs_dump DUMPFILE=APP_OWNER.dmp logfile=data.log JOB_NAME=expdp_APP_OWNER_data compression=DATA_ONLY cluster=n FLASHBACK_SCN=1149842
II.1.7. Enable replicat cho OGG
Sử dụng sqlplus:
sqlplus /nolog
conn / as sysdba;
alter system set enable_goldengate_replication=true;
II.2. Tại Tại máy chứa DB đích
II.2.1. Tạo các thư mục cho OGG
Vào thư mục vừa cài đặt OGG bước II.2.1.2
cd /u01/ogg
oracle$DBtarget ogg>./ggsci
Cửa sổ GGSCI xuất hiện: gõ lệnh create subdirs
GGSCI (DBtarget) 1> create subdirs
II.2.2. Tạo service OGG
GGSCI (DBtarget) 1> edit params mgr
Trong file mgr.prm sẽ điền nội dung:
Start mgr bằng lệnh:
GGSCI (DBtarget) 1> start mgr
Hoặc
GGSCI (DBtarget) 1> start manager
Nếu thông báo Manager started là OK.
Có thể xem thông tin manager bằng lệnh:
GGSCI (DBtarget) 1> info mgr
Thông tin: Manager is running (IP port DBtarget.7809).
Stop mgr bằng lệnh:
GGSCI (DBtarget) 1> stop mgr
Hoặc
GGSCI (DBtarget) 1> stop manager
II.2.3. Tạo checkpoint table khi cấu hình online change synchronization:
Add checkpoint:
GGSCI (DBtarget) 1> dblogin userid ggs_owner, password ggs_owner
ADD CHECKPOINTTABLE ggs_owner.chktbl
Kiểm tra check point table vừa tạo: Đăng nhập sqlplus
sqlplus ggs_owner/ggs_owner
SQL> desc chkptbl
II.2.4. Cấu hình Replicat process
GGSCI (DBtarget) 1> EDIT PARAMS r_dbaviet1
REPLICAT r_dbaviet1
SETENV (ORACLE_HOME =’/u01/app/oracle/product/11.2.0.4/dbhome_1’)(thay đường dẫn oracle home tương ứng)
SETENV (ORACLE_SID = ‘DBAVIET1’)
ASSUMETARGETDEFS
DISCARDFILE /u01/ogg/dirrpt/r_dbaviet1.txt, APPEND
DBOPTIONS SUPPRESSTRIGGERS
USERID ggs_owner, PASSWORD ggs_owner
REPERROR (0001, DISCARD)
REPERROR (1403, DISCARD)
MAP APP_OWNER.*, TARGET APP_OWNER.*;
GGSCI (DBtarget) 1> ADD REPLICAT r_dbaviet1, EXTTRAIL /u01/ogg/dirdat/pa, checkpointtable ggs_owner.chktbl
II.2.5. Enable replicat cho OGG
Sử dụng sqlplus:
sqlplus /nolog
conn / as sysdba;
alter system set enable_goldengate_replication=true;
II.2.6. Import dữ liệu từ dump file đã export tại DB source
- Thực hiện Import :
Copy file dump đã export ở bước II.1.6 vào thư mục dump tương ứng
[oracle@oraserver u01]$ mkdir -p /u01/ggs_dump
SQL> CREATE OR REPLACE DIRECTORY ggs_dump AS '/u01/ggs_dump';
impdp userid="'/ as sysdba'" directory=ggs_dump dumpfile= APP_OWNER.dmp logfile=log_impdp_APP_OWNER.log
- Nếu thành công thì start replicat như sau:
II.2.7. Start replicat r_dbaviet1
- Start replicat r_dbaviet1 after_scn (với after_scn=current_scn ở trên)
Ggsci> start replicat r_dbaviet1, aftercsn 1149842
III. Vận hành hệ thống
III.1. Start and Stop Extract, Replicat Command
GGSCI (DBsource) 1> start manager
GGSCI (DBsource) 1>start e_dbaviet1
GGSCI (DBsource) 1>start p_dbaviet1
GGSCI (DBsource) 1> stop manager
GGSCI (DBsource) 1>start r_dbaviet1
III.2. Xem toàn bộ, từng thành phần của hệ thống
GGSCI (DBsource) 1> info all (Xem tất cả các tiến trình)
GGSCI (DBsource) 1> info e_dbaviet1
GGSCI (DBsource) 1> info p_dbaviet1
GGSCI (DBsource) 1> info r_dbaviet1
III.3. Xem report của Manager, Extract, Replicat
GGSCI (DBsource) 1> view report mgr (report manager)
GGSCI (DBsource) 1> view report e_dbaviet1
GGSCI (DBsource) 1> view report p_dbaviet1
GGSCI (DBsource) 1> view report r_dbaviet1
III.4. Xem mapping của Manager, Extract, Replicat
GGSCI (DBsource) 1> edit params mgr (parameter file manager)
GGSCI (DBsource) 1> edit params e_dbaviet1
GGSCI (DBsource) 1> edit params r_dbaviet1
Hy vọng hữu ích cho các bạn.
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội
=============================
học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,khóa học pl/sql, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, middleware, hoc solaris, hoc linux, hoc aix, unix, securecrt, xshell, mobaxterm, putty