19c_ogg搭建

1.環境介紹

源端:192.168.56.101 目標端:192.168.56.100
背景:數據從主庫cdb主機定位,同步到從庫

2.配置ogg

2.1 開啟歸檔、強制日志、補充日志

--ogg 主備都需要配置
SQL> alter database archivelog;
SQL> alter database force logging;
SQL> alter database add supplemental log data;
SQL> alter database add supplemental log data(primary key,unique,foreign key) columns; 
SQL> alter system archive log current; SQL> select log_mode,force_logging,supplemental_log_data_min from v$database;
LOG_MODE     FORCE_LOGGING                           SUPPLEME
------------ --------------------------------------- --------
ARCHIVELOG   YES                                     YES--ogg 啟用(所有節點)
SQL> alter system set enable_goldengate_replication = true;

2.2 創建角色

--192.168.56.101 (cdb)
grant dba to c##oggadmin container = all;
create tablespace ts_ogg datafile '/u01/app/oracle/oradata/ORCL/ts_global_ogg01.dbf' size 10g autoextend off;
create user c##oggadmin identified by "oggadmin" default tablespace ts_ogg;--192.168.56.100 (pdb)
create tablespace ts_ogg datafile '/u01/app/oracle/oradata/ORCL/pdb/ts_ogg01.dbf' 10g autoextend off;
create user oggadmin identified by "oggadmin" default tablespace ts_ogg;
grant dba to oggadmin;

2.3 源端ogg進程配置

[oracle@pg1 ogg]$ ./ggsci
GGSCI (pg1) 2> edit params mgr
ps:mgr主從都配

PORT 7809
autostart extract *
autorestart extract *,retries 3,waitminutes 3--保存后啟動mgr
GGSCI (pg1) 4> start mgr
MGR is already running.--manager進程參數配置說明: 
port:指定服務監聽端口dynamicportlist:動態端口,可以制定最大256個可用端口的動態列表,當指定的端口不可用時,管理進程將會從列表中
選擇一個可用的端口,源端和目標段的collector、replicat、ggsci進程通信也會使用這些端口;比如:dynamicportlist
7501-7601 comment:注釋行,也可以用–來代替;autostart:指定在管理進程啟動時自動啟動哪些進程;比如:autostart extract * 啟動所有的抽取進程
autorestart:自動重啟參數設置:本處設置表示每3分鐘嘗試重新啟動所有extract進程,共嘗試3次;purgeoldextracts:定期清理trail文件設置:本處設置表示對于超過3天的trail文件進行刪除。purgeoldextracts./dirdat/*,usecheckpoints,minkeepdayslagreport、laginfo、lagcritical:
定義數據延遲的預警機制:設置表示mgr進程每隔1小時檢查extract的延遲情況,如果超過了30分鐘就把延遲作為信息
記錄到錯誤日志中,如果延遲超過了45分鐘,則把它作為警告寫到錯誤日志中。 lagreporthours 1 laginfominutes 30 lagcriticalminutes 45

2.4 用戶ogg登錄到數據庫

[oracle@pg1 admin]$ cat tnsnames.ora 
19c = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)))pdb =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = pdb)))--192.168.56.101 
GGSCI (pg1) 5> dblogin userid c##oggadmin,password oggadmin
Successfully logged into database CDB$ROOT.GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 6>  edit params ./GLOBALS
GGSCHEMA C##OGGADMIN
保存退出-- 對抽取的表添加trandata
SQL> exec dbms_goldengate_auth.grant_admin_privilege('c##oggadmin');
SQL> exec dbms_goldengate_auth.grant_admin_privilege('c##oggadmin',container=>'all');
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 7>  add trandata pdb.scott.emp1
or
SQL> alter table schema.table_name add supplemental log data(all) columns;--pdb 級別對trandata進行添加操作

2.5 配置ogg進程

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

-- 添加抽取進程ext1(自定義名稱)
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 8> add extract ext1,integrated tranlog,begin now
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 9> add exttrail /u01/app/oracle/ogg/dirdat/et,extract ext1 megabytes 200
ps:其中et(exttrail的縮寫)是不需要自己手動創建的并且要嚴格控制在兩個字符或者兩個字符以內,OGG會自動創建。--注冊抽取進程ext1到pdb
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 10>  register extract ext1 database container(pdb)--添加投遞進程pump1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 11> add extract pump1,exttrailsource /u01/ogg/dirdat/et   -- 給投遞進程添加遠程trail文件
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 12> add rmttrail /u01/ogg/dirdat/rt,extract pump1,megabytes 200 --配置抽取進程ext1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 13> edit params ext1
extract ext1
userid c##oggadmin,password oggadmin
exttrail /u01/ogg/dirdat/et         --抽取進程的跟蹤文件
table pdb.scott.emp1;
table pdb.scott.dept1;
保存退出--配置投遞進程pump1
GGSCI (pg1 as c##oggadmin@orcl/CDB$ROOT) 13> edit params pump1
extract pump1
userid c##oggadmin,password oggadmin
rmthost 192.168.56.100,mgrport 7809
rmttrail /u01/ogg/dirdat/rt         --rmttrail用來指定投遞到目標端的trail文件。
table pdb.scott.emp1;               --table參數后面就是你要復制投遞的表,注意結束了一定要用 ';'結尾
table pdb.scott.dept1;
保存退出

3. 目標端ogg進程配置

3.1 配置mgr進程

-- mgr配置
GGSCI (test) 1> edit params mgr
PORT 7809
autostart extract *
autorestart extract *,retries 3,waitminutes 3
保存退出--啟動mgr
GGSCI (test) 2> start mgr--用ogg用戶oggadmin登錄pdb
GGSCI (test) 3> dblogin userid oggadmin@pdb,password oggadmin;
Successfully logged into database PDB.--編輯GLOBALS
GGSCI (test as oggadmin@orcl/PDB) 4>  edit params ./GLOBALS
GGSCHEMA oggadmin
CHECKPOINTTABLE oggadmin.checkpointtable
保存退出--添加檢查點表(checkpointtable)
GGSCI (test as oggadmin@orcl/PDB) 5>  add checkpointtable oggadmin.checkpointtable-- 添加數據復制進程rep1并配置
GGSCI (test as oggadmin@orcl/PDB) 6> add replicat rep1 exttrail /u01/ogg/dirdat/rt,checkpointtable oggadmin.checkpointtableGGSCI (test as oggadmin@orcl/PDB) 7> edit params rep1
replicat rep1
userid oggadmin@pdb,password oggadmin
ASSUMETARGETDEFS
DBOPTIONS ENABLE_INSTANTIATION_FILTERING
DISCARDFILE /u01/ogg/rep1_discard.txt,append,megabytes 10
DISCARDROLLOVER AT 02:00
DDLERROR DEFAULT IGNORE RETRYOP
map pdb.scott.emp1,target scott.emp1;
map pdb.scott.dept1,target scott.dept1;
保存退出
ASSUMETARGETDEFS
--使用ASSUMETARGETDEFS參數時,用MAP語句中指定的生產庫源表和災備端目標表具有相同的列結構。它指示的Oracle GoldenGate不在生產端查找源表的結構定義。
HANDLECOLLISIONS  --不要用!存在操作不一致性(詳情https://blog.csdn.net/zhuxiaoliao/article/details/42234661)
DBOPTIONS ENABLE_INSTANTIATION_FILTERING  --當DDL復制報錯時,則需要用到此處的ddlerror參數預處理一些常見的報錯信息。Ddlerror對于抽取、復制進程均有效,默認為abend。
DISCARDFILE /u01/app/oracle/ogg/rep1_discard.txt,append,megabytes 10  
--將執行失敗的記錄保存在discard file中,文件中已經包含記錄的話,再后面繼續追加,不刪除之前的記錄。
--如當DDL復制報ORA-1430錯誤,傳遞了重復的alter語句導致,則可以用ddlerror (1430, discard)將錯誤信息扔到discard文件里。
DISCARDROLLOVER AT 02:00
--為了防止discard file被寫滿,每天2:00做一次文件過期設定
DDLERROR DEFAULT IGNORE RETRYOP  --DDL語句出錯默認--啟動源端OGG抽取和投遞進程
start pump1
start ext1--導入數據
可以用數據泵把要同步的表導入從庫,or 使用dblink也行--OGG進程檢查與日志查看
[root@test ogg]# tail -200f ggserr.log
--                                        

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/42998.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/42998.shtml
英文地址,請注明出處:http://en.pswp.cn/news/42998.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Axure高保真原型】JS日期選擇器篩選中繼器表格

今天和大家分享JS日期選擇器篩選中繼器表格的原型模板,通過調用瀏覽器的日期選擇器,所以可以獲取真實的日歷效果,具體包括哪一年二月份有29天,幾號對應星期幾,都是真實的,獲取日期值后,通過交互…

接口測試,負載測試,并發測試,壓力測試區別

接口測試 1.定義:接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。 2.目的&#xf…

原型與繼承

原型與繼承 在 JavaScript 中,對象有一個特殊的隱藏屬性 [[Prototype]](如規范中所命名的),它要么為 null,要么就是對另一個對象的引用。該對象被稱為“原型。 當我們從 object 中讀取一個缺失的屬性時,Jav…

使用Julia實現A*路徑尋找算法:一個深入的指南

第一部分:簡介與背景 1. 引言 Julia,作為一種高效、靈活且易于學習的編程語言,逐漸在科學計算、數據分析和機器學習等領域中占據一席之地。當我們談到路徑規劃或游戲開發時,A_算法(A Star Algorithm)常常…

什么是變量提升(hoisting)?它在JavaScript中是如何工作的?

聚沙成塔每天進步一點點 ? 專欄簡介? 變量提升(Hoisting)? 變量提升的示例:? 寫在最后 ? 專欄簡介 前端入門之旅:探索Web開發的奇妙世界 記得點擊上方或者右側鏈接訂閱本專欄哦 幾何帶你啟航前端之旅 歡迎來到前端入門之旅&…

7.3 C/C++ 實現順序棧

順序棧是一種基于數組實現的棧結構,它的數據元素存儲在一段連續的內存空間中。在順序棧中,棧頂元素的下標是固定的,而棧底元素的下標則隨著入棧和出棧操作的進行而變化。通常,我們把棧底位置設置在數組空間的起始處,這…

C++11并發與多線程筆記(9) async、future、packaged_task、promise

C11并發與多線程筆記(9) async、future、packaged_task、promise 1、std::async、std::future創建后臺任務并返回值2、std::packaged_task:打包任務,把任務包裝起來3、std::promise3、小結 1、std::async、std::future創建后臺任務…

C++友元函數和友元類

友元 1.友元介紹2.類友元2.1示例代碼 3.函數友元3.1示例代碼 4.總結 1.友元介紹 在C中,友元(friend)是一種機制,允許某個類或函數訪問其他類的私有成員。通過友元,可以授予其他類或函數對該類的私有成員的訪問權限。友…

哈工大開源“活字”對話大模型

一、介紹 大規模語言模型(LLM)在自然語言處理的通用領域已取得了令人矚目的成功。對于廣泛的應用場景,這種技術展示了強大的潛力,學術界和工業界的興趣也持續升溫。哈工大自然語言處理研究所30余位老師和學生參與開發了通用對話大…

re學習(35)攻防世界-no-strings-attached(動調)

參考文章:re學習筆記(28)攻防世界-re-no-strings-attached_Forgo7ten的博客-CSDN博客 攻防世界逆向入門題之no-strings-attached_攻防世界 no-strings-attached_沐一 林的博客-CSDN博客 本人題解: 扔入Exepeinfo中查殼和其他信息…

LVS-DR模型實例

一、LVS-DR集群介紹 LVS-DR(Linux Virtual Server Director Server)工作模式,是生產環境中最常用的一 種工作模式。 1、LVS-DR 工作原理 LVS-DR 模式,Director Server 作為群集的訪問入口,不作為網關使用&#xff0…

python+django+mysql項目實踐五(信息搜索)

python項目實踐 環境說明: Pycharm 開發環境 Django 前端 MySQL 數據庫 Navicat 數據庫管理 信息搜素 輸入內容進行搜索,內容有文本類和時間類 文本類需要模糊搜索,包含即檢索 時間類需要選取時間范圍內的內容 views 利用Q完成對指定內容的檢索 檢索后按檢索內容更新…

HarmonyOS/OpenHarmony應用開發-ArkTS語言渲染控制ForEach循環渲染

ForEach基于數組類型數據執行循環渲染。說明,從API version 9開始,該接口支持在ArkTS卡片中使用。 一、接口描述 ForEach(arr: any[], itemGenerator: (item: any, index?: number) > void,keyGenerator?: (item: any, index?: number) > stri…

網絡綜合布線實訓室建設方案

一、網絡綜合布線系統概述 網絡綜合布線系統是為了滿足數據通信需求而設計和建立的一套基礎設施。它提供了數據傳輸、信號傳輸和電力供應的基礎結構,支持各種網絡設備和終端設備之間的連接。 網絡綜合布線系統通常包括以下組成部分: 1) 數據…

面試題 17.10 主要元素

??題目來源: leetcode題目,網址:面試題 17.10. 主要元素 - 力扣(LeetCode) 解題思路: 首先,順序遍歷數組,將不同的數字消去,最后留下的數字若計數小于等于 0&#xff…

ZooKeeper集群服務器啟動

在本文中,我們將對集群版ZooKeeper服務器的啟動過程做詳細講解。集群和單機ZooKeeper服務器的啟動過程在很多地方都是一致的,因此本節只會對有差異的地方展開進行講解。下圖所示是集群版ZooKeeper服務器的啟動流程圖。 預啟動 預啟動的步驟如下。 (1)統…

Python高光譜遙感數據處理與高光譜遙感機器學習方法教程

詳情點擊鏈接:Python高光譜遙感數據處理與高光譜遙感機器學習方法教程 第一:高光譜基礎 一:高光譜遙感基本 01)高光譜遙感 02)光的波長 03)光譜分辨率 04)高光譜遙感的歷史和發展 二:高光譜傳感器與數據獲取 01)高光譜遙感…

AI搜索引擎助力科學家創新

開發者希望通過幫助科學家從大量文獻中發現聯系從而解放科學家,讓他們專注于發現和創新。 圖片來源:The Project Twins 對于專注于歷史的研究者Mushtaq Bilal來說,他在未來科技中投入了大量時間。 Bilal在丹麥南部大學( Universit…

預訓練GNN:GPT-GNN Generative Pre-Training of Graph Neural Networks

一.文章概述 本文提出了一種自監督屬性圖生成任務來預訓練GNN,使得其能捕圖的結構和語義屬性。作者將圖的生成分為兩個部分:屬性生成和邊生成,即給定觀測到的邊,生成節點屬性;給定觀測到的邊和生成的節點屬性&#xf…

自動駕駛港口車輛故障及事故處理機制

1、傳感器故障: (1)單一傳感器數據異常處理。自動駕駛電動平板傳感方案為冗余設置,有其他傳感器能夠覆蓋故障傳感器觀測區域,感知/定位模塊將數據異常情況發給到規劃決策模塊,由“大腦”向中控平臺上報故障…