Thứ Năm, 8 tháng 9, 2022

[VVIP] THỦ TỤC CÀI ĐẶT ORACLE GOLDEN GATE 19c

NỘI DUNG: Chia sẻ thủ tục cài đặt GoldenGate 19c

I.   Giới thiệu  4
I.1.     Oracle Golden Gate supported topologies 4
I.2.     Architecture/Concepts 5
I.3.     Tổng quan hệ thống Golden Gate 6
II. Các bước cấu hình chuẩn bị 6
II.1.   Các yêu cầu. 6
II.2.   Các bước chuẩn bị 7
II.2.1.    Chuẩn bị bộ cài đặt 7
II.2.1.1.       Download bộ cài đặt 7
II.2.1.2.       Copy và giải nén 8
II.2.1.3.       Config DB  8
II.2.1.4.       Tạo các User Database và Privileges User phục vụ đồng bộ 11
II.2.2.    Chuẩn bị các biến môi trường 15
II.2.2.1.       ORACLE_HOME và ORACLE_ID. 15
III. Thực hiện cài đặt. 16
III.1. Tại máy chứa DB nguồn. 16
III.1.1.   Tạo các thư mục cho OGG. 16
III.1.2.   Tạo service OGG. 17
III.1.3.   Initload data sử dụng datapump 17
III.1.4.   Enable replicat cho OGG. 17
III.2. Tại Tại máy chứa DB đích. 17
III.2.1.   Tạo các thư mục cho OGG. 17
III.2.2.   Tạo service OGG. 17
III.2.3.   Enable replicat cho OGG. 18
III.2.4.   Import dữ liệu từ dump file đã export tại DB source 18
IV. Vận hành hệ thống. 18
IV.1.  Start and Stop Extract, Replicat Command. 18
IV.2.  Xem toàn bộ, từng thành phần của hệ thống 18
IV.3.  Xem report của Manager, Extract, Replicat 18
IV.4.  Xem mapping của Manager, Extract, Replicat 19
IV.5.  Clean Up OGG Integrated Extract 19
V.  Một số cần lưu ý. 19

 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

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master