oracle資料庫割接解決方案一

2021-08-31 06:20:51 字數 2073 閱讀 1815

一、需求

1、由於新版本上線替換舊版本、兩個版本互不相容、資料庫裡面有些表不一致,比如表名、字段等等。

2、要全部保留舊資料庫裡面的資料資訊,同時要保證資料唯一性、正確性、可靠性--完整性。

3、新版本在資料切割後可以正常執行,整個系統的功能正常、計費正確等。

二、根據需求,下面將對解決方案進行分解:

1、由於舊資料庫的編碼是gbk,而新的資料庫是utf-8,所有導資料的時候要注意有沒有產生亂碼。

先建立乙個gbk的資料庫,再建立乙個utf-8的資料庫。由於割接測試原因需要很多的建立資料庫,搞煩了,找個介面的建立資料庫方法。

安裝乙個xmamager3,註冊碼:101210-450789-147200 (建議用 xmamager)

或者安裝vnc客戶端,不過vnc前提是要在伺服器安裝服務端(這次vnc沒有彈出建立資料庫的介面來,不知道啥原因,鬱悶)

安裝好xmamager後登入linux伺服器,切換到oracle使用者。

# su - oracle

(設定介面顯示的ip位址,即自己的windows機子ip)

# export display=192.168.13.82:0

(輸入啟動資料庫建立介面命令)

#dbca

等一會後,將彈出建立資料庫的介面。

如果彈出來的資料庫介面端是亂碼,請設定一下編碼格式

#export lang=en_us.utf8

一路next,直到下面介面的時候選擇字符集編碼。

2、建立完兩個資料庫後,把舊資料庫匯入gbk編碼的資料庫。

注意:如果是通過linux命令列備份的export檔案.dmp字尾的檔案,只能通過命令列import,用pl/sql匯入報錯。

可以使用pl/sql裡面自帶的tools工具欄裡面提供的import tables和export tables備份和恢復,不過功能好像不全,

比如儲存過程、序列等就沒有備份,要手動copy指令碼執行。煩!

指令碼編碼的問題:如果是linux命令列執行指令碼,要求utf -8 無 bom編碼,如果有bom編碼將報錯。

3、由於新資料庫導舊資料庫使用的是在舊資料庫那邊建立檢視,通過檢視匯入新資料庫。

步驟分解:

在剛建好的gbk資料庫(舊)建立所有新錶那邊對應的檢視。

例如:create or replace view v_product_service(新資料庫表名) as

select "product_id"(如果新舊欄位名一樣不用啟別名),"production_service_id" as service_id(新資料庫字段) from product_detail(舊資料庫表名);

4、要匯入舊的資料庫gbk的資料到新utf-8資料庫,前提必須在utf-8資料庫那邊建立database links,如下:

-- create database link

create public database link old_tmp

connect to old_db

using '(description =

(address_list =

(address = (protocol = tcp)(host = 192.168.1.1)(port = 1521))

)(connect_data =

(server = dedicated)

(service_name = orcl)

))';

上面的配置跟pl/sql的oracle/client/network/admin/tnsnames.ora配置一樣的。

5、在新utf-8資料庫匯入時使用的語法:

insert into product_service

(product_id,service_id

) select product_id,service_id

from v_product_service

@old_tmp;

commit;

不同伺服器和資料庫:v_product_service

@old_tmp;

相同資料庫不同使用者名稱:new.v_product_service(使用者名稱。檢視名)

-------------未完待續

oracle資料庫割接解決方案一

一 需求 1 由於新版本上線替換舊版本 兩個版本互不相容 資料庫裡面有些表不一致,比如表名 字段等等。2 要全部保留舊資料庫裡面的資料資訊,同時要保證資料唯一性 正確性 可靠性 完整性。3 新版本在資料切割後可以正常執行,整個系統的功能正常 計費正確等。二 根據需求,下面將對解決方案進行分解 1 由...

oracle資料庫割接解決方案一

一 需求 1 由於新版本上線替換舊版本 兩個版本互不相容 資料庫裡面有些表不一致,比如表名 字段等等。2 要全部保留舊資料庫裡面的資料資訊,同時要保證資料唯一性 正確性 可靠性 完整性。3 新版本在資料切割後可以正常執行,整個系統的功能正常 計費正確等。二 根據需求,下面將對解決方案進行分解 1 由...

資料庫(Oracle)身份認證解決方案

資料庫是 按照資料結構來組織 儲存和管理資料的倉庫 是乙個長期儲存在計算機內 有組織 可共享 統一管理的大量資料的集合,安全級別極高!1 密碼設定簡單,非常容易被撞庫破解 2 密碼設定複雜,非常容易忘記密碼,增加網路管理員無意義工作 3 設定統一或有規律的密碼,一旦單點被破,極易引發全面危機 4 定...