導航:首頁 > 編程大全 > oralce兩個資料庫

oralce兩個資料庫

發布時間:2023-08-16 03:19:50

❶ 兩個oracle資料庫之間的數據同步

首先在ORACLE_B上做dblink連接ORACLE_A,然後做個
存儲過程
,大致如下:找到table_db
主鍵
,select
主鍵
from
table_db@dblink
minus
select
table_db
from
table_db找到差異數據,然後插入到oracle_b,再寫個job.定時執行這個存儲過程

❷ 如何實現oracle兩個資料庫之間的同步

為方便完成指定數據表的同步操作,可以採用dblink與merge結合的方法完成。
操作環境:
此資料庫伺服器ip為192.168.196.76,有center與branch兩個庫,一般需要將center的表數據同步到branch,center為源庫,branch為目標庫,具體步驟如下:
1.在源庫創建到目標庫的dblink
create
database
link
branch
--輸入所要創建dblink的名稱,自定義
connect
to
dbuser
identified
by
「password
--設置連接遠程資料庫的用戶名和密碼
using
'192.168.196.76/branch';
--指定目標資料庫的連接方式,可用tns名稱
在創建dblink時,要注意,有時候可能會報用戶名和密碼錯誤,但實際上我們所輸入的賬戶信息是正確的,此時就注意將密碼的大小寫按伺服器上所設置的輸入,並在賬號密碼前號加上雙引號(伺服器版本不同造成的)。
2.成功後驗證dblink
select
*
from
tb_bd_action@branch;
--查詢創建好的brach庫
正常情況下,如果創建dblink成功,可採用該方式訪問到遠程資料庫的表.
3.通過merge語句完成表數據同步
此例中需要將center庫中的tb_sys_sqlscripe表同步到branch,簡單的語法如下:
merge
into
tb_sys_sqlscripe@branch
b
using
tb_sys_sqlscripe
c
on
(b.pk=c.pk)
--從center將表merge到branch,同步的依據是兩個表的pk
when
matched
then
update
set
b.sqlscripe=c.sqlscripe,b.author=c.author
--如果pk值是相同則將指定表的值更新到目標表
when
not
matched
then
--如果pk值不一至,則將源表中的數據整條插入到目標表中
insert
values
(c.pk,
c.fk,
c.createtime,
c.lastmodifytime,c.author,c.mole,c.deleteflag,
c.scripttype);
commit;
--記得merge後必須commit,否則更改未能提交
4.為方便每次需要同步時自動完成同步工作,可將該語句做成存儲過程或腳本來定時執行或按要求手動執行,簡單說一下創建腳本的方法:
a.創建merge文件
b.先將merge語句寫完整後,存到merge.sql文件中
c.新建merge.bat文件,編輯後寫入以下內容
sqlplus
user/password@serverip/database
@"%cd%\merge.sql"

❸ oracle怎麼比較兩個資料庫

方法一、用PL/SQL DEVELOPER 來比較
1.登陸資料庫A.
2.打開TOOLS菜單下的Compare User Objects
3.點Target Session,登陸資料庫B
4.執行Compare
5.返回的是所有不同的對象以及更新語句[@more@]方法二、
1、對需要比較的表進行分析(可全表可抽樣,自選),否則統計信息不準;
2、通過dba_tab_col_statistics表的column_name欄位進行比較
select tz.table_name ,tz.column_name from dba_tab_col_statistics tz
WHERE tz.owner = 'BSS' AND TZ.TABLE_NAME LIKE 'BSS_%'
and (TZ.TABLE_NAME ,TZ.COLUMN_NAME) not in(
select TZT.TABLE_NAME ,TZT.COLUMN_NAME
from dba_tab_col_statistics@tz_bsstzt tzt
WHERE tzt.owner = 'BSS' AND TZT.TABLE_NAME LIKE 'BSS_%')

❹ 兩個oracle資料庫之間怎麼插入表數據,已建立dblink。

如果已有dblink,那麼首先要給dblink登錄的用戶賦插入許可權。
grant insert on 表名 to 用戶名;
然後在dblink連接的地方執行:
比如表名為test,欄位分別為id和name
那麼直接執行:
insert into test@遠程主機 values (1,'張三');
commit;
注意:commit一定要寫,否則插入不成功。

閱讀全文

與oralce兩個資料庫相關的資料

熱點內容
excel表格文件化亂碼 瀏覽:986
win7無法打開隱藏文件 瀏覽:757
怎樣把壓縮文件變成空白文件 瀏覽:516
wokrNC和UG編程哪個好 瀏覽:487
愛奇藝隨刻文件名 瀏覽:40
wps是怎麼壓縮文件 瀏覽:986
dos配置文件名 瀏覽:582
java軟體工程師做什麼 瀏覽:897
3dmax導出ive文件 瀏覽:464
數據重復性好是什麼意思 瀏覽:166
如何查找電腦文件使用歷史記錄 瀏覽:821
linux可以運行exe的文件嗎 瀏覽:935
庫幣是哪個國家的app 瀏覽:201
大智慧internet文件夾有哪些文件 瀏覽:89
編程培訓課程哪個排名好 瀏覽:124
我的cad怎麼沒顯示文件選項卡 瀏覽:952
命令行當前是哪個資料庫 瀏覽:588
為什麼appstore打開空白 瀏覽:574
選貨車軟體什麼app最好 瀏覽:577
psv仙境傳說ace如何降級版本 瀏覽:460

友情鏈接