欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

包含如何實(shí)現(xiàn)oracle同步的詞條

如何跨Oracle數(shù)據(jù)庫(kù)實(shí)現(xiàn)表級(jí)別的實(shí)時(shí)同步

一. 前言

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括龍山網(wǎng)站建設(shè)、龍山網(wǎng)站制作、龍山網(wǎng)頁(yè)制作以及龍山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,龍山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到龍山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

這個(gè)問(wèn)題是上一篇文章《Oracle跨數(shù)據(jù)庫(kù)實(shí)現(xiàn)定時(shí)同步指定表中的數(shù)據(jù)》中所提問(wèn)題的進(jìn)一步延伸。考慮到對(duì)數(shù)據(jù)的實(shí)時(shí)性要求比較高,設(shè)置成定時(shí)同步,有點(diǎn)不妥,需要改善升級(jí)更改為實(shí)時(shí)同步。

下面介紹到的方式,嚴(yán)格意義上說(shuō),并沒(méi)有實(shí)現(xiàn)實(shí)時(shí)同步。是通過(guò)Oracle數(shù)據(jù)庫(kù)創(chuàng)建同義詞+DBlink的方式,來(lái)建立遠(yuǎn)程映射。在查看數(shù)據(jù)時(shí),直接去遠(yuǎn)程查詢?cè)磶?kù)中的表。

而我一直關(guān)注的是如何進(jìn)行同步數(shù)據(jù),卻沒(méi)有考慮到可以建立映射。另外,還有一點(diǎn)就是需要交代,就是同步到目標(biāo)數(shù)據(jù)庫(kù)中的表,不進(jìn)行增刪改操作,只進(jìn)行查詢的操作,這也是可以使用同義詞方式解決問(wèn)題的關(guān)鍵。

這種解決思路的出現(xiàn),多虧了在CSDN問(wèn)答時(shí),熱心網(wǎng)友的回答,下面就是問(wèn)題詳情描述。

二. 問(wèn)題描述

有兩個(gè)Oracle數(shù)據(jù)庫(kù),分別布置在不同的服務(wù)器上,系統(tǒng)均為windows2003;

這里暫且說(shuō)成是一個(gè)主數(shù)據(jù)庫(kù)和從數(shù)據(jù)庫(kù):

(1) 主數(shù)據(jù)庫(kù):oracle_A;

(2) 從數(shù)據(jù)庫(kù):oracle_B;

在oracle_A中有一個(gè)表table_A與oracle_B中的表table_B結(jié)構(gòu)相同;

我是處在oracle_B,oracle_A數(shù)據(jù)庫(kù)分配給我有一個(gè)訪問(wèn)oracle_A表table_A的用戶,該用戶只擁有查詢的權(quán)限;

另外,需要說(shuō)明的一點(diǎn),就是在oracle_B處,只需對(duì)table_B表進(jìn)行查詢的操作,不進(jìn)行其他增刪改的操作。

場(chǎng)景介紹完了,我的問(wèn)題的是,如何在oracle_A中表table_A發(fā)生變化時(shí),實(shí)時(shí)更新同步到oracle_B的table_B中?

我原來(lái)的處理方式:

通過(guò)建立遠(yuǎn)程連接DBLink+JOB定時(shí)任務(wù)+存儲(chǔ)過(guò)程的方式,實(shí)現(xiàn)了定時(shí)同步更新,但不能做到實(shí)時(shí)同步。

三. 采用同義詞+DB_Link的方式結(jié)果步驟

之所以能夠選擇采用同義詞的方式,處理這個(gè)問(wèn)題。主要還是源于在問(wèn)題描述中提到一個(gè)點(diǎn),那就是我們只需要對(duì)同步后的表進(jìn)行查詢操作。這點(diǎn)是使用同義詞方式的重要要素。

下面詳細(xì)模擬一下整個(gè)實(shí)驗(yàn)測(cè)試的過(guò)程:

(1)首先在Oracle_A端創(chuàng)建一個(gè)對(duì)table_A只有查詢功能的用戶

1 創(chuàng)建用戶

sqlplus /nolog

conn /as sysdba;

create user username identified by password;

2 查看所有的用戶列表

用戶創(chuàng)建完成后,查看用戶是否創(chuàng)建成功

select * from all_users;

3授予權(quán)限

為了能夠保證能夠登陸,必須賦予如下權(quán)限

--授予username用戶創(chuàng)建session的權(quán)限,即登陸權(quán)限

grant create session to username;

--授予username用戶使用表空間的權(quán)限

grant unlimited tablespace to username;

--oracle對(duì)權(quán)限管理比較嚴(yán)謹(jǐn),普通用戶之間也是默認(rèn)不能互相訪問(wèn)的,需要互相授權(quán).

--如果scott用戶要授權(quán)給username用戶查看自己的test表的權(quán)限;

sqlplus scott/tiget@localhost:1521/orcl

--授予username用戶查看指定的權(quán)限

grant select on test to username;

--撤銷權(quán)限

基本語(yǔ)法同grant,關(guān)鍵字為revoke;

(2)驗(yàn)證用戶是否可以成功登錄,并進(jìn)行訪問(wèn)授權(quán)的表

--使用sqlplus登錄,并進(jìn)行查詢

sqlplus username/password@localhost:1521/orcl;

select * from scott.test;

注意:查詢表時(shí),務(wù)必帶上用戶名,說(shuō)明是哪個(gè)用戶下的表。

(3)創(chuàng)建遠(yuǎn)程連接DB_Link

1 創(chuàng)建遠(yuǎn)程連接 db_link

create public database link db32 connect to tianzhi_test identified by "tianzhi_test" using '192.168.56.6:1521/ORCL'

2 測(cè)試遠(yuǎn)程連接是否成功

select * from tianzhi_smart.zh_item_news@db32;

(4)在Oracle_B端創(chuàng)建同義詞

1 使用sqlplus登錄自己的用戶

sqlplus tianzhi_smart/tianzhi_smart@localhost:1521/orcl

2 創(chuàng)建同義詞

create or replace public synonym TEST1130 for scott.TEST@db32;

3 查詢測(cè)試

select * from TEST1130;

可以看到這與在Oracle_A源數(shù)據(jù)庫(kù)中查到的table_A表中的數(shù)據(jù)一樣.

注意事項(xiàng):

當(dāng)遠(yuǎn)程查詢的數(shù)據(jù)庫(kù)中包含BLOB字段時(shí),會(huì)報(bào)出如下錯(cuò)誤.

ORA-22992: 無(wú)法使用從遠(yuǎn)程表選擇的 LOB 定位器

當(dāng)出現(xiàn)這個(gè)錯(cuò)誤的時(shí)候,那是因?yàn)榭鐜?kù)連接查詢中的表中存在BLOB類型的字段,所以一定要注意,所有表中存在blob類型字段,

不能用 select * from 連接的表

不能將blob類型的字段出現(xiàn)在腳本中。

如果這些blob類型的字段一定要導(dǎo)過(guò)來(lái),可以先建立臨時(shí)表再插入本地表,方法如下.在pl/sql中執(zhí)行

第一步 建臨時(shí)表

create global temporary table foo ( X BLOB )

on commit delete rows;

第二步 插入本地表

insert into foo select blobcolumn from remoteTable@dl_remote ;

如何實(shí)現(xiàn)Oracle數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步

1.所謂的物化視圖,

2手工寫TRIGER,

3.通過(guò)ORACLE的CDC工具可以實(shí)現(xiàn)同步或者異步的表的變化。

4。關(guān)于你說(shuō)的表三和表一表二之間同步,俺沒(méi)有明白。猜測(cè)是對(duì)表一表二做ETL,然后放到表三中。只對(duì)增量進(jìn)行抽取和轉(zhuǎn)換。如果是這樣。通過(guò)上面的一二三步之一后。對(duì)增量進(jìn)行抽取和轉(zhuǎn)換。

ETL是個(gè)比較復(fù)雜也好玩的東西。多種方式可以實(shí)現(xiàn),但是相互影響較大。容易顧此失彼。比如說(shuō)管理和性能的平衡問(wèn)題就是其中之一。

求助,如何在兩個(gè)ORACLE數(shù)據(jù)庫(kù)中,同步一個(gè)結(jié)構(gòu)相同的表的數(shù)據(jù)?

最好的辦法就是用DB_LINK

加物化視圖來(lái)實(shí)現(xiàn)數(shù)據(jù)同步。

當(dāng)然還有像

ORACLE

STREAM

GLODEN

GATE來(lái)實(shí)現(xiàn)同步,不過(guò)這兩個(gè)用在這里有點(diǎn)大材小用了!

兩個(gè)一樣的oracle 數(shù)據(jù)庫(kù)怎么實(shí)現(xiàn)數(shù)據(jù)定期同步?

兩個(gè)一樣的oracle ,定期同步,說(shuō)白了就是主備用數(shù)據(jù)庫(kù)數(shù)據(jù)同步的問(wèn)題;

如果數(shù)據(jù)庫(kù)A和數(shù)據(jù)庫(kù)B是建立在兩臺(tái)獨(dú)立的數(shù)據(jù)庫(kù)服務(wù)器上,那么采用dblink方式是一種可行的方式,

第一種方式:前提是數(shù)據(jù)庫(kù)A和數(shù)據(jù)庫(kù)B本地網(wǎng)是24小時(shí)互通的同時(shí)對(duì)數(shù)據(jù)同步實(shí)時(shí)性有比較高的要求,那么可以建立DBLINK,在兩個(gè)庫(kù)都建觸發(fā)器,不管當(dāng)前在哪個(gè)庫(kù)發(fā)生數(shù)據(jù)更新的時(shí)候?qū)崟r(shí)同步數(shù)據(jù)到目標(biāo)數(shù)據(jù)庫(kù);

第二種方式:如果數(shù)據(jù)同步的實(shí)時(shí)性要求不高,則可以通過(guò)定制存儲(chǔ)過(guò)程的方式(給兩個(gè)庫(kù)的數(shù)據(jù)表加時(shí)間戳或者更新標(biāo)志,)定時(shí)同步數(shù)據(jù);

第三種方式:通過(guò)給兩個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)表加更新標(biāo)志字段,以第一種方式為主以滿足實(shí)時(shí)性的要求,以第二種方式為輔彌補(bǔ)可能存在的觸發(fā)器執(zhí)行更新未成功的情況。

以上的方案都是從數(shù)據(jù)層面所做的處理,對(duì)于數(shù)據(jù)實(shí)時(shí)同步還是會(huì)存在一定的風(fēng)險(xiǎn),那么雙機(jī)熱備應(yīng)該說(shuō)是最好的選擇了。

當(dāng)前名稱:包含如何實(shí)現(xiàn)oracle同步的詞條
當(dāng)前地址:http://chinadenli.net/article9/dsejsih.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈微信小程序動(dòng)態(tài)網(wǎng)站搜索引擎優(yōu)化靜態(tài)網(wǎng)站網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營(yíng)