濮阳杆衣贸易有限公司

主頁 > 知識(shí)庫 > Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本

Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本

熱門標(biāo)簽:南通防封外呼系統(tǒng)運(yùn)營商 淮安自動(dòng)外呼系統(tǒng)開發(fā) 宜賓外呼系統(tǒng)廠家 語音電話機(jī)器人營銷方案 修改高德地圖標(biāo)注 地圖標(biāo)注原件 百變地圖標(biāo)注 語音電話機(jī)器人缺點(diǎn) 廣州市400電話辦理
正在看的ORACLE教程是:Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本。

 Oracle數(shù)據(jù)庫開發(fā)應(yīng)用中經(jīng)常對(duì)數(shù)據(jù)庫管理員有這樣的需求,對(duì)比兩個(gè)不同實(shí)例間某模式下對(duì)象的差異或者對(duì)比兩個(gè)不同實(shí)例某模式下表定義的差異性,這在涉及到數(shù)據(jù)庫軟件的開發(fā)應(yīng)用中是經(jīng)常遇到的。一般數(shù)據(jù)庫軟件的開發(fā)都是首先在開發(fā)數(shù)據(jù)庫上進(jìn)行,開發(fā)到一定程度后,系統(tǒng)投入運(yùn)行,此時(shí)軟件處于維護(hù)階段。針對(duì)在系統(tǒng)運(yùn)行中遇到的錯(cuò)誤、bug等,還有應(yīng)用系統(tǒng)的升級(jí),經(jīng)常需要調(diào)整后臺(tái)程序,數(shù)據(jù)庫開發(fā)人員經(jīng)常遇到這樣一種尷尬的事情,維護(hù)到一定時(shí)期,開發(fā)庫和運(yùn)行庫之間出現(xiàn)了一些差異,而這些差異又是什么。還有一種情況就是如果應(yīng)用在很多地方同時(shí)使用,每次的后臺(tái)升級(jí),那些數(shù)據(jù)庫作了升級(jí),那些還沒有作升級(jí),如果沒有詳細(xì)記錄的話,也會(huì)造成我們的尷尬事情。 

  另外,如果要搭建Oracle的高級(jí)表復(fù)制環(huán)境,在規(guī)劃好了復(fù)制的架構(gòu)以及復(fù)制的表后,在正式將需要復(fù)制的表加入到復(fù)制組之前,一個(gè)重要工作就是檢查這些需要復(fù)制的表在主節(jié)點(diǎn)和主定義節(jié)點(diǎn)間的差異性。如果這些表定義間存在任何細(xì)微的差別,如某個(gè)字段在一個(gè)節(jié)點(diǎn)是允許Null,而在另一個(gè)節(jié)點(diǎn)是Not Null,在將表加入到復(fù)制組時(shí)都會(huì)出現(xiàn)這樣的錯(cuò)誤,“ORA-23309 object string.string of type string exists”,其實(shí)造成這個(gè)錯(cuò)誤的原因就是復(fù)制主定義節(jié)點(diǎn)和主節(jié)點(diǎn)之間表的定義存在某些差異,系統(tǒng)認(rèn)為是兩個(gè)不同的表,但是在兩個(gè)數(shù)據(jù)庫中具有同樣的名稱。如果需要復(fù)制的表很多,手工對(duì)比兩個(gè)節(jié)點(diǎn)復(fù)制表之間的差異是需要很大工作量,而且不一定準(zhǔn)確。 

  業(yè)界有名的數(shù)據(jù)庫軟件輔助產(chǎn)品提供商美國Embarcadero公司(www.embarcadero.com)在其全套數(shù)據(jù)庫解決方案中就相應(yīng)提供了一個(gè)叫Change Manager的產(chǎn)品,該產(chǎn)品一個(gè)很大的用途就是對(duì)比分析不同實(shí)例間的差異。Oracle公司的OEM(oracle enterprise manager)包中也相應(yīng)提供了一個(gè)工具叫做DB-Diff,也用來比較兩個(gè)數(shù)據(jù)庫間的差異。 

  其實(shí)對(duì)于普通的數(shù)據(jù)庫開發(fā)在某種程度上說根本不需要上面提到的這些工具軟件,況且這些產(chǎn)品不是隨便可以得到并且使用的。針對(duì)上面提到的這些問題,提供了兩個(gè)SQL腳本,可以輕松實(shí)現(xiàn)對(duì)比分析兩個(gè)不同數(shù)據(jù)庫實(shí)例間對(duì)象的差異以及表定義的差異。 

  一、對(duì)比兩個(gè)不同實(shí)例下某模式中對(duì)象差異 

  在運(yùn)行下面的腳本之前,必須首先創(chuàng)建當(dāng)然數(shù)據(jù)庫用戶和需要對(duì)比的兩個(gè)實(shí)例間的數(shù)據(jù)庫聯(lián)接。下面是運(yùn)行該腳本的一個(gè)例子。在SQL/PLUS下運(yùn)行該腳本,系統(tǒng)出現(xiàn)如下提示: 

  對(duì)象屬主(模式): repadmin

  第一個(gè)實(shí)例的數(shù)據(jù)庫聯(lián)接名稱 (包括 @):@ora_zs

  第一個(gè)實(shí)例的數(shù)據(jù)庫聯(lián)接名稱 (包括 @):@ora_sjjk 

[NextPage]

其中程序要求輸入對(duì)象屬主,也就是對(duì)比那個(gè)用戶,這里是repadmin用戶。然后是需要對(duì)比的實(shí)例聯(lián)接名稱,這里是ora_zs和ora_sjjk,最后給出對(duì)比報(bào)告。 

  附:PL/SQL程序腳本清單: 

二、對(duì)比兩個(gè)不同模式下表定義的差異 

  運(yùn)行方法和前面第一個(gè)腳本一樣,這里不再詳述。下面是一個(gè)運(yùn)行實(shí)例結(jié)果: 

  對(duì)象屬主(模式): db_zgxt

  第一個(gè)實(shí)例的數(shù)據(jù)庫聯(lián)接名稱 (包括 @):@ora_cx

  第一個(gè)實(shí)例的數(shù)據(jù)庫聯(lián)接名稱 (包括 @):@ora_zs 

上一頁    

您可能感興趣的文章:
  • 隨機(jī)獲取oracle數(shù)據(jù)庫中的任意一行數(shù)據(jù)(rownum)示例介紹
  • Oracle中使用Rownum分頁詳細(xì)例子
  • oracle的rownum深入解析
  • Oracle中如何把表和索引放在不同的表空間里
  • SQL數(shù)據(jù)庫與oracle數(shù)據(jù)庫鏡像有什么不同對(duì)比
  • oracle scott 解鎖步驟
  • C# Oracle數(shù)據(jù)庫操作類實(shí)例詳解
  • oracle列合并的實(shí)現(xiàn)方法
  • Oracle查詢語句中rownum與rowid的不同之處分析

標(biāo)簽:聊城 通化 南平 襄陽 嘉峪關(guān) 池州 股票投資 南平

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本》,本文關(guān)鍵詞  Oracle,不同,數(shù)據(jù)庫,間,對(duì)比,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle不同數(shù)據(jù)庫間對(duì)比分析腳本的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    山东| 荣成市| 百色市| 方山县| 克什克腾旗| 西峡县| 扬州市| 高雄市| 象州县| 塔河县| 大荔县| 云安县| 孟连| 娄底市| 高阳县| 辰溪县| 疏勒县| 昌图县| 招远市| 桐梓县| 巍山| 辽阳县| 林口县| 于都县| 德州市| 友谊县| 东城区| 长子县| 堆龙德庆县| 循化| 甘泉县| 昆明市| 旌德县| 栾城县| 遵义市| 石渠县| 锡林浩特市| 横山县| 阿克苏市| 沁水县| 宝应县|