




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、A. 31、調(diào)整 MAP41.1 增加map51.2 刪除map62、調(diào)整目標(biāo)端72.1 增加目標(biāo)節(jié)點(diǎn)72.2 刪除目標(biāo)端102.3 修改目標(biāo)端 IP102.4 修改源端IP103、同步的性能調(diào)整113.1 首次同步的性能調(diào)整113.2 增量同步的性能調(diào)整124、高可用性的配置154.1 源端高可用性的配置154.2 目的端高可用性的配置165、如何使目的端變?yōu)橹飨到y(tǒng)166、錯(cuò)誤檢查177、數(shù)據(jù)比對(duì)178、重新同步指定的 MAP 或 TABLE218.1 重新同步指定的map218.2 重新同步指定的 table229、重新全同步2310、修改配置參數(shù)23前言11、不支持的 DDL 處理方式2
2、612、出現(xiàn) DML 錯(cuò)誤情況的處理2713、如何查看裝載到哪個(gè)時(shí)間點(diǎn)2814、軟件的升級(jí)2915、LISENCE 的應(yīng)用30種常用模式30116.1一對(duì)一模式3116.2一對(duì)多模式3516.3一對(duì)一對(duì)一模式4016.4多對(duì)一模式4617、DRS 的使用5117.1 DRS 的安裝5117.1.1、安裝前的準(zhǔn)備5117.1.2、DRS 的安裝5117.2 使用 DRS 恢復(fù)數(shù)據(jù)5217.3、DRS 的刪除6018、恢復(fù)時(shí)的切換61前言1. 軟件說(shuō)明:IStream DDS是新一代數(shù)據(jù)庫(kù)邏輯軟件。利用數(shù)據(jù)庫(kù)日志跟蹤分析技術(shù),將生產(chǎn)數(shù)據(jù)庫(kù)的信息以事務(wù)為,通過(guò)異步的方式,實(shí)時(shí)的傳遞到目標(biāo)數(shù)據(jù)庫(kù)。IS
3、tream DDS不依賴硬件的能力,支持多種系統(tǒng)平臺(tái),具有速度快、延遲小的特點(diǎn),并能夠完成跨平臺(tái)Oracle。目標(biāo)數(shù)據(jù)庫(kù)為打開(kāi)狀態(tài),可以隨時(shí)復(fù)用。IStream DDS 適用于異構(gòu)熱容災(zāi),、數(shù)據(jù)遷移、數(shù)據(jù)實(shí)時(shí)等應(yīng)用領(lǐng)域。2. 手冊(cè)覆蓋范圍:本手冊(cè)介紹了 IStream DDS 軟件的日常維護(hù)使用方法;適用于所有 Unix/Linux 平臺(tái)下的安裝參考;適用于 oracle 9i/10G 數(shù)據(jù)庫(kù)版本;包括單實(shí)例和 RAC 模式。3. 適用對(duì)象本手冊(cè)不涉及基本的操作系統(tǒng)和數(shù)據(jù)庫(kù)知識(shí)介紹,適用于有一定 Unix/Linux 和 Oracle知識(shí)的專業(yè)工程師或 DBA。其它在查看本手冊(cè)之前,請(qǐng)先閱讀I
4、Stream DDS 軟件手冊(cè)之一軟件介紹篇、IStream DDS軟件手冊(cè)之二安裝使用篇。在軟件使用過(guò)程中,有任何疑問(wèn)或建議請(qǐng)IStream DDS技術(shù)支持。1、調(diào)整 map描述:本功能源端 map 增加、刪除的操作過(guò)程。1.1 增加 map使用前提:A、 已有的 map.cfg 文件中的map 已經(jīng)同步完畢,增量同步已經(jīng)開(kāi)始。B、新增加的 map 在系統(tǒng)中已經(jīng)存在,并且至少有一個(gè) table 存在。調(diào)整過(guò)程如下:1 、在源端編輯文件 $DDS_DATA/config/map.cfg。增加 map 對(duì)應(yīng)條目,如下例:增加 2,3,4 三個(gè)用戶級(jí)的 map ID# define the map
5、ping # Fields description#1. map_id ( must>0, if mapid<=0, means deleted ) #2. tgt_id# 3. map_type: db | user | table # 4. state stop | run | sync # 5. source object#If map_type='db', dont need#If map_type='user', It's user name, EX: user#if map_type='table', It'
6、;s user and table name, EX: user.t1 # EX# 1 1 USER STOP user1# 2 1 TABLE STOP user2.table001 #1 1 USER RUN AA2 1 USER STOP BB3 1 USER STOP CC4 1 USER STOP DD2、在目標(biāo)端編輯目標(biāo)系統(tǒng)配置文件 $DDS_DATA/config/tgt_map.cfg,增加源端新增加的 map ID 所對(duì)應(yīng)的條目3、分別重啟源端和目標(biāo)端的 dds 軟件,以便 dds 把新的配置信息讀進(jìn)內(nèi)存4、驗(yàn)證,在源端通過(guò) info map查看新增加 map 對(duì)應(yīng)關(guān)系是否:
7、5。同步新增加的 map ID:1.2 刪除 map這里的刪除 map,也是指刪除該 map 的操作。使用前提:A、 該 map 在源端$DDS_DATA/config/map.cfg 文件中已經(jīng)存在。map start id=2 map start id=3 map start id=4 tgt resume id=1idx resume tgtid=1 privilege tgtid=1$ddsplus c:8203 ldds/dds DDS> info map<MAPs OK="YES"><MAP ID="1" TgtID=
8、"1" Type="USER" STATE="RUN" SRC="AA"/><MAP ID="2" TgtID="1" Type="USER" STATE="STOP" SRC="BB"/><MAP ID="3" TgtID="1" Type="USER" STATE="STOP" SRC="CC&quo
9、t;/><MAP ID="4" TgtID="1" Type="USER" STATE="STOP" SRC="DD"/></MAPs>#MapTYPE SourceOBJ TargetOBJ #EX:#USER user1 user1_tgt #USER AA AA USER BB BB USER CC CCUSER DD DDB、該 map 已經(jīng)做完全同步。調(diào)整過(guò)程如下:1、在源端編輯文件 $DDS_DATA/config/map.cfg,刪除 map 對(duì)應(yīng)行。
10、2、在目標(biāo)端編輯目標(biāo)系統(tǒng)配置文件 $DDS_DATA/config/tgt_map.cfg,刪除 map 對(duì)應(yīng)行。3、分別重啟源端和目標(biāo)端的 dds 軟件,以便 dds 把新的配置信息讀進(jìn)內(nèi)存4、在通過(guò) info map查看刪除 map 對(duì)應(yīng)關(guān)系是否。ll2、調(diào)整目標(biāo)端描述:本功能調(diào)整目標(biāo)節(jié)點(diǎn)增加目標(biāo)節(jié)點(diǎn)、刪除目標(biāo)節(jié)點(diǎn)以及調(diào)整源端、目標(biāo)端節(jié)點(diǎn)IP 時(shí)的操作過(guò)程。2.1 增加目標(biāo)節(jié)點(diǎn)除非增加后的目標(biāo)節(jié)點(diǎn)中的對(duì)象跟原有的對(duì)象不同,否則不建議使用此功能。對(duì)于增加一個(gè)目標(biāo)節(jié)點(diǎn)后,對(duì)象同原有的對(duì)象相同的操作,建議配置完成后,重新進(jìn)行全同步。$ ddsplus -c:8203 -ldds/dds help
11、, quit, .DDS> info map Successful: NO<Targets OK="NO" MSG="NoMapping"/> DDS> quit使用前提:A、 現(xiàn)有的 map 已經(jīng)做完全同步。操作描述:1、在源端編輯目標(biāo)配置文件$DDS_DATA/config/tgt.cfg,增加相應(yīng)的目標(biāo)條目,如增加通訊地址為 192.168.1.166:8204 這個(gè) target ID調(diào)整 map.cfg 文件# define the mapping # Fields description#1. map_id ( mus
12、t>0, if mapid<=0, means deleted ) #2. tgt_id# 3. map_type: db | user | table # 4. state stop | run | sync # 5. source object#If map_type='db', dont need#If map_type='user', It's user name, EX: user#if map_type='table', It's user and table name, EX: user.t1 # EX#
13、 1 1 USER STOP user1# 2 1 TABLE STOP user2.table001 #tgtID NextSendNo NextSaveNo Communication-Param # 100TCP 192.168.1.1:8204100TCP 192.168.1.165:8204200TCP 192.168.1.166:82042、重啟源端的 dds 軟件3、在源端通過(guò) info target 查看增加 target 對(duì)象是否4、新增加的目標(biāo)節(jié)點(diǎn)上配置相應(yīng)的$DDS_DATA 和$DDS_HOME5、對(duì)新增加的 map 進(jìn)行操作6、新增加的目標(biāo)結(jié)點(diǎn)同步完成后(含索引),停
14、止 dds 進(jìn)程,修改 put 目錄下的putfile.fno,第一列為最小的 dtf 序列號(hào),第二列為最大的 dtf 序列號(hào)1。重新啟動(dòng) dds 進(jìn)程。如果兩個(gè)目標(biāo)端同步的 map 有相同部分,在后增加的 map 全同步完成后,最好將 map合并,這樣將大大降低源端的占用,如下示利:停止源端 dds更改后,如下:1 1 USER RUN AA2 1 USER RUN BB3 2 USER RUN AA4 2 USER RUN BBDDS> info target<TGTs OK="YES"><TGTID="1"TYPE=&quo
15、t;TCP"NextSendNo="0"NextSaveNo="0" Param="192.168.1.165:8204" /><TGTID="2"TYPE="TCP"NextSendNo="0"NextSaveNo="0" Param="192.168.1.166:8204" /></TGTs>1 1 USER RUN AA2 2 USER STOP BB3 2 USER STOP CC4 2
16、USER STOP DD啟動(dòng)源端 dds。2.2 刪除目標(biāo)端使用前提:A、 源端對(duì)于的 map 已經(jīng)正常。B、源端 map 同時(shí)到多個(gè)目標(biāo)端。操作過(guò)程如下:1、在 源 端 編 輯 目 標(biāo) 配 置 文 件 $DDS_DATA/config/tgt.cfg 和$DDS_DATA/config/map.cfg,刪除相應(yīng)的行。2、并重啟源端 dds 軟件即可.2.3 修改目標(biāo)端 IP使用前提:A、 源端對(duì)于的 map 已經(jīng)正常。操作過(guò)程如下:1、止源端進(jìn)程,在源端編輯配置文件$DDS_DATA/config/tgt.cfg,修改相應(yīng)的行。2、停止目標(biāo)端進(jìn)程,在目標(biāo)端編輯配置文件$DDS_DATA/co
17、nfig/tgt.cfg,修改 COMM_PARAMTCP:192.168.1.1:8204 相應(yīng)的行。2、重啟源端、目標(biāo)端 dds 軟件。2.4 修改源端 IP使用前提:1 1,2 USER RUN AA2 1,2 USER RUN BBA、 源端對(duì)于的 map 已經(jīng)正常。操作過(guò)程如下:1、停止源端進(jìn)程,修改$DDS_DATA/config/sys.cfg,修改 COMM_PARAMTCP:192.168.1.1:8203 相應(yīng)的行。2、停止目標(biāo)端進(jìn)程,在目標(biāo)端編輯配置文件$DDS_DATA/config/tgt.cfg,修改 SOURCETCP:192.168.1.1:8203 相應(yīng)的行。
18、3、并重啟源端、目標(biāo)端 dds 軟件。3、同步的性能調(diào)整描述:本功能首次同步和增量同步調(diào)整、裝載速度。3.1 首次同步的性能調(diào)整在初始化同步時(shí),可增加參數(shù) nreader 來(lái)指定初始化同步數(shù)據(jù)的并發(fā)進(jìn)程數(shù),在多cpu 系統(tǒng)中,采用多路并行數(shù)據(jù)同步能夠大幅提高初始化的速度,系統(tǒng)最大支持 16 個(gè)并發(fā)。需要將 nreader 參數(shù)的數(shù)量跟目的端$DDS_DATA/ddstart中的dds_pput 1 行數(shù)相同。使用前提:A、源端 DDS_DATA 目錄的參數(shù)配置完成,進(jìn)程正常啟動(dòng)。B、目的端 DDS_DATA 目錄的參數(shù)配置完成。IStream DDS 支持并行同步來(lái)達(dá)到增加、裝載速度的目的,下
19、面以 4 個(gè)并行為例。調(diào)整過(guò)程:1、 目的端$DDS_DATA 目錄下的 ddstart 文件中的 dds_pput 1 增加致 4 行。2、 動(dòng)目的端 ddstart。3、 源端通過(guò) ddsplus 進(jìn)行操作,比如:map start id=1 method=s nreader=4在目的端的會(huì)產(chǎn)生 his0、his1、his2、his3 四個(gè)目錄。通過(guò)目的端的 msg.log 日志可以看到有 4 個(gè)進(jìn)程在并行裝載。3.2 增量同步的性能調(diào)整增量同步過(guò)程中,若目標(biāo)端裝載過(guò)程中,出現(xiàn)了有大量的空間:cpu、內(nèi)存、io 空閑的情況,則并發(fā)裝載可提高裝載速度,從而減少同步延遲時(shí)間。對(duì)于并行裝載之間的
20、數(shù)據(jù)之間,不能出現(xiàn)依賴關(guān)系,否則將有可能會(huì)影響并行裝載的正確性,這一點(diǎn)需要并行裝載配置時(shí)不同的業(yè)務(wù)關(guān)系做相應(yīng)的調(diào)整。在增量同步時(shí),可修改目的端的$DDS_DATA/config/tgt_que.cfg 來(lái)指定初始化同步數(shù)據(jù)的并發(fā)進(jìn)程數(shù),在多 cpu 系統(tǒng)中,采用多路并行數(shù)據(jù)同步能夠大幅提高初始化的速度,系統(tǒng)最大支持8個(gè)并發(fā)。需要將$DDS_DATA/config/tgt_que.cfg 中的(第一列的)最大數(shù)量1 后的數(shù)目跟目的端$DDS_DATA/ddstart中的 dds_pput 行數(shù)相同。以下案例中,以 4 個(gè)并發(fā)為例。3.2.1 全同步之前的調(diào)整配置過(guò)程:1、源端進(jìn)程正常啟動(dòng),首次同
21、步未開(kāi)始。2、目的端 DDS_DATA/config/tgt_que.cfg 文件的參數(shù)配置完成。3、將目的端$DDS_DATA 目錄下的 ddstart 文件中的dds_pput 1 增加至 4 行4、啟動(dòng)目的端進(jìn)程。目的端 DDS_DATA/config/tgt_que.cfg 文件示例如下:# QUE# USER.TABLE#1scott.table1#1scott.table2#1scott."TableName"d#2 hs_user1 AA2 BB目的端 DDS_DATA/ddstart示例如下:#!/bin/shif "$NLS_LANGNONE&q
22、uot; = "NONE" thenecho "Error: NLS_LANG is not set." exit -1fiif "$ORACLE_HOMENONE" = "NONE" thenecho "Error: ORACLE_HOME is not set." exit -1fiSHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH LIBPATH=$ORACLE_HOME/lib:$LIBPATH LD_LIBRARY_PATH=$ORACLE_HOME/lib
23、:$LD_LIBRARY_PATHDDS_HOME=/oracle/dds_t/bin DDS_DATA=/oracle/dds_t/dtexport DDS_HOME DDS_DATA SHLIB_PATH LIBPATH LD_LIBRARY_PATH$DDS_HOME/dds_pmont if $? -eq 0 thenrm $DDS_DATA/msg.log 2>/dev/null$DDS_HOME/dds_pmsgt$DDS_HOME/dds_precvt$DDS_HOME/dds_pput$DDS_HOME/dds_pput$DDS_HOME/dds_pput$DDS_HOM
24、E/dds_pput$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput -x2 CC3 DD當(dāng)源端有增量數(shù)據(jù)產(chǎn)生時(shí),在目的端的會(huì)產(chǎn)生 put0、put1、put2、put3 四個(gè)目錄。通過(guò)目的端的 msg.log 日志可以看到有 4 個(gè)進(jìn)程在并行裝載。3.2.2 增量過(guò)程中增加并行數(shù)量的調(diào)整以 1 個(gè)裝載增加到四個(gè)并行裝載為例配置過(guò)程:1、 全同步已經(jīng)完成,目的端全部裝載完成。2、 端進(jìn)程停止3、 目的端 put0 目錄下所有的 dtf 文件
25、裝載完畢。4、 目的端 DDS_DATA/config/tgt_que.cfg 文件的參數(shù)配置完成。5、 將目的端$DDS_DATA 目錄下的 ddstart 文件中的 dds_pput 1 增加至 4 行。6、 在$DDS_DATA 目錄下創(chuàng)建 put1、put2、put3 目錄,將$DDS_DATA/put0 目錄下的putfile.fno 文件分別拷貝到 put1、put2、put3 目錄下。7、 啟動(dòng)源端、目的端進(jìn)程。通過(guò)目的端的 msg.log 日志可以看到有 4 個(gè)進(jìn)程在并行裝載。3.2.2 增量過(guò)程中減少并行數(shù)量的調(diào)整以 4 個(gè)并行裝載增加到 2 個(gè)并行裝載為例配置過(guò)程:1、 全
26、同步已經(jīng)完成,目的端全部裝載完成。2、 端進(jìn)程停止3、 目的端 put0、put1、put2、put3 目錄下所有的 dtf 文件裝載完畢。4、 目的端 DDS_DATA/config/tgt_que.cfg 文件的參數(shù)配置完成。5、 將目的端$DDS_DATA 目錄下的 ddstart 文件中的 dds_pput 1 增加至 2 行。6、 啟動(dòng)源端、目的端進(jìn)程。$DDS_HOME/dds_pput -xfi通過(guò)目的端的 msg.log 日志可以看到有 2 個(gè)進(jìn)程在并行裝載4、高可用性的配置描述:在 HA 或 RAC 模式下如何配置源端和目的端的 IStream 高可用性。這里主要進(jìn)行一些操作
27、過(guò)程的描述,具體設(shè)計(jì)到對(duì)于$DatrGrid DDS 軟件部分的操作,請(qǐng)參考手冊(cè)中的其它部分。這里不做過(guò)多的描述。4.1 源端高可用性的配置前提:A、 全同步已經(jīng)正常完成。B、增量同步正常開(kāi)始。C、源端各實(shí)例運(yùn)行在歸檔模式下。D、 運(yùn)行 IStream DDS 軟件的節(jié)點(diǎn)上可以直接另外幾個(gè)節(jié)點(diǎn)上的歸檔日志,并且各節(jié)點(diǎn) mount 歸檔目錄的 mount 點(diǎn)名稱要相同。E、目的端 IP 地址不變。F、 將$DDS_HOME 變量所指定的目錄在個(gè) oracle 實(shí)例運(yùn)行的節(jié)點(diǎn)上的安裝目錄相同。并且具有執(zhí)行權(quán)限。G、 各 oracle 節(jié)點(diǎn)上運(yùn)行 IStream DDS 軟件的操作系統(tǒng)用戶和屬主名稱
28、和 id 均相同。H、 $DDS_DATA 在單獨(dú)的 lv 上,該 lv 不再 vg00 卷組上,并且該 lv 所在的卷組可以切換到另外運(yùn)行 oracle 節(jié)點(diǎn)上,切換后,該 lv 可以自動(dòng) mount,mount 名稱要跟第一次運(yùn)行 IStream DDS 運(yùn)行的$DDS_DATA mount 點(diǎn)相同。高可用性切換過(guò)程:1、 調(diào)用$DDS_DATA/ddstop停止 IStream DDS 軟件運(yùn)行。2、 切換$DDS_DATA。3、 在切換后的$DDS_DATA 所在節(jié)點(diǎn)上 mount 另外幾個(gè)實(shí)例的歸檔目錄。4、 調(diào)用$DDS_DATA/ddstart啟動(dòng) IStream DDS 軟件。
29、4.2 目的端高可用性的配置前提:A、 全同步已經(jīng)正常完成。B、增量同步正常開(kāi)始。C、源端 IP 地址不變。D、 將$DDS_HOME 變量所指定的目錄在個(gè)oracle 實(shí)例運(yùn)行的節(jié)點(diǎn)上的安裝目錄相同。并且具有執(zhí)行權(quán)限。E、各 oracle 節(jié)點(diǎn)上運(yùn)行 IStream DDS 軟件的操作系統(tǒng)用戶和屬主名稱和 id 均相同。$DDS_DATA 在單獨(dú)的 lv 上,該 lv 不再 vg00 卷組上,并且該 lv 所在的卷組可以切換到另外運(yùn)行 oracle 節(jié)點(diǎn)上,切換后,該 lv 可以自動(dòng) mount,mount 名稱要跟第一次運(yùn)行 IStream DDS 運(yùn)行的$DDS_DATA mount 點(diǎn)
30、相同。操作過(guò)程:1、 停止源端 IStream DDS 軟件運(yùn)行。2、 更改目的端 IP。3、 啟動(dòng)源端 IStream DDS 軟件4、 目的端$DDS_DATA 目錄切換。5、 目的端使用$DDS_DATA/ddstart 啟動(dòng) IStream DDS 軟件。5、如何使目的端變?yōu)橹飨到y(tǒng)描述:這里指在源端發(fā)生后,IStream DDS 如何配合使其中的一個(gè)目的端變?yōu)橹飨到y(tǒng)。前提:A、 全同步正常結(jié)束。B、增量同步正常開(kāi)始。操作過(guò)程:1、 使 trigger 的狀態(tài)變?yōu)榭捎谩?、 所有增量的 dtf 裝載完成后,停止目的端進(jìn)程。3、 刪除目的端$DDS_DATA說(shuō)明:在IStream DDS過(guò)
31、程中,為了保持?jǐn)?shù)據(jù)的一致性,對(duì)于同步map 所包含的所有trigger的狀態(tài)是設(shè)置為 disenable 狀態(tài)的,當(dāng)目的端成為主系統(tǒng)之前,必須使相關(guān)的 trigger的狀態(tài)變?yōu)?enable 狀態(tài),否則將會(huì)使部分應(yīng)用無(wú)效。具體的操作過(guò)程請(qǐng)咨詢相關(guān)系統(tǒng)的 DBA。在此不做詳細(xì)描述。文件 dtf 對(duì)于目的端系統(tǒng)的干擾。將為了防止源端再次啟動(dòng)造成的后續(xù)產(chǎn)生的目的端的進(jìn)程停止,將$DDS_DATA 目錄刪除。6、錯(cuò)誤檢查使用前提:A、操作已經(jīng)正常進(jìn)行,增量同步正常開(kāi)始。IStream DDS 在運(yùn)行過(guò)程中,將運(yùn)行日志$DDS_DATA/msg.log 中的錯(cuò)誤信息單獨(dú)輸出到$DDS_DATA/msg.
32、err文件中,方便,具體可以通過(guò) cat、more、vi 等操作系統(tǒng)提供令進(jìn)行。在此不再詳細(xì)描述。IStream DDS 在源端和目的端的日志及其錯(cuò)誤信息文件名稱均相同。7、數(shù)據(jù)比對(duì)描述:本功能源端 map 和目標(biāo)端 map 對(duì)于的表進(jìn)行靜態(tài)數(shù)據(jù)比較的功能。使用前提:全同步正常結(jié)束,增量同步已經(jīng)開(kāi)始。最好在數(shù)據(jù)業(yè)務(wù)較少此功能操作。比對(duì)數(shù)據(jù)原理如下:1、將源端數(shù)據(jù)通過(guò) odmp 工具將所要比對(duì)的數(shù)據(jù)導(dǎo)出到所要比對(duì)的目的端主機(jī)上,具體存放在目的端的$DDS_DATA/chk0 目錄下。2、通過(guò) dds_pput 工具,將導(dǎo)入到目的端的數(shù)據(jù)同目的端的數(shù)據(jù)庫(kù)內(nèi)相關(guān)數(shù)據(jù)進(jìn)行比較,比較結(jié)果放在目的端的$D
33、DS_DATA/chk0 目錄下的 verify.txt 文件中。3、數(shù)據(jù)比對(duì)只表結(jié)構(gòu)及其內(nèi)容。具體操作過(guò)程如下:1、將所要比對(duì)的目的端的啟動(dòng)修改,例如:#!/bin/shif "$NLS_LANGNONE" = "NONE" thenecho "Error: NLS_LANG is not set." exit -1fiif "$ORACLE_HOMENONE" = "NONE" thenecho "Error: ORACLE_HOME is not set." exit
34、-1fiSHLIB_PATH=$ORACLE_HOME/lib:$SHLIB_PATH LIBPATH=$ORACLE_HOME/lib:$LIBPATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATHDDS_HOME=/oracle/dds_t/bin DDS_DATA=/oracle/dds_t/dtexport DDS_HOME DDS_DATA SHLIB_PATH LIBPATH LD_LIBRARY_PATH$DDS_HOME/dds_pmont if $? -eq 0 thenrm $DDS_DATA/msg.log 2>
35、/dev/null$DDS_HOME/dds_pmsgt$DDS_HOME/dds_precvt$DDS_HOME/dds_pput$DDS_HOME/dds_pput$DDS_HOME/dds_pput在最后一行 dds_pput -1 行后增加 dds_pput -x然后將修改好的目的端服務(wù)重新啟動(dòng)2、將源端數(shù)據(jù)導(dǎo)出到目標(biāo)端。-c 表示導(dǎo)出的目的端地址和端。 -x導(dǎo)出比對(duì)數(shù)據(jù)源。-t需要導(dǎo)出的用戶名。最后的一個(gè)參數(shù)是用于連接源端的數(shù)據(jù)庫(kù)用戶和。3、導(dǎo)出過(guò)程中,目的端將自動(dòng)進(jìn)行比較,比較結(jié)果放在目的端的$DDS_DATA/chk0目錄下的 verify.txt 文件中,如該文件中沒(méi)有 Err
36、 Verify 出現(xiàn),則表示該用戶在源端和目標(biāo)端數(shù)據(jù)一致。4、當(dāng)開(kāi)始比較時(shí),相應(yīng)的目的端的增量將自動(dòng)停止。比對(duì)完成后,在源端將增量重新啟動(dòng)。操作如下:tgt resume id=1 idx resume tgtid=1 privilege tgtid=1odmp -c192.168.1.165:8204 -x -t bb dds/dds$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput$DDS_HOM
37、E/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -1$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput -x$DDS_HOME/dds_pput -xfi5.如某張表的數(shù)據(jù)不符,則該表的 Rows not equal 條目列出該表不一致的行數(shù),以及每行在源端和目標(biāo)端的 rowid,可以在目標(biāo)端$DDS_DATA/chk0/verify.txt文件中查看錯(cuò)誤的,如下例用戶 BB 中表 AA1 有 9 行不一致:*ErrVerif
38、y:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAA(0xd9ef)->AAADQtAAEAAAYFkAAA(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAB(0x9d96)->AAADQtAAEAAAYFkAAB(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAC(0x2366)->AAADQtAAEAAAYFkAAC(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAD(0xfd22)->
39、;AAADQtAAEAAAYFkAAD(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAE(0xde34)->AAADQtAAEAAAYFkAAE(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAF(0xa61e)->AAADQtAAEAAAYFkAAF(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAG(0x6972)->AAADQtAAEAAAYFkAAG(0x0)ErrVerify:BB.AA1CRCDifferen
40、t AAADKtAAEAAAZaMAAH(0x396a)->AAADQtAAEAAAYFkAAH(0x0)ErrVerify:BB.AA1CRCDifferent AAADKtAAEAAAZaMAAI(0x32f9)->AAADQtAAEAAAYFkAAI(0x0)* Verify BB.AA1 - BB.AA1Rowsin source table: 17 Rowsin target table: 8 Rowsin sametable: 8 Rows not in source table: 0 Rows not in target table: 0 Rows not equal
41、: 9 Rowshas Other Error: 0 Counts of slot no > 256: 0*8、重新同步指定的 map 或 table8.1 重新同步指定的 map這里主要指,增量同步能夠正常進(jìn)行,由于某種,需要對(duì)部分 map 進(jìn)行重新同步的過(guò)程。使用前提:A、 全同步正常完成。B、增量同步正常進(jìn)行。C、源端、目的端進(jìn)程正常啟動(dòng)。操作過(guò)程如下:1、 查看源端的$DDS_DATA/config/map.cfg 文件中 map ID 與用戶名稱的對(duì)應(yīng)關(guān)系。比如:# define the mapping # Fields description#1. map_id ( must
42、>0, if mapid<=0, means deleted ) #2. tgt_id# 3. map_type: db | user | table # 4. state stop | run | sync # 5. source object#If map_type='db', dont need#If map_type='user', It's user name, EX: user#if map_type='table', It's user and table name, EX: user.t1 # EX#
43、1 1 USER STOP user1# 2 1 TABLE STOP user2.table0012、重新同用戶 CC,對(duì)應(yīng)的 map Id 為 3,在 ddsplus 中執(zhí)行:通過(guò)目的端的 msg.log 日志,可以查看重新同步的過(guò)程。.2 重新同步指定的 table目前本功能僅僅支持重新同步指定的 table。其它 schema 暫時(shí)未支持。使用前提:A、 全同步已經(jīng)結(jié)束B(niǎo)、增量同步正常開(kāi)始。操作過(guò)程:$cd $DDS_DATA$ddsplus c:8203 ldds/ddsDDS>map restartobj id=1 owner=AA table=t001DDS>tgt
44、resume id=1DDS>idx resume tgtid=1DDS>privilege tgtid=1map restart id=3 tgt resume id=1 idx resume tgtid=1 privilege tgtid=1#1 1 USER RUN AA2 1 USER RUN BB3 1 USER RUN CC4 1 USER RUN DDmap restart 命令必須串行執(zhí)行,同時(shí)只能執(zhí)行一個(gè) map restart。如果此時(shí)有一個(gè) map restartobj 命令正在執(zhí)行,需要等待 map restartobj 執(zhí)行完成后再執(zhí)行 map resta
45、rt。9、重新全同步描述導(dǎo)致增量無(wú)法繼續(xù)、增加新的目的節(jié)點(diǎn)(現(xiàn)有的 map 也這里主要指由于某種到新增加的目標(biāo)節(jié)點(diǎn)上)。而需要重新進(jìn)行全同步的過(guò)程。操作過(guò)程:1、 源端使用$DDS_DATA/ddstop 停止進(jìn)程。2、 源端使用$DDS_DATA/ddclean 清除緩存,rm $DDS_DATA/msg.*3、 源端修改$DDS_DATA/config/map.cfg 和 tgt.cfg 等配置文件。4、 在新增加的目標(biāo)節(jié)點(diǎn)上配置$DDS_DATA 和$DDS_HOME5、 原有目標(biāo)節(jié)點(diǎn)上需要清除的則使用$DDS_DATA/ddstop 和ddclean 清除緩存。rm$DDS_DATA/
46、msg.*6、 在相關(guān)目標(biāo)節(jié)點(diǎn)上啟動(dòng)進(jìn)程。7、操作。10、修改配置參數(shù)源端的配置參數(shù)文件是$DDS_DATA/config/sys.cfg目標(biāo)端的配置參數(shù)文件是$DDS_DATA/config/tgt_sys.cfg修改完畢后重啟相應(yīng)的 dds 軟件即可源端配置參數(shù)說(shuō)明:LOGINdds/dds登錄 Oracle 數(shù)據(jù)庫(kù)的用戶名稱及其口令,如果是 RAC 模式,則每個(gè)實(shí)例都需要登錄,之間用“: ”間隔,注意連接字的使用。dds/ddsrac1:dds/ddsrac2INTERVAL2<參數(shù)值 n>間隔時(shí)間redo log 增量數(shù)據(jù)的SZSHM4194304在源端會(huì)創(chuàng)建四個(gè)共享內(nèi)存區(qū)
47、,在各個(gè)進(jìn)程之間傳送數(shù)據(jù),此值為每一個(gè)共享內(nèi)存的大小,ByteCOMM_PARAMTCP:9001接收界面的通信參數(shù),這里為源端的 IP 及端口地址AuthStrdds/dds登錄的用戶名稱及口令LEN_LOG_BUF5242880< 可選參數(shù)> 處理 redo log 數(shù)據(jù) buffer 大小,ByteLEN_LOG_ADD0日志預(yù)處理大小,0Byte,默認(rèn)值為RedoInOCFS0< 可選參數(shù)> < 參數(shù)值 1/0> 如果 Oracle redo log在 OCFS 文件系統(tǒng)上,則必須設(shè)置該參數(shù)為1,其他情況必須為 0LogPath<n>/a
48、rch<可選參數(shù)> 歸檔目錄位置,如果數(shù)據(jù)庫(kù)為歸檔模式,則需要指定該參數(shù);如果是 RAC 模式,這需要設(shè)定一個(gè)或多個(gè)參數(shù),保證 DDS 能夠歸檔日志所有 RAC 節(jié)點(diǎn)的DML_MODERowID<可選參數(shù)> <參數(shù)值 rowid/where>記錄方式,系統(tǒng)默認(rèn)兩端的以 rowid 進(jìn)行值;where 表示以字段szLog10485760<可選參數(shù)> IStream DDS 日志大小,Byte,系統(tǒng)默認(rèn) 100M 為上限,達(dá)參數(shù)名參數(shù)值參數(shù)說(shuō)明到上限,舊日志自動(dòng)歸檔到當(dāng)前目錄,并啟用新的日志文件Sequence1<可選參數(shù)><參數(shù)
49、值1/0> 參數(shù)值1 表示Sequence 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)則處理 Sequence 對(duì)象Procedure1<可選參數(shù)><參數(shù)值1/0> 參數(shù)值1 表示Procedure/Function/Package/Package body 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)則處理以上對(duì)象View1<可選參數(shù)><參數(shù)值1/0> 參數(shù)值1 表示view 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)則處理 view 對(duì)象Synonym1<可選參數(shù)><參數(shù)值1/0> 參數(shù)值1 表示synonym 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)
50、則處理 synonym 對(duì)象Index1<可選參數(shù)><參數(shù)值1/0> 參數(shù)值1 表示index 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)則處理 index 對(duì)象Trigger1<可選參數(shù)><參數(shù)值1/0> 參數(shù)值1 表示trigger 對(duì)象,參數(shù)值 0 或不設(shè)置該參數(shù)則處理 trigger 對(duì)象目標(biāo)端配置參數(shù)說(shuō)明:LOGINdds/dds登錄 Oracle 數(shù)據(jù)庫(kù)的用戶名稱及其口令,目標(biāo)端僅對(duì)應(yīng)一個(gè)安裝實(shí)例,RAC 模式也是如此DELAY0裝載延遲時(shí)間COMM_PARAMTCP:9002接收界面的通信參數(shù),這里為目標(biāo)端的 IP 及端口地址SOURCETC
51、P:192.168.1.11:900通信參數(shù),用于從源端獲取參數(shù)名參數(shù)值參數(shù)說(shuō)明1信息,這里為源端的IP 及端口地址PACKBAK0參數(shù)值 1 表示裝載后,保存緩存文件,并以.bak 作為擴(kuò)展名;參數(shù)值 0 表示丟棄緩存文件,緩存文件可以用來(lái)做操作分析AuthStrdds/dds登錄的用戶名稱及口令RM_BLK_CNT128Rowmap 地址在共享內(nèi)存中的緩沖塊數(shù),缺省值 128ReserveTableCNT50最大預(yù)處理表數(shù)量,缺省值 50szLog10485760<可選參數(shù)> IStream DDS 日志大小,Byte,系統(tǒng)默認(rèn) 100M 為上限,達(dá)到上限,舊日志自動(dòng)歸檔到當(dāng)前
52、目錄,并啟用新的日志文件DML_MODERowID<參數(shù)值 rowid/where>方式,系統(tǒng)默認(rèn)兩端的以rowid 進(jìn)行段值;where 表示以字dbfInASM0目 標(biāo) 端 如 果 使 用 Oracle ASM,這需要此參數(shù)設(shè)置為 1,否則設(shè)置為 0。diff_endian0源端和目標(biāo)端的 cpu 字節(jié)編碼順序不同,則需要設(shè)置此參數(shù)。(詳見(jiàn)表后的注解)dds_lobdir/templv/lobdir設(shè)置裝載 lob 類型所需要的臨時(shí)目錄。11、不支持的 ddl 處理方式描述:當(dāng)增量過(guò)程中出現(xiàn)部分 ddl 無(wú)法裝載時(shí),目標(biāo)端的 msg.log該 dtf 文件反復(fù)出現(xiàn) retry
53、時(shí),使用此功能。操作描述如下:以 1051.dtf 為例。內(nèi)容為 truncate(truncate 已經(jīng)支持,在此只是做一個(gè)示例)$cd $DDS_DATA/put0$ vshow -6 1051.dtf- 1051.dtf.dtfbash-2.05$ ls -ltotal 32-rw-r-r-1 oracle10root59 Mar1 15:42 00000_52-rw-r-r-1 oracle10root29 Mar1 15:42 00001_A3-rw-r-r-1 oracle10root23 Mar1 15:42 00002_54-rw-1 oracle10root111 Mar1
54、15:42 1051.dtf$ vshow -3 00*00000_52-BEGIN WORK; SCN:0xfeb09a Time:2007/03/01 02:41:53 OracleVer:16986956800001_A3TRUNCATE TABLE "T1"."DDS_T003"00002_54COMMIT; -SCN:0xfeb0aa Time:2007/03/01 02:41:53 Session:121.21$ cat 00000_52 00002_54 >1051.dtf這樣操作的目的就是裝載時(shí)對(duì)于的 ddl 操作,使裝載能夠繼續(xù),當(dāng)您遇到類試的問(wèn)題時(shí),請(qǐng)IStream DDS 技術(shù)支持。12、出現(xiàn) dml 錯(cuò)誤情況的處理當(dāng)出現(xiàn) ora
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- “春瓶”名稱的釋義及其原始功能探究
- 新媒體裝置交互-洞察及研究
- 培訓(xùn)機(jī)構(gòu)績(jī)效管理辦法
- 公益放映預(yù)算管理辦法
- 隱私保護(hù)成本效益-洞察及研究
- 社會(huì)治理:近二十年國(guó)內(nèi)社會(huì)治理創(chuàng)新研究
- 2025版生產(chǎn)安全事故應(yīng)急預(yù)案5匯編
- 檔案耗材供應(yīng)管理辦法
- 構(gòu)成一般事故的指標(biāo)是
- 航空應(yīng)急救援體系
- 2025至2030中國(guó)直聯(lián)式真空泵行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展報(bào)告
- 2025至2030中國(guó)無(wú)源光分路器行業(yè)發(fā)展趨勢(shì)分析與未來(lái)投資戰(zhàn)略咨詢研究報(bào)告
- 痛風(fēng)治療與護(hù)理課件
- T/CCBD 19-2022品牌餐廳評(píng)價(jià)規(guī)范
- 河南省南陽(yáng)市內(nèi)鄉(xiāng)縣2025屆數(shù)學(xué)七下期末調(diào)研試題含解析
- 校際結(jié)對(duì)幫扶協(xié)議書
- 第四版(2025)國(guó)際壓力性損傷潰瘍預(yù)防和治療臨床指南解讀
- 企業(yè)電工面試題及答案
- 倉(cāng)庫(kù)與生產(chǎn)線的有效對(duì)接計(jì)劃
- 《心律失常患者的護(hù)理》課件
- 2025江蘇省惠隆資產(chǎn)管理限公司招聘30人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
評(píng)論
0/150
提交評(píng)論