溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle ogg 單機環境單向復制搭建

發布時間:2020-06-17 00:25:28 來源:網絡 閱讀:2878 作者:18620626259 欄目:關系型數據庫

OGG安裝

fbo_ggs_Linux_x64_shiphome.zip---------------------同時支持11g12c

 

添加用戶

useradd -u 1003 -g oinstall -G dba ogg

配置環境變量

export ORACLE_BASE=/u01/app/oracle;

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;

export ORACLE_SID=racdb1; 

export OGG_HOME=$ORACLE_BASE/ogg

export PATH=$ORACLE_HOME/bin:$PATH:/home/oracle/bin:$OGG_HOME/;

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/u01/app/oracle/ogg/:/lib:/usr/lib;

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

安裝時注意目錄

2、找不到ggMessage

Cannot load ICU resource bundle'ggMessage', error code 2 - No such file or directory

Aborted (core dumped)

解決方法:oracle goldengateHOME目錄下執行

GGSCI (oggtarget) 2> help

GGSCI Command Summary:

Object:          Command:

SUBDIRS          CREATE

DATASTORE        ALTER, CREATE, DELETE, INFO, REPAIR

ER               INFO, KILL, LAG, SEND, STATUS,START, STATS, STOP

EXTRACT          ADD, ALTER, CLEANUP, DELETE, INFO,KILL,

                 LAG, REGISTER, SEND, START,STATS, STATUS, STOP

                 UNREGISTER

EXTTRAIL         ADD, ALTER, DELETE, INFO

GGSEVT           VIEW

JAGENT           INFO, START, STATUS, STOP

MANAGER          INFO, SEND, START, STOP, STATUS

MARKER           INFO

PARAMETERS       EDIT, VIEW, SET EDITOR, INFO,GETPARAMINFO

REPLICAT         ADD, ALTER, CLEANUP, DELETE, INFO,KILL, LAG, REGISTER, SEND,

                 START, STATS, STATUS, STOP,SYNCHRONIZE, UNREGISTER

REPORT           VIEW

RMTTRAIL         ADD, ALTER, DELETE, INFO

TRACETABLE       ADD, DELETE, INFO

TRANDATA         ADD, DELETE, INFO

SCHEMATRANDATA   ADD, DELETE, INFO

CHECKPOINTTABLE  ADD, DELETE, CLEANUP, INFO, UPGRADE

WALLET           CREATE, OPEN, PURGE

MASTERKEY        ADD, INFO, RENEW, DELETE, UNDELETE

CREDENTIALSTORE  ADD, ALTER, INFO, DELETE

HEARTBEATTABLE   ADD, DELETE, ALTER, INFO

HEARTBEATENTRY   DELETE

Commands without an object:

(Database)       DBLOGIN, LIST TABLES, ENCRYPT PASSWORD,FLUSH SEQUENCE

                 MININGDBLOGIN, SET NAMECCSID

(DDL)            DUMPDDL

(Miscellaneous)   ! ,ALLOWNESTED | NOALLOWNESTED, CREATESUBDIRS,

                 DEFAULTJOURNAL, FC, HELP,HISTORY, INFO ALL, OBEY, SHELL,

                 SHOW, VERSIONS, VIEW GGSEVT,VIEW REPORT 

                 (note: type the word COMMANDafter the ! to display the 

                 ! help topic, for example:GGSCI (sys1)> help ! command

OGG配置

實驗規劃

項目



操作系統



主機名



數據庫版本



數據庫字符集



Oracle版本



Ogg版本



Oracle sid

dbdream

stream

 

主庫進行全備

$ rman target /

run {

allocate channel d0 type disk;

allocate channel d1 type disk;

backup format'/u01/backup/full_t%t_s%s_p%p' database;

sql 'alter system archive log current';

backup format '/u01/backup/arc_t%t_s%s_p%p'archivelog all;

release channel d0;

release channel d1;

}

 

2.3.1         主庫備份

主庫進行全備

$ rman target /

run {

allocate channel d0 type disk;

allocate channel d1 type disk;

backup format'/u01/backup/full_t%t_s%s_p%p' database;

sql 'alter system archive log current';

backup format '/u01/backup/arc_t%t_s%s_p%p'archivelog all;

release channel d0;

release channel d1;

}

 

創建備用控制文件

RMAN> backup current controlfile forstandby format '/u01/backup/control01.ctl';

 

 

scp * 192.168.120.203:/u01/backup

 

 

 

 

恢復

 

[oracle@oggtarget ~]$ export  ORACLE_SID=stream

[oracle@oggtarget ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 -Production on Sun Aug 27 09:54:43 2017

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

connected to target database (not started)

RMAN> set  dbid=2496948349

 

RMAN> startup nomount

startup failed: ORA-01078: failure inprocessing system parameters

LRM-00109: could not open parameter file'/u01/app/oracle/product/11.2.0/db_1/dbs/initstream.ora'

starting Oracle instance without parameterfile for retrieval of spfile

Oracle instance started

Total System Global Area    1068937216 bytes

Fixed Size                     2260088 bytes

Variable Size                281019272 bytes

Database Buffers             780140544 bytes

Redo Buffers                   5517312 bytes

注意:在rman下即使沒有參數文件,默認也會啟動一個DUMMY實例,以便能夠恢復參數文件。

 

1、恢復spfile

RMAN> restore spfile from'/u01/backup/full_t953113531_s4_p1';

RMAN> sql  "create pfile from spfile"

修改pfile參數

dbdream.__java_pool_size=4194304

dbdream.__large_pool_size=8388608

dbdream.__oracle_base='/u01/app/oracle'#ORACLE_BASEset from environment

dbdream.__pga_aggregate_target=314572800

dbdream.__sga_target=465567744

dbdream.__shared_io_pool_size=0

dbdream.__shared_pool_size=117440512

dbdream.__streams_pool_size=0

*.audit_file_dest='/u01/app/oracle/admin/stream/adump'-----------------------修改創建目錄

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/u01/app/oracle/oradata/stream/control01.ctl','/u01/app/oracle/fast_recovery_area/stream/control02.ctl'----修改

*.db_block_size=8192

*.db_domain=''

*.db_name='stream'-----修改

*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=4385144832

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP)(SERVICE=streamXDB)'

*.log_archive_format='%t_%s_%r.dbf'

*.memory_target=780140544

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

~

RMAN> shutdown abort

用新修改的文件啟動 nomount

RMAN> startup nomount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/initstream.ora'

創建pfile

RMAN> sql  "create spfile from  pfile";

 

spfile啟動

RMAN> startup  nomount;

RMAN> startup force nomount;

 

2、恢復控制文件

RMAN> restore controlfile  from '/u01/backup/full_t953113527_s3_p1';

Starting restore at 27-AUG-17

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=19 device type=DISK

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete,elapsed time: 00:00:01

output filename=/u01/app/oracle/oradata/stream/control01.ctl

output filename=/u01/app/oracle/fast_recovery_area/stream/control02.ctl

Finished restore at 27-AUG-17

 

3、啟動數據庫到加載狀態

RMAN> alter database mount;

RMAN> catalog start with '/backup/';

RMAN> restore database;

RMAN> recover database;

RMAN>alter database open resetlogs 打開數據庫

 

 

nid target=/as sysdba dbname=stream

[oracle@oggtarget dbs]$ nid target=/assysdba dbname=stream

 

DBNEWID: Release 11.2.0.4.0 - Production onSun Aug 27 12:31:08 2017

 

Copyright (c) 1982, 2011, Oracle and/or itsaffiliates.  All rights reserved.

 

Password:

Connected to database DBDREAM (DBID=2496948349)

 

Connected to server version 11.2.0

 

Control Files in database:

   /u01/app/oracle/oradata/stream/control01.ctl

   /u01/app/oracle/fast_recovery_area/stream/control02.ctl

 

Change database ID and database nameDBDREAM to STREAM? (Y/[N]) => y

 

Proceeding with operation

Changing database ID from 2496948349 to1719130576

Changing database name from DBDREAM toSTREAM

   Control File /u01/app/oracle/oradata/stream/control01.ctl - modified

   Control File /u01/app/oracle/fast_recovery_area/stream/control02.ctl -modified

   Datafile /u01/app/oracle/oradata/dbdream/system01.db - dbid changed,wrote new name

   Datafile /u01/app/oracle/oradata/dbdream/sysaux01.db - dbid changed,wrote new name

   Datafile /u01/app/oracle/oradata/dbdream/undotbs01.db - dbid changed,wrote new name

   Datafile /u01/app/oracle/oradata/dbdream/users01.db - dbid changed,wrote new name

   Datafile /u01/app/oracle/oradata/dbdream/temp01.db - dbid changed, wrotenew name

   Control File /u01/app/oracle/oradata/stream/control01.ctl - dbidchanged, wrote new name

   Control File /u01/app/oracle/fast_recovery_area/stream/control02.ctl -dbid changed, wrote new name

   Instance shut down

 

Database name changed to STREAM.

Modify parameter file and generate a newpassword file before restarting.

Database ID for database STREAM changed to1719130576.

All previous backups and archived redo logsfor this database are unusable.

Database is not aware of previous backupsand archived logs in Recovery Area.

Database has been shutdown, open databasewith RESETLOGS option.

Succesfully changed database name and ID.

DBNEWID - Completed succesfully.

如果沒有修改參數文件中的DB_NAME參數,那么在MOUNT的時候,會報ORA-01103錯誤。

修改DB_NAME參數,嘗試直接打開數據庫。

提示必須使用RESETLOGS的方式才能打開數據庫。

默認情況下,db_unique_name service_names都會伴隨著DB NAME一起改變,此時由于service_names發生了變化,正常情況下應用是無法連接數據庫的(SID連接方式除外)。

Oracle goldengate搭建ogg

主庫                                                

設置環境變量(oracle用戶)                 

PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/ggs   

export LD_LIBRARY_PATH=/ggs:$ORACLE_HOME/lib 

1.檢查是否開啟歸檔 

SQL> select log_mode fromgv$database; 

SQL> archive log list;    ----注意歸檔路徑需要是共享路徑    

2.檢查是否開啟force logging及補充日志 

selectforce_logging,supplemental_log_data_min,supplemental_log_data_all,flashback_onfrom v$database; 

開啟: 

alter database force logging; 

alter database add supplemental logdata; 

alter system archive log current; 

3.對主庫檢查,ogg不允許:唯一索引的索引列的列定義允許為null 

select dic.table_owner, 

      dic.table_name, 

      dic.index_name, 

      di.uniqueness, 

      dic.column_name 

 from dba_ind_columns dic, dba_indexes di, dba_tab_columns dtc 

 where dic.table_owner = '自行添加用戶' -----修改用戶名 

  and dtc.OWNER = '自行添加用戶' -----修改用戶名 

  AND dic.table_owner = di.table_owner 

  and dic.TABLE_NAME = di.table_name 

  and dic.index_name = di.index_name 

  and di.uniqueness = 'UNIQUE' 

  and dtc.owner = di.table_owner 

  and dtc.TABLE_NAME = di.table_name 

  and dic.column_name = dtc.COLUMN_NAME 

  and dtc.nullable = ' Y ' 

   anddic.TABLE_NAME = dtc.TABLE_NAME; 

不應該返回行,如果返回了,修改:要么變為非唯一索引,要么在保留唯一索引的情況下,將列的定義置為 not null。 

4.創建ogg用戶,并授權 

create user ogg  identified by ogg default tablespaceusers; 

grant dba to ogg; 

ALTER SYSTEM SETENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH; 

5.檢查是否有nologing方式的表(ogg不支持nologing方式創建的表) 

select owner,table_name,logging fromdba_tables where logging='NO' AND owner='用戶名'; 

修改為logging的表的語法:alter table 表名 logging; 

注意:在ext進程的參數文件里添加 dboptions allownologging可以讓ext進程繼續運行,但是會導致數據丟失。 

 

6.源端數據庫添加表的補充日志 

進入ogg安裝路徑: 

ggsci 

dblogin userid ogg password ogg

 

GGSCI (oggsource) 1> dblogin   userid ogg password ogg

Successfully logged into database.

 

GGSCI (oggsource as ogg@dbdream) 2>create subdirs 

Creating subdirectories under current directory/u01/app/oracle/ogg

Parameter files                /u01/app/oracle/ogg/dirprm:already exists

Report files                   /u01/app/oracle/ogg/dirrpt:already exists

Checkpoint files               /u01/app/oracle/ogg/dirchk:already exists

Process status files           /u01/app/oracle/ogg/dirpcs: alreadyexists

SQL script files               /u01/app/oracle/ogg/dirsql:already exists

Database definitions files     /u01/app/oracle/ogg/dirdef: already exists

Extract data files             /u01/app/oracle/ogg/dirdat:already exists

Temporary files                /u01/app/oracle/ogg/dirtmp:already exists

Credential store files         /u01/app/oracle/ogg/dircrd: alreadyexists

Masterkey wallet files         /u01/app/oracle/ogg/dirwlt: alreadyexists

Dump files                    /u01/app/oracle/ogg/dirdmp: already exists

 

GGSCI (oggsource as ogg@dbdream) 2>addtrandata lm.testogg

 -------------------為表添加附加日志,以便goldengate進行redo的抽取以及應用。

7.配置DDL復制 

使用ogg作為存儲DDL objects的用戶ogg授權: 

SQL> GRANT EXECUTE ON UTL_FILE TO ogg;  

8.配置GLOBALS文件 

ggsci 

edit param  ./GLOBALS中加入: 

GGSCHEMA    goldengate 

如果是10g需要停用 recyclebin,11g就不需要了

9.數據庫執行: 

退出所有的oracle連接后執行: 

cd /ggs 

sqlplus / as sysdba 

@marker_setup.sql

SQL> @marker_setup.sql

 

Marker setup script

 

You will be prompted for the name of aschema for the Oracle GoldenGate database objects.

NOTE: The schema must be created prior torunning this script.

NOTE: Stop all DDL replication beforestarting this installation.

Enter Oracle GoldenGate schema name:

Setting schema name to OGG

MARKER TABLE

-------------------------------

OK

MARKER SEQUENCE

-------------------------------

OK

Script complete.

 

SQL>@ddl_setup.sql 

Oracle GoldenGate DDL Replication setupscript

Verifying that current user has privilegesto install DDL Replication...

You will be prompted for the name of aschema for the Oracle GoldenGate database objects.

NOTE: For an Oracle 10g source, the systemrecycle bin must be disabled. For Oracle 11g and later, it can be enabled.

NOTE: The schema must be created prior torunning this script.

NOTE: Stop all DDL replication beforestarting this installation.

 

Enter Oracle GoldenGate schema name:ogg

 

Working, please wait ...

Spooling to file ddl_setup_spool.txt

 

Checking for sessions that are holdinglocks on Oracle Golden Gate metadata tables ...

 

Check complete.

 

Using OGG as a Oracle GoldenGate schemaname.

 

Working, please wait ...

 

DDL replication setup script complete,running verification script...

Please enter the name of a schema for theGoldenGate database objects:

Setting schema name to OGG

 

CLEAR_TRACE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

CREATE_TRACE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

TRACE_PUT_LINE STATUS:

 

Line/pos             Error

-------------------- -----------------------------------------------------------------

No errors            No errors

 

INITIAL_SETUP STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

DDLVERSIONSPECIFIC PACKAGE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

DDLREPLICATION PACKAGE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

DDLREPLICATION PACKAGE BODY STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

DDL IGNORE TABLE

-----------------------------------

OK

 

DDL IGNORE LOG TABLE

-----------------------------------

OK

 

DDLAUX PACKAGE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

DDLAUX PACKAGE BODY STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

SYS.DDLCTXINFO  PACKAGE STATUS:

 

Line/pos             Error

-------------------------------------------------------------------------------------

No errors            No errors

 

SYS.DDLCTXINFO  PACKAGE BODY STATUS:

 

Line/pos             Error

-------------------- -----------------------------------------------------------------

No errors            No errors

 

DDL HISTORY TABLE

-----------------------------------

OK

 

DDL HISTORY TABLE(1)

-----------------------------------

OK

 

DDL DUMP TABLES

-----------------------------------

OK

 

DDL DUMP COLUMNS

-----------------------------------

OK

 

DDL DUMP LOG GROUPS

-----------------------------------

OK

 

DDL DUMP PARTITIONS

-----------------------------------

OK

 

DDL DUMP PRIMARY KEYS

-----------------------------------

OK

 

DDL SEQUENCE

-----------------------------------

OK

 

GGS_TEMP_COLS

-----------------------------------

OK

 

GGS_TEMP_UK

-----------------------------------

OK

 

DDL TRIGGER CODE STATUS:

 

Line/pos             Error

-------------------- -----------------------------------------------------------------

No errors            No errors

 

DDL TRIGGER INSTALL STATUS

-----------------------------------

OK

 

DDL TRIGGER RUNNING STATUS

----------------------------------------------------------------------

ENABLED

 

STAYMETADATA IN TRIGGER

----------------------------------------------------------------------

OFF

 

DDL TRIGGER SQL TRACING

----------------------------------------------------------------------

0

 

DDL TRIGGER TRACE LEVEL

----------------------------------------------------------------------

NONE

 

LOCATION OF DDL TRACE FILE

------------------------------------------------------------------------------------------------------------------------

/u01/app/oracle/diag/rdbms/dbdream/dbdream/trace/ggs_ddl_trace.log

 

Analyzing installation status...

 

 

VERSION OF DDL REPLICATION

------------------------------------------------------------------------------------------------------------------------

OGGCORE_12.2.0.1.0_PLATFORMS_151211.1401

 

STATUS OF DDL REPLICATION

------------------------------------------------------------------------------------------------------------------------

SUCCESSFUL installation of DDL Replicationsoftware components

 

Script complete.

SQL>

SQL> @role_setup.sql

 

GGS Role setup script

 

This script will drop and recreate the roleGGS_GGSUSER_ROLE

To use a different role name, quit thisscript and then edit the params.sql script to change the gg_role parameter tothe preferred name. (Do not run the script.)

 

You will be prompted for the name of aschema for the GoldenGate database objects.

NOTE: The schema must be created prior torunning this script.

NOTE: Stop all DDL replication beforestarting this installation.

 

Enter GoldenGate schema name:ogg

SP2-0606: Cannot create SPOOL file"role_setup_spool.txt"

SP2-0606: Cannot create STORE file"role_setup_set.txt"

 

PL/SQL procedure successfully completed.

 

 

Role setup script complete

 

Grant this role to each user assigned tothe Extract, GGSCI, and Manager processes, by using the following SQL command:

 

GRANT GGS_GGSUSER_ROLE TO<loggedUser>

 

where <loggedUser> is the userassigned to the GoldenGate processes.

 

SQL> grantggs_ggsuser_role to ogg; 

 

SQL> @ddl_enable.sql

 

如果是有災備演練的需求,需要配置sequence同步 

cd /ggs  --ogg安裝目錄 

sqlplus / as sysdba 

@sequence.sql 

GRANT EXECUTE on goldengate.updateSequenceTO goldengate; 

 

10.源端配置參數文件 

su - grid 

vi$ORACLE_HOME/network/admin/listener.ora 

SID_LIST_LISTENER = 

(SID_LIST = 

 (SID_DESC = 

 (GLOBAL_DBNAME = +ASM) 

 (ORACLE_HOME=/u01/app/11.2.0/grid) 

 (SID_NAME = +ASM1) 

. ) 

.) 

.su - oracle 

.cd $ORACLE_HOME/network/admin 

.vi tnsnames.ora 

.ASM = 

. (DESCRIPTION = 

.   (ADDRESS = (PROTOCOL = TCP)(HOST = 186.168.100.3)(PORT = 1521)) 

.   (CONNECT_DATA = 

.     (SERVER = DEDICATED) 

.     (SERVICE_NAME = +ASM) 

.     (SID_NAME = +ASM1) 

.   ) 

. ) 

11、配置管理進程mgr

GGSCI(NDSCDB1) 1> edit param mgr

port 7809                                                       

-- DYNAMICPORTLIST 7830-7835                                     

autostart extract *                                             

autorestart extract *, waitminutes 1,retries 60, RESETMINUTES 60

PURGEOLDEXTRACTS /ggs/dirdat/sd*,USECHECKPOINTS, MINKEEPHOURS 2

 

~ MANAGER進程參數配置說明:

PORT:指定服務監聽端口;這里以7839為例,默認端口為7809

DYNAMICPORTLIST:動態端口:可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中選擇一個可用的端口,源端和目標段的Collector、Replicat、GGSCI進程通信也會使用這些端口;

COMMENT:注釋行,也可以用--來代替;

AUTOSTART:指定在管理進程啟動時自動啟動哪些進程;

AUTORESTART:自動重啟參數設置:本處設置表示每3分鐘嘗試重新啟動所有EXTRACT進程,共嘗試5次;

PURGEOLDEXTRACTS:定期清理trail文件設置:本處設置表示對于超過3天的trail文件進行刪除。

LAGREPORT、LAGINFO、LAGCRITICAL

定義數據延遲的預警機制:本處設置表示MGR進程每隔1小時檢查EXTRACT的延遲情況,如果超過了30分鐘就把延遲作為信息記錄到錯誤日志中,如果延遲超過了45分鐘,則把它作為警告寫到錯誤日志中。

 

12、配置extfull  

add extract extfull, tranlog,begin now 

 

edit param extfull  

extract extfull                                                                                                

setenv ( NLS_LANG = " AMERICAN_AMERICA.ZHS16GBK " )------添加報錯                                                         

TRANLOGOPTIONS ASMUSERSYS@ASM, ASMPASSWORD oracle                                                           

THREADOPTIONS MAXCOMMITPROPAGATIONDELAY80000 IOLATENCY 160000                                                                                                                                                          

DBOPTIONS ALLOWUNUSEDCOLUMN                                                                                                                                                                                     

userid goldengate, password goldengate                                                                                                                                                                              

ddl include mapped                                                                                                                                                                                                

ddloptions addtrandata RETRYOP MAXRETRIES1000 RETRYDELAY 10, REPORT                                                                                                                                                 

WARNLONGTRANS 1h, CHECKINTERVAL 5m                                                                        

exttrail /ggs/dirdat/sd                                                                                    

gettruncates                                                                                              

dynamicresolution                                                                                                                                                                                                    

NOCOMPRESSUPDATES                                                                                                                                                                                                   

NOCOMPRESSDELETES                                                                                                                                                                                                                                                                                                                                                                                                                                                           

table LM.testogg;     

 

add exttrail  /u01/app/oracle/ogg/dirdat/sd, extractextfull, MEGABYTES 50

 

13.添加傳輸進程 

添加傳輸進程  

addextract dpfull exttrailsource /ggs/dirdat/sd 

 

創建遠程隊列文件并將其指定給傳輸進程 

addrmttrail  /u01/app/oracle/ogg/td, extract dpfull, MEGABYTES 50 

 

配置傳輸進程參數 

editparam dpfull 

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

extractdpfull 

passthru 

rmthost 186.168.100.22, mgrport 7809 

rmttrail /ggs/dirdat/td 

gettruncates 

table LM.testogg;                  

12、啟動管理進程:

dblogin  userid ogg password ogg

 

GGSCI (oggsource as ogg@dbdream) 11>start mgr

Manager started.

 

查看進程狀態可發現 MANAGER狀態為 RUNNING

GGSCI(NDSCDB1) 3> info all

 

 

/u01/app/oracle/ogg/dirrpt

 

13、配置抽取進程:

 

GGSCI (oggsource as ogg@dbdream) 12> addextract extnd,tranlog,begin now

EXTRACT added.

 

GGSCI (oggsource as ogg@dbdream) 13> addexttrail ./dirdat/nd,extract extnd,megabytes 100

EXTTRAIL added.

Megabytes:指定隊列大小,本處設置表示100M。

添加傳輸進程,配置參數

 

GGSCI(NDSCDB1) 15> edit params extnd

 

EXTRACT extnd

setenv(NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")

SETENV(ORACLE_HOME ="/u01/app/oracle/product/11.2.0/db_1")

SETENV(ORACLE_SID ="dbdream")

USERID  ogg, PASSWORD ogg

--GETTRUNCATES

REPORTCOUNTEVERY 1 MINUTES, RATE

DISCARDFILE./dirrpt/extnd.dsc,APPEND,MEGABYTES1024

--THREADOPTIONS  MAXCOMMITPROPAGATIONDELAY 60000 IOLATENS60000

DBOPTIONS ALLOWUNUSEDCOLUMN

WARNLONGTRANS2h,CHECKINTERVAL 3m

EXTTRAIL./dirdat/nd

--TRANLOGOPTIONSEXCLUDEUSER USERNAME

FETCHOPTIONSNOUSESNAPSHOT

TRANLOGOPTIONS  CONVERTUCS2CLOBS

TABLE olive.ol$_objects

GGSCI(NDSCDB1) 15>add extract dpend,exttrailsource ./dirdat/nd

EXTRACT added.

GGSCI(NDSCDB1) 15>add rmttrail /u01/app/oracle/ogg/nd, EXTRACT DPEND

RMTTRAIL added.

 

edit params dpend

EXTRACT dpend

SETENV(NLS_LANG ="AMERICAN_AMERICA.ZHS16GBK")

USERID ogg, PASSWORD ogg

PASSTHRU

RMTHOST10.122.0.113, MGRPORT 7839, compress

RMTTRAILF:/u01/app/oracle/ogg/dirdat/nd

TABLE olive.ol$_objects;

 

抽取進程和傳輸進程其實都是EXTRACT進程,也可以配置在一個進程完成這兩個功能,但是當網絡傳輸有問題時,這樣抽取也就不能繼續運行了,所以推薦分開配置為兩個進程;

 

EXTRACT進程參數配置說明:

 

SETENV:配置系統環境變量

 

USERID/ PASSWORD:指定OGG連接數據庫的用戶名和密碼,這里使用3.4部分中創建的數據庫用戶OGG;

 

COMMENT:注釋行,也可以用--來代替;

 

TABLE:定義需復制的表,后面需以;結尾

 

TABLEEXCLUDE:定義需要排除的表,如果在TABLE參數中使用了通配符,可以使用該參數指定排除掉得表。

 

GETUPDATEAFTERS|IGNOREUPDATEAFTERS

 

是否在隊列中寫入后影像,缺省復制

 

GETUPDATEBEFORES| IGNOREUPDATEBEFORES

 

是否在隊列中寫入前影像,缺省不復制

 

GETUPDATES|IGNOREUPDATES

 

是否復制UPDATE操作,缺省復制

 

GETDELETES|IGNOREDELETES

 

是否復制DELETE操作,缺省復制

 

GETINSERTS|IGNOREINSERTS

 

是否復制INSERT操作,缺省復制

 

GETTRUNCATES|IGNORETRUNDATES

 

是否復制TRUNCATE操作,缺省不復制;

 

RMTHOST:指定目標系統及其GoldengateManager進程的端口號,還用于定義是否使用壓縮進行傳輸,本例中的compress為壓縮傳輸;

 

RMTTRAIL:指定寫入到目標斷的哪個隊列;

 

EXTTRAIL:指定寫入到本地的哪個隊列;

 

SQLEXEC:在extract進程運行時首先運行一個SQL語句;

 

PASSTHRU:禁止extract進程與數據庫交互,適用于DataPump傳輸進程;

 

REPORT:定義自動定時報告;

 

STATOPTIONS:定義每次使用stat時統計數字是否需要重置;

 

REPORTCOUNT:報告已經處理的記錄條數統計數字;

 

TLTRACE:打開對于數據庫日志的跟蹤日志;

 

DISCARDFILE:定義discardfile文件位置,如果處理中油記錄出錯會寫入到此文件中;

 

DBOPTIONS:指定對于某種特定數據庫所需要的特殊參數;

 

TRANLOGOPTIONS:指定在解析數據庫日志時所需要的特殊參數,例如:對于裸設備,可能需要加入以下參數 rawdeviceoggset 0

 

WARNLONGTRANS:指定對于超過一定時間的長交易可以在gsserr.log里面寫入警告信息,本處配置為每隔3分鐘檢查一次場交易,對于超過2小時的進行警告;~

~

~

目標庫

備庫: 

1.創建ogg用戶并授權 

create user goldengatet identified bygoldengatet default tablespace tbs_ogg; 

grant dba to ogg; 

execdbms_streams_auth.grant_admin_privilege(grantee => 'ogg',grant_privileges=> true); 

ALTER SYSTEM SETENABLE_GOLDENGATE_REPLICATION = TRUE SCOPE=BOTH; 

 

2.配置環境變量(oracle用戶下) 

export LD_LIBRARY_PATH

export PATH=       

 

目標庫創建GoldenGate數據庫用戶并授權:

GGSCI (oggtarget) 1> create subdirs  

Creating subdirectories under currentdirectory /u01/app/oracle/ogg

Parameter files                /u01/app/oracle/ogg/dirprm:already exists

Report files                   /u01/app/oracle/ogg/dirrpt:already exists

Checkpoint files               /u01/app/oracle/ogg/dirchk:already exists

Process status files           /u01/app/oracle/ogg/dirpcs: alreadyexists

SQL script files               /u01/app/oracle/ogg/dirsql:already exists

Database definitions files     /u01/app/oracle/ogg/dirdef: already exists

Extract data files             /u01/app/oracle/ogg/dirdat:already exists

Temporary files                /u01/app/oracle/ogg/dirtmp:already exists

Credential store files         /u01/app/oracle/ogg/dircrd: alreadyexists

Masterkey wallet files         /u01/app/oracle/ogg/dirwlt: alreadyexists

Dump files                    /u01/app/oracle/ogg/dirdmp: already exists

SQL> create tablespace ogg datafile'/u01/app/oracle/oradata/dbdream/ogg.dbf' size 50M autoextend on;

SQL> create user ogg identified by oggdefault tablespace ogg;

grant connect,resource,unlimited tablespaceto ogg;

grant execute on utl_file to ogg;

grant select any dictionary,select anytable to ogg;

grant alter any table to ogg;

grant flashback any table to ogg;

grant execute on DBMS_FLASHBACK to ogg;

grant insert any table to ogg;

grant delete any table to ogg;

grant update any table to ogg;

庫配置檢查

SQL> select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MINfrom v$database;

SQL> alter database force logging;

SQL> alter database add SUPPLEMENTAL log data;

 

配置MGR

配置參數文件 

MGR 

edit param mgr 

PORT 7839

autostart replicat *

autorestart replicat *, waitminutes 1,retries 60, RESETMINUTES 60

PURGEOLDEXTRACTS/u01/app/oracle/ogg/dirdat/td*, USECHECKPOINTS, MINKEEPHOURS 2

 

添加checkpoint  

 dblogin userid goldengate,password goldengate  

 ADD CHECKPOINTTABLE goldengate.ckptfull  

 

配置目標端進程組

add replicat repfull, exttrail/u01/app/oracle/ogg/dirdat/td, CHECKPOINTTABLE ogg.ckptfull 

 

 

 

 

 

 

 

edit params repfull 

 

replicat repfull

setenv ( NLS_LANG =  "AMERICAN_AMERICA.ZHS16GBK" )

assumetargetdefs

userid ogg, password ogg

DBOPTIONS DEFERREFCONST, SUPPRESSTRIGGERS

gettruncates

ALLOWNOOPUPDATES

ddl include mapped

discardfile ./dirrpt/repfull.dsc, append,megabytes 4000

map scott.t1, target scott.t1;

 

GGSCI (oggtarget as ogg@stream) 74>start mgr

 

GGSCI (oggtarget as ogg@stream) 75> infoall

Program    Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER    RUNNING                                          

REPLICAT   RUNNING     REPFULL     00:00:00      00:00:02   

 

參數介紹:

 

REPLICAT RINI_1:說明這是REPLICAT應用進程,名字叫RINI_1

SETENV:語言變量,同捕獲進程EINI_1

ASSUMETARGETDEFS:告訴OGG目標端和源端需要同步的表的結構完全一致,不需要OGG去檢查表的結構,包括表名、字段名、字段類型、字段長度等,如果目標端和源端同步的表的結構不一樣,需要使用SOURCEDEFS參數,詳見OGG官方文檔。

USERID、PASSWORD:同捕獲進程EINI_1參數介紹

DISCARDFILE:錯誤信息存放位置及命名規則

MAP:源端捕獲的表的名字

TARGET:目標端同步的表的名字,可以不在同一SCHEMA。

 

測試檢查

info all---------------------檢查進程

info 進程名,detail

stats REPFULL-----------------------------檢查數據傳輸狀態

view report 進程名

數據庫登錄檢查數據是否有變化

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女