安裝並配置goldengate
OS配置
記憶體
每個程式需要25-55M記憶體,最大支援5000預設300併發;
SWAP
預設OGG將資料swap到dirtmp子目錄,大事務很容易將整個磁碟填滿,可為其單獨分配一個磁碟,由cachemgr的cachedirectory選項指定,見注1
磁碟
安裝路徑需要40M
許可權
Extract/replicat/manager程式必須對OGG目錄有讀寫許可權
安裝
解壓安裝包,執行shell命令呼叫GGSCI,執行create subdirs
GGSCI (raclinux1.gj.com) 1> create subdirs
Creating subdirectories under current directory /u02/stage_ogg112_ora11
Parameter files /u02/stage_ogg112_ora11/dirprm: already exists
Report files /u02/stage_ogg112_ora11/dirrpt: created
Checkpoint files /u02/stage_ogg112_ora11/dirchk: created
Process status files /u02/stage_ogg112_ora11/dirpcs: created
SQL script. files /u02/stage_ogg112_ora11/dirsql: created
Database definitions files /u02/stage_ogg112_ora11/dirdef: created
Extract data files /u02/stage_ogg112_ora11/dirdat: created
Temporary files /u02/stage_ogg112_ora11/dirtmp: created
Stdout files /u02/stage_ogg112_ora11/dirout: created
建立資料庫使用者並賦許可權,mgr和extract/replicat可共享同一使用者
如果要複製DDL還需單獨建立一個使用者http://space.itpub.net/?uid-15480802-action-viewspace-itemid-762694
編輯引數檔案
編輯manager引數檔案 edit params MGR
--唯一不可或缺的只有PORT,但強烈推薦dynamicportlist
PORT 7809
DYNAMICPORTLIST 7810-7820, 7830
AUTOSTART ER t*
AUTORESTART ER t*, RETRIES 4, WAITMINUTES 4
STARTUPVALIDATIONDELAY 5
PURGEOLDEXTRACTS /ogg/dirdat/tt*, USECHECKPOINTS, MINKEEPHOURS 2
預設埠號7809,由manager引數檔案的PORT決定;
如果OGG target端安裝了防火牆,需要額外的埠接受遠端OGG的動態TCP/IP連線,其中每個collector/replicat程式各佔一個埠,使用引數dynamicportlist為其分配埠,
由collector程式負責查詢繫結,如果沒有指定dynamicportlist或埠數不足,collector嘗試使用7840埠,不可用則遞增繼續嘗試,此行為會延阻遠端請求的接受;
編輯extract/replicat引數檔案
如果有多個instance,可在引數檔案中設定
Setenv(ORACLE_HOME = “”)
Setenv(ORACLE_SID = “”)
Replicat需建立檢查點表
1
DBLOGIN, USERID db_user [, PASSWORD pw [encryption options]]
ADD CHECKPOINTTABLE owner.table
2
Edit params ./GLOBALS
Checkpointtable owner.table
檢查點表預設使用非同步commit nowait機制,即replicat不必等待操作完畢便可返回;可編輯DBOPTIONS引數使用disablecommitnowait;
如果使用checkpoint檔案替代檢查點表,replicat使用commit wait避免資料庫失敗導致事務不一致;
Extract程式有2種模式:
Classic:OGG從redo/archive log捕獲資訊
Integrated:extract程式直接與db logmining server互動以接受LCR,相比classic支援更多資料型別
優點:
1 由於使用logmining server訪問redo stream,可自動在不同copy間切換
2 faster filtering of tables
3 handle point-in-time recovery and RAC integration more efficiently
4 RMAN自動保留待extract處理的archive log
有兩種配置方式--Local:source db 和mining db為同一個;Downstream:mining db和source db分開存放
配置資料庫
完整性約束
禁用target表的trigger和級聯約束
Dboptions suppresstriggers:支援10205和11R2,會話期間replicat不禁用trigger,但會阻止trigger執行;其他版本則須禁用完整性和觸發器約束;
延遲約束檢查
如果source table的約束為deferrable則target table必須為deferrable:
1 replicat引數檔案使用SQLEXEC (“alter session set constraint deferred”)
2 replicat引數檔案配置dboptions deferrefconst
配置replicat克服由transient 主鍵duplicate導致的完整性錯誤:
Update item set code = 2 where code =1 ;
Update item set code = 3 where code =2 ;
Update item set code = 4 where code =3 ;
--code為主鍵列,replicat執行第一條語句會遭遇ORA-00001,預設不處理即replicat abend
Pre11202:replicat配置handletpkuupdate,同時將target table的約束改為deferrable initially immediate,否則依照handcollisions/reperror定義的規則處理出現的錯誤
11202:replicat預設使用oracle workspace manager自動處理此問題,有2點要求:1 為replicat資料庫使用者賦予dbms_xstream_gg.enable_tdup_workspace();2 target表不能有deferrable約束
如果使用workspace,會忽略handlecollisions/reperror,如果使用batchsql,遭遇錯誤時會退出grouped transaction改為正常模式執行,如果繼續發生ora-00001則回滾此事務;
Workspace不支援一條sql同時包含transient PK duplicate和out-of-line column update,例如LOB/XMLType
確保行唯一性
除非使用了keycols,否則按如下順序定位行
主鍵;第一個unique key(所含列不能為invisible index);將所有列組建為pseudo key;
配置logging properties
開啟DB supplemental log
開啟schema supplemental log:用於DDL replication,執行add schematrandata schema
開啟table supplemental log:add trandata table [, COLS columns] [, NOKEY]
如果target 表沒有pk/uk則可能存在重複行,為限制更新行數可使用dboptions limitrows
字符集轉換
使用setenv設定NLS_LANG引數:SETENV (NLS_LANG = NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET)
檢視global設定:
Sqlplus執行如下命令
SHOW PARAMETER NLS_LANGUAGE
SHOW PARAMETER NLS_TERRITORY
SELECT name, value$ from SYS.PROPS$ WHERE name = 'NLS_CHARACTERSET';
SHOW PARAMETER NLS_LENGTH_SEMANTICS
GGSCI檢視view report檢視NLS_LANG相應設定
設定fetch選項
部分update操作需要extract從source db獲取額外行資料
預設OGG使用閃回查詢獲取一致性讀,也可強制其從表直接讀取最新資料fetchoptions nousesnapshot
Stats extract
特殊資料型別
TIMESTAMP
Oracle會將TIMESTAMP WITH LOCAL TIME ZONE轉換為資料庫的本地時區,如果source/target db時區不同則會出現資料不一致;
為此可設定repicat引數檔案,在USERID後新增:SQLEXEC "ALTER SESSION SET TIME_ZONE = ‘value of source_timezone’"
LOB
Repliat將LOB寫入target db時會導致碎片,為減少IO可使用LOB快取機制,即先將資料快取到buffer,等後者寫滿一次性刷入磁碟;
可透過dboptions的lobwritesize/disablelobcaching設定;
如果clob儲存了binary資料,將NLS_LANGUAGE/NLS_LANG設定為相同值;
Integrated capture從redo log讀取lobs,而update只記錄改動部分的資料,為強制記錄整個lob資料,配置extract引數tranlogoptions的fetchpartiallob選項;
Unused列:預設不支援,可配置extract的dboptions選項allowunusedcolumn將其捕獲
Redo/archive log位於不同路徑:配置extract的tranlogoptions選項
Truncate操作:單一的truncate table可透過gettruncats引數;其他諸如alter table truncate partition則須配置DDL
Sequence:使用OGG DDL
注1:
CACHEMGR {
[, CACHESIZE
[, CACHEDIRECTORY
[, CACHEPAGEOUTSIZE
}
實際耗用的cachesize可透過report報告中的process vm avail from OS檢視
cachedirectory預設為安裝目錄的dirtmp
…
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 1G
CACHEPAGEOUTSIZE (normal): 4M
PROCESS VM AVAIL FROM OS (min): 1.79G
CACHESIZEMAX (strict force to disk): 1.58G
…
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-762721/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle goldengate 安裝配置OracleGo
- GoldenGate for win安裝配置Go
- GOLDENGATE安裝和配置手冊Go
- 【GoldenGate】Oracle GoldenGate Veridata 安裝配置與應用GoOracle
- GoldenGate的安裝、配置與測試Go
- 解除安裝goldengate相關配置資訊Go
- 【GoldenGate】Oracle GoldenGate(一) 安裝與DML單向同步配置GoOracle
- MongoDB之安裝並配置MongoDB
- GOLDENGATE安裝和配置手冊總結Go
- 安裝GoldenGateGo
- Windows 安裝並配置 MySQL 5.6WindowsMySql
- GoldenGate抽取Informix資料庫安裝及配置GoORM資料庫
- 安裝配置Oracle GoldenGate for DB2(單向)OracleGoDB2
- Goldengate Veridata 11.2 for linux安裝配置GoLinux
- 解除安裝goldengateGo
- docker 安裝 nginx 並配置反向代理DockerNginx
- 快速安裝配置 GitLab 並漢化Gitlab
- linux配置multipath 並安裝racLinux
- linux下安裝node npm並配置LinuxNPM
- LINUX下安裝cassandra 並配置clusterLinux
- Ubuntu上安裝KVM並配置顯示卡直通Ubuntu
- Oracle GoldenGate安裝(一)OracleGo
- Oracle GoldenGate安裝(二)OracleGo
- Oracle GoldenGate安裝(三)OracleGo
- GoldenGate安裝簡記Go
- 解除安裝Oracle GoldenGateOracleGo
- Oracle GoldenGate Veridata 12.2.1.4安裝配置使用全手冊OracleGo
- mac安裝mysql並配置環境變數MacMySql變數
- CentOS7安裝Docker並配置映象加速CentOSDocker
- Linux安裝Nginx並配置啟動命令LinuxNginx
- Redmine 安裝並配置使用Agile plugin外掛Plugin
- CentOS 7.0下面安裝並配置SparkCentOSSpark
- goldengate學習-安裝篇Go
- Linux下安裝GoldenGateLinuxGo
- CentOS安裝Docker-ce並配置國內映象CentOSDocker
- 如何使用 Ansible 配置 Vim並安裝外掛
- Docker安裝mysql映象並進行主從配置DockerMySql
- CentOS7上安裝並配置Nginx、PHP、MySqlCentOSNginxPHPMySql