一、需求
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 定...