freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

goldengate安裝部署及解決方案(編輯修改稿)

2025-07-02 18:42 本頁面
 

【文章內容簡介】 g10g\dirdat\rl extract pump1然后啟動extl和pump進程就OK了。 使用數據定義文件GoldenGate數據定義文件(datadefinitions file),主要用于不同數據源之間(比如下面的Oracle與DB2之間的同步),進行數據同步時用來轉換數據格式。數據定義文件主要包含表名、字段名、字段類型、字段長度和偏移量。利用GoldenGate的defgen工具生成一個數據定義文件(datadefinitions file),大致步驟如下:(1)創(chuàng)建DEFGEN工具的參數文件(2)運行DEFGEN工具生成數據定義文件(3)配置GG進程識別定義文件例子:GGSCI edit param defgen 創(chuàng)建DEFGEN工具的參數文件/***DEFSFILE full_pathname 指定由DEFGEN生成的數據定義文件的全路徑和名稱[{SOURCEDB | TARGETDB} dsn,] oracle不需要配置這個參數[USERID user[,PASSWORD password]] DB2不需要配置PASSWORDTABLE owner.table 分析指定表生成配置文件***/類似如下(ORACLE):/***DEFSFILE GG_HOME\dirdef\USERID ddw,PASSWORD ddwTABLE 。***/然后退出GGSCI,在GG安裝路徑下運行DEFGEN工具:GG_HOME defgen paramfile dirprm/配置文件默認生成在GG_HOME\dirdef下,不要去手動修改。如果對應表的表結構發(fā)生更改,需要重新生成這個配置文件。然后將生成的配置文件拷貝至目標服務器的GG_HOME\dirdef下。修改復制進程repl參數文件:GGSCIedit param repl將原先的assumetargetdefs參數替換為sourcedefs GG_HOME\ dirdef\GGSCIstop replGGSCIstart repl數據定義文件的配置完成。 配置進程檢查點(checkpoint)檢查點記錄了進程讀寫的位置信息用以數據恢復,目的是為了防止進程因系統(tǒng)、網絡崩潰而導致的數據丟失,對于GoldenGate保證數據同步過程中數據不丟失非常重要。GoldenGate的檢查點由一個內部進程自動控制,與數據庫檢查點的概念類似。提取進程的檢查點記錄它在數據源中的讀取位置和隊列的寫出位置,復制進程的檢查點記錄它讀取隊列的位置。每條提取或復制進程都有自己對應的檢查點信息。當GoldenGate的進程重啟時,由它所記錄的檢查點決定需要讀取的隊列位置。GoldenGate的檢查點信息有兩種存放方式:(1)默認存放在GGHOME\dirchk下的文件中,一個進程對應一個文件。提取進程只能使用這種模式。不需要特殊配置。(2)存放在數據庫指定的表中,需要進行如下配置:首先在./globals參數文件中加入:/***CHECKPOINTTABLE [owner.table] 指定的檢查點記錄表***/然后運行:GGSCI DBLOGIN [SOURCEDB dsn][, USERID db_user[, PASSWORD pw]]GGSCI ADD CHECKPOINTTABLE [owner.table] 生成這個檢查點記錄表在新增復制進程時可以在添加時指定checkpointtable [owner.table]替代nodbcheckpoint,使用數據庫記錄檢查點信息。ORACLE官方文檔中,比較推薦將復制進程的檢查點信息存放到數據庫表中進行管理,認為在某些情況下能促進數據恢復。并指出檢查點信息量非常小,而且是進行記錄更新而非記錄插入,一個進程只對應一條記錄,在它特殊的檢查點處理機制下不會對數據庫造成影響。個人猜想是當目標數據庫崩潰還原后(特別是在不完全恢復的情況下),檢查點信息能同數據庫一起還原,在數據上能利用數據庫事務性與數據庫保持一致,從而在數據庫正常打開后能繼續(xù)進行數據同步。但實際上并不必要,因為數據庫故障的情況多種多樣,就算檢查點同步恢復后,也不能保證直接就能啟動GoldenGate進程。 ddl同步GoldenGate的DDL同步只支持兩邊一致的數據庫,限制條件較多(如不能進行字段映射、轉換等),具體可以參考官方文檔。DDL的抓取不是通過日志抓取來捕獲的,而是通過觸發(fā)器來實現,所以對源數據庫的性能影響要比單純的數據抓取要大很多,可謂屏棄了GoldenGate的優(yōu)勢。盡量不要使用GoldenGate的DDL復制功能,在大多數業(yè)務系統(tǒng)中,實際上不會有頻繁的數據庫結構變動,完全可以通過手工的方式進行維護。確實有大量DDL操作的環(huán)境,如果可以,還是推薦物理DG之類的替換方案;確實要使用GoldenGate的DDL復制,那么請詳細參考官方文檔的限制和說明。以上主要為個人意見,有不同看法的請無視開啟DDL復制的基本配置步驟為:(1)關閉ORACLE的回收站功能。(2)選擇一個數據庫schema存放支持DDL的GoldenGate對象,運行相應創(chuàng)建腳本。(3)編輯globals參數文件。(4)修改extl和repl的配置文件具體操作步驟:(1)關閉數據庫回收站:SQLalter system set recyclebin=off scope=both。 (2)編輯globals參數文件:GGSCIedit param ./globals添加以下內容后保存:GGSCHEMA ddw 標明支持DDL的GG對象存放在哪個schema下(3)執(zhí)行創(chuàng)建腳本:首先需要命令行進入GG安裝目錄下,然后再運行sqlplus執(zhí)行腳本,如果不進入目錄下腳本執(zhí)行會報錯(應該是由于GG腳本中子腳本嵌套使用相對路徑的問題所造成)。SQL@ 提示輸入目標schemaSQL@ 提示輸入目標schema,輸入initialsetup最后輸入yesSQL@SQLgrant GGS_GGSUSER_ROLE to ddw。 不進行該步賦權后面起進程會報錯SQL@ 使觸發(fā)器生效(4)修改提取進程和復制進程的配置文件,分別加入ddl include all屬性。此時repl必須指定assumetargetdefs屬性,這表明只有兩邊數據庫結構一致的情況下才可以啟用DDL復制。另外,開啟DDL同步不能再只映射單表了,對整個模式下的對象都有效。加入DDL復制之后,數據復制的lag明顯增加了。清除數據庫中DDL復制的設置在實際測試中,由于我在同一個數據庫中進行映射,映射表結構不一致,導致進程報了一系列的錯誤。這個時候需要把通過腳本創(chuàng)建的GG對象中的數據清空,安裝目錄下只提供了清除對象的腳本,可以如下操作:首先要求把所有的GG進程停掉,包括mgr進程SQL@ 首先使DDL觸發(fā)器失效SQL@SQL@,但是這塊不影響配置信息的清除然后重新再創(chuàng)建腳本。 oracle與db2同步設置DB2數據庫參數:db2 connect to database user username using password DB2命令行工具登陸DB2db2 get db cfg for database name 查看數據庫參數配置db2 update db cfg for database name using LOGRETAIN ON 設置LOGRETAIN參數db2 update db cfg for database name using USEREXIT ON 設置USEREXIT參數設置完后的參數配置相關顯示如下:Log retain for recovery status = RECOVERY User exit for logging status = YES 重啟數據庫并進行全庫備份:db2 stop forcedb2 startdb2 backup db database指定歸檔路徑:(OVERFLOWLOGPATH參數)db2 connect to database user username using passworddb2 update db cfg using overflowlogpath pathGoldenGate中執(zhí)行add trandata補全日志:GGSCI dblogin sourcedb sample userid db2admin,password db2admin 除oracle外的數據庫都需要指定sourcedb參數,指定數據庫名稱GGSCIadd trandata db2admin.tablename其他的同步配置與Oracle中一樣,需要注意的是進程配置文件中登陸DB2的部分都需要指定sourcedb這個參數(ORACLE不需要,指定了反而報錯)。還有就是復制進程的配置文件中一般不能指定assumetargetdefs參數,因為不是結構一致的數據庫,需要通過defgen工具生成數據定義文件進行映射。 oracle與sybase同步Sybase數據庫設置使用sybase的SQL Advantage,用sa用戶登錄,執(zhí)行dbcc settrunc( 39。ltm39。, valid )修改參數。GoldenGate中連接SybaseGGSCI dblogin sourcedb zhoubase userid sa password sasasa同樣做如下設置GGSCIadd trandata user.tablename其他配置和Oracle中一樣。需要注意的是,Sybase是個區(qū)分大小寫的數據庫(sql server同樣)。而Oracle不區(qū)分大小寫,這就導致了表和字段在復制進程映射的時候,容易因大小寫問題導致映射失敗。解決方法是在表名外加上雙引號或者單引號,參照如下復制進程的配置文件內容:/***replicat repsy sourcedefs d:\tools\GG\gg10g\dirdef\USERID ddw, PASSWORD ddw reperror default, discard discardfile D:\,append,megabytes 100 MAP “”, TARGET “”。 引號區(qū)分大小寫***/GoldenGate同步方案 GoldenGate工具雖小,但它提供表級字段級同步映射,而且同步性能優(yōu)異、資源消耗低,使它的靈活性很強,可以提供多種數據同步、冗災的解決方案。 使用GoldenGate初始化加載 這里所指的GoldenGate初始化加載,只是它指提供的direct load方式,因為其他幾種官方介紹的初始化方式要么需要借助其他數據庫工具(如extractSQL*Loader),要么中間走了完全沒必要的步驟導致性能很差(如extractfilereplicat方式),都不算純正的GoldenGate方式。初始化加載架構:上圖中,顯示了初始化加載啟用了兩條同步路線:上面一條是真正的initial load,負責將源數據端的數據一次性發(fā)送到目標數據庫;下面一條,其實就是普通的GoldenGate同步進程,負責抓取初始化加載時源端數據庫進行的在線數據變化。因為在實際應用中,往往需要在生產庫(源數據庫)不停機的狀態(tài)下,將數據加載到備用數據庫(目標數據庫)中并應用實時同步,在數據初始化的過程中,生產庫將繼續(xù)進行正常的事務操作,所以此時需要有抓取進程在初始化時開始將這些變化捕獲,以免數據丟失。實際部署時需要注意正確的執(zhí)行順序,大致可以分為以下幾步:(1) 源端和目標端創(chuàng)建配置各個同步進程。(2) 開啟源端同步抓取進程(圖上的Change Extract),開始捕獲變化。(3) 開啟初始化進程(圖上的InitialLoad Extract),開始數據初始化加載。(4) 等初始化加載結束,開啟目標端復制應用進程(圖上的Change Replicat),開始實時同步應用。在目標端復制應用進程(圖上的Change Replicat)中,需要在參數文件中配置HANDLECOLLISIONS參數,以避免重復應用第2和第3步之間的數據變化,因為這部分數據已經包含在初始化加載中傳到目標數據庫中了。在這里需要特別提醒的一個概念上的問題,GoldenGate的初始化同步不會也不需要去初始化目標端的SCN號。這個問題在我與多位數據庫DBA的交流中發(fā)現,他們往往以為GoldenGate是通過SCN來判斷數據的應用情況的。GoldenGate的同步與Streams不同,它不需要依賴兩端數據庫保持一致的SCN來應用同步,實際上它只在抓取時可能會與數據庫的SCN有關聯(抓取時可以指定源數據庫的特定SCN號開始解析日志),在trail傳輸以及目標端應用時,都和源端數據庫的SCN毫無關系。它的實質是通過自己的一套隊列文件檢查點機制來實現隊列數據的管理,在目標端則通過數據的唯一鍵來定位數據行,trail文件最終解析成SQL語句在目標端數據庫執(zhí)行而實現數據的應用。所以這里的初始化加載,完全可以使用其他數據庫工具來實
點擊復制文檔內容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1