ORACLE – GOLDEN GATE từng bước

Nguồn tham khảo:

video:

Tài liệu:

https://www.pythian.com/blog/oracle-goldengate-installation-part-1/

http://khurramlogix.blogspot.com/2013/06/steps-by-step-install-oracle-goldengate.html

http://santoshgorte.blogspot.com/2012/11/golden-gate-step-by-steps-configuration.html

Cấu hình oracle golden gate từng bước

Golden Gate là công cụ tái tạo cái mà cho phép tái tạo các câu lệnh DDL và DML

Chúng ta có tài liệu chỉ rõ từng bước từng bước cài đặt oracle golden gate

Hy vọng sẽ giúp được bạn cài đặt được oracle golden gate

Source Server name          –        192.168.3.***

Database name                  –       db001 (11.2.0.3.0)

Golden Gate Version        –         11.2.1.0.1

Destination Server name –        192.168.3.***

Database name                  –       db002 (11.2.0.3.0)

Golden Gate Version        –         11.2.1.0.1

Trước khi bắt đầu thì 2 database phải được tinh chỉnh như sau:

  • các database phải chạy ở chế độ archive log mode.
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
SQL> select name,log_mode from v$database;
SQL> ALTER DATABASE FORCE LOGGING;
  • Các bảng tái tạo đều phải có khóa chính KEY.
  • Chế độ Recycle bin phải tắt turned off.
SQL> alter system set recyclebin=off scope=spfile;
  • Supplemental log phải được kích hoạt
SQL> alter database add supplemental log data;

Với oracle 12c:

SQL > alter system set enable_goldengate_replication = true scope=both;

Ngoài ra tải các phiên bản cũ hơn của Golden Gate tại:

http://www.sscs.co.th/index.php?option=com_content&view=article&id=377&Itemid=1001

Lưu ý nhờ mở firewall port 7809 tuy nhiên không được nên để full cho riêng IP

Chúng ta bắt đầu:

1) Tạo Schema GGOWNER

SQL> create user ggowner identified by ggowner default tablespace users temporary tablespace temp;

Cho phép các quyền

SQL> grant connect,resource,unlimited tablespace to ggowner;
SQL> grant execute on utl_file to ggowner;
Tương tự tạo schema ggtest để kiểm tra tái tạo
2) Chạy các mã tập tin mã lệnh để tạo tái tạo ddl:
Lưu ý các tập tin này chạy trong thư mục của oracle golden gate
SQL> @$GGATE/marker_setup.sql
SQL> @$GGATE/ddl_setup.sql
SQL> @$GGATE/role_setup.sql
SQL> grant GGS_GGSUSER_ROLE to ggowner;
SQL> @$GGATE/ddl_enable.sql

 

Lưu ý nên chạy tương tự ở cả 2 database.

Ngoài ra để database hỗ trợ sequence tái tạo, ta cần chạy thêm các lệnh sau, lưu ý vẫn ở cả 2 database

SQL>@sequence.sql

SQL> grant execute on ggowner.updateSequence to ggowner;

Tham khảo: http://orax.blog.sohu.com/248906759.html

3) Chạy golden gate:

ggsci -> thực thi

Đăng nhập, và thử một lệnh flush sequence

GGSCI (db001) 1> dblogin userid ggowner password ggowner

GGSCI (db001) 1> FLUSH SEQUENCE ggtest.sq*

 

4) Tạo các thư mục mặc định để chạy….

GGSCI (db001) 1> create subdirs

 

Parameter files                /u002/app/gg/dirprm: already exists

Report files                   /u002/app/gg/dirrpt: created

Checkpoint files               /u002/app/gg/dirchk: created

Process status files           /u002/app/gg/dirpcs: created

SQL script files               /u002/app/gg/dirsql: created

Database definitions files     /u002/app/gg/dirdef: created

Extract data files             /u002/app/gg/dirdat: created

Temporary files                /u002/app/gg/dirtmp: created

Stdout files                   /u002/app/gg/dirout: created

5 ) Kiểm tra trạng thái 

GGSCI (db001) 3> info all

6) Chỉnh globals và manager:

GGSCI (db001) 4> edit params .\GLOBALS

GGSCHEMA ggowner

Lưu tập tin.

GGSCI (db001) 5> edit param mgr

port 7809

Lưu tập tin.

7) chạy Mgr

GGSCI (db001) 6> start MANAGER

Manager started.

GGSCI (db001) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

======================

8) Cài đặt extract và pump trên máy SOURCE

GGSCI (db001) 8> ADD EXTRACT ext1, TRANLOG, BEGIN NOW

EXTRACT added.

Lưu ý trong window và linux đều nên thực thi tại thư mục của golden gate

với window .\  là ở thư mục gốc, với linux thì là ./

GGSCI (db001) 9> ADD EXTTRAIL .\dirdat\se, EXTRACT EXT1

EXTTRAIL added.

GGSCI (db001) 10> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     EXT1    00:00:00      00:02:40

GGSCI (db001) 11> edit param EXT1

extract EXT1

SETENV (ORACLE_SID="db001")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

userid ggowner, password ggowner

exttrail .\dirdat\se

discardfile .\dirrpt/ext1.dsc, append

ddl include all

TABLE GGTEST.*;

Lưu tập tin

GGSCI (db001) 12> ADD EXTRACT EPUMP, EXTTRAILSOURCE .\dirdat\se, begin now

EXTRACT added.

GGSCI (db001) 13> ADD RMTTRAIL .\dirdat\es, EXTRACT EPUMP

RMTTRAIL added.

GGSCI (gg1) 14> edit param EPUMP

EXTRACT EPUMP

SETENV (ORACLE_SID="db001")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)
userid ggowner, password ggowner

RMTHOST 192.168.3.***, MGRPORT 7809

RMTTRAIL .\dirdat\es

PASSTHRU

TABLE ggtest.*;

Lưu tập tin

GGSCI (db001) 15> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     STOPPED     EPUMP    00:00:00      00:00:15

EXTRACT     STOPPED     EXT1    00:00:00      00:24:56

GGSCI (db001) 17> start EXT1

Sending START request to MANAGER …

REPLICAT EXT1 starting

GGSCI (db001) 18> start EPUMP

Sending START request to MANAGER …

REPLICAT EPUMP starting

GGSCI (db001) 5> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

EXTRACT     RUNNING     EPUMP    00:00:00      00:00:08

EXTRACT     RUNNING     EXT1    00:00:00      00:00:06

9) cài đặt trên máy đích server ( 192.168.3.***)

Cũng cần cài đặt  golden gate như source

Cũng cần tạo các dir default

GGSCI (db002) 1> create subdirs

Creating subdirectories under current directory …

Parameter files                /u002/app/gg/dirprm: already exists

Report files                   /u002/app/gg/dirrpt: created

Checkpoint files               /u002/app/gg/dirchk: created

Process status files           /u002/app/gg/dirpcs: created

SQL script files               /u002/app/gg/dirsql: created

Database definitions files     /u002/app/gg/dirdef: created

Extract data files             /u002/app/gg/dirdat: created

Temporary files                /u002/app/gg/dirtmp: created

Stdout files                   /u002/app/gg/dirout: created

GGSCI (db002) 2> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     STOPPED

10) Cài đặt GLOBALS và MANAGER

GGSCI (db002) 3> edit params .\GLOBALS

GGSCHEMA ggowner

CHECKPOINTTABLE ggowner .CHECK_POINT_TABLE

lưu tập tin

GGSCI (db002) 4> edit param mgr

port 7809

Lưu tập tin.

GGSCI (db002) 5> start MANAGER

Manager started.

GGSCI (db002) 6> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

11) Thêm checkpoint.

GGSCI (db002) 8> dblogin USERID ggowner password ggowner

Successfully logged into database.

GGSCI (db002) 10> add checkpointtable CHECK_POINT_TABLE

Successfully created checkpoint table CHECK_POINT_TABLE.

12) Tạo tiến trình tái tạo replicate

GGSCI (db002)15> ADD REPLICAT REP1, EXTTRAIL .\dirdat\es, CHECKPOINTTABLE ggowner .CHECK_POINT_TABLE

REPLICAT added.

GGSCI (db002)16> alter REPLICAT REP1, begin now

REPLICAT altered.

GGSCI (db002)17> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    STOPPED     REP1    00:00:00      00:00:05

GGSCI (db002)18> edit param REP1

REPLICAT REP1

SETENV (ORACLE_SID="db002")
SETENV (NLS_LANG=AMERICAN_AMERICA.AL32UTF8)

USERID ggowner, PASSWORD ggowner

ASSUMETARGETDEFS

DISCARDFILE .\dirrpt\REP1.dsc, APPEND

DDLOPTIONS REPORT

HANDLECOLLISIONS

APPLYNOOPUPDATES

DDL

MAP ggtest.*, TARGET ggtest.*;

lưu tập tin

GGSCI (db002)19> start REP1

Sending START request to MANAGER …

REPLICAT REP1 starting

GGSCI (db002) 20> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING

REPLICAT    RUNNING     REP1        00:00:00      00:00:09

13) KIỂM TRA KẾT QUẢ – DDL Testing.

12:04:59 SQL> select INSTANCE_NAME,HOST_NAME from v$instance;

INSTANCE_NAME    HOST_NAME

—————- —————————————————————-

PROD             gg1

12:05:00 SQL> select * from tab;

no rows selected

12:05:10 SQL> create table t (  a number primary key,  b varchar2(10))

12:05:25   2  ;

Table created.

12:05:26 SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

—————————— ——- ———-

T                              TABLE

12:05:29 SQL>

16:05:25 SQL> select INSTANCE_NAME,HOST_NAME from v$instance;

INSTANCE_NAME    HOST_NAME

—————- —————————————————————-

TPROD            gg2

16:05:28 SQL> select * from tab;

no rows selected

16:06:05 SQL> select * from tab;

no rows selected

16:06:17 SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID

—————————— ——- ———-

T                              TABLE

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s