999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

分布式數據庫中數據交換的實現

2018-01-11 11:05:31劉繼敏
數字技術與應用 2017年11期

劉繼敏

摘要:本文以某個商品業務數據庫和驗證平臺數據庫的分布式應用為例,介紹Oracle分布式數據庫如何通過編寫數據庫后臺運行的腳本來實現同構和異構數據庫之間的數據交換。

關鍵詞:分布式數據庫;ORACLE;數據驗證平臺;同構分布式數據庫;異構分布式數據庫

中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2017)11-0073-02

1 分布式數據庫連接的概念

ORACLE支持同構或異構的分布式數據庫環境。ORACLE允許應用程序連接到一個本地數據庫后,可以同時訪問本地和多個遠程數據庫中的數據,這個本地數據庫和多個遠程數據庫則構成了分布式數據庫環境。分布式數據庫連接DBLINK是分布式數據庫環境的核心概念,它指代兩個物理數據庫之間的連接,即分布式數據庫環境中本地數據庫與遠程數據庫之間的連接。在建立完成本地數據庫到遠程數據庫之間的DBLINK后,應用程序可以透明地訪問遠程數據庫中的表數據,無需關心本地數據庫與遠程數據庫在物理上是如何連接的。

同構的分布式數據庫環境是指所有的數據庫都是ORACLE數據庫,而異構的分布式環境則是指至少有一個數據庫為非ORACLE數據庫。對于同構環境來說,可以簡單地建立ORACLE數據庫到ORACLE數據庫的DBLINK即可實現。對于異構環境來說,ORACLE使用透明網關組件來實現對非ORALCE數據庫的訪問。透明網關是一個代理程序Agent(通過ODBC/OLEDB驅動),通過它來連接到非ORACLE數據庫,同時創建一個ORACLE實例。ORACLE數據庫通過DBLINK連接到透明網關創建的ORACLE實例,該實例通過代理程序Agent連接到非ORACLE數據庫,這樣就完成了從ORACLE到非ORACLE數據庫的連接。

2 數據驗證平臺數據庫系統說明

數據驗證平臺的開發目是為了實現監督部門管理的企業相關認證信息與總局主干系統的及時數據交換。數據驗證平臺作為一個中間數據提取和轉換平臺,可以避免業務系統數據與總局數據之間的直接交換,屏蔽雙方數據交換中的格式等問題,及時了解對接雙方數據發送及接收的情況,保障相關業務系統與主干系統接口的穩定運行。

數據驗證平臺是完全以ORACLE數據庫為中心進行架構設計的,通過編寫數據庫后臺運行的PL/SQL腳本來實現數據接收、數據準備、數據打包和數據發送功能。數據驗證平臺數據庫需要能夠直接連接到多個業務系統的數據庫來讀取證書和產品數據。數據驗證平臺數據庫共計要連接4個ORACLE數據庫和2個DB2數據庫。

3 數據驗證平臺數據庫的設計方案

3.1 創建證書歷史變更表和產品歷史變更表

對于每一個業務系統,在業務系統證書表所屬的數據庫用戶下,創建數據驗證平臺需要訪問的證書歷史變更表和產品歷史變更表。無論業務系統數據庫是ORACLE還是DB2,分別有對應的證書變更歷史表和產品歷史變更表的建表腳本。在業務系統中創建觸發器,無論是簽發新證書(insert操作)還是變更證書(update操作),該觸發器能夠將最新證書和產品數據插入到證書歷史變更表和產品歷史變更表中。

3.2 創建ECIQINTF用戶

對于每一個業務系統數據庫,都要創建一個ECIQINTF數據庫用戶,該用戶用于建立從數據驗證平臺數據庫到業務系統數據庫的分布式數據庫連接,數據驗證平臺并不使用業務系統原有的數據庫用戶。為什么不使用數據庫原有的用戶,而是單獨創建一個用戶和相關表來讀取業務系統的數據呢?其主要目的就在于要進行徹底隔離,從業務系統的數據庫用戶,到表名稱、表結構、字段名稱、字段數據類型都要與業務系統的原有內容進行隔離。這樣可以保證即使業務系統的內容(用戶、表名稱、表結構、字段名稱、字段數據類型)發生變化,但并不會影響用戶ECIQINTF的內容。

在業務系統數據庫中執行如下操作,以出口系統數據庫為例。

(1)在出口系統數據庫中創建一個針對平臺系統數據庫的用戶ECIQINTF,密碼也為ECIQINTF。

CREATE USER ECIQINTF IDENTIFIED BY ECIQINTF;

(2)給該用戶分配連接和使用資源的權限;

GRANT CONNECT,RESOURCE TO ECIQINTF。

(3)授予證書歷史變更表和產品歷史變更表的SELECT權限給ECIQINTF用戶,使ECIQINTF用戶能夠查詢變更表數據。EFPT為當前出口系統數據庫中的用戶,把該用戶所擁有的證書變更歷史表ECIQ_INTF_CERT_CHANGE_HIS中的查看權限賦予給ECIQINTF;同理,把EFPT用戶的產品變化歷史表ECIQ_INTF_PROD_CHANGE_HIS的查看權限也賦予給用戶ECIQINTF。

GRANT SELECT ON EFPE.ECIQ_INTF_CERT_CHANGE_HIS TO ECIQINTF;

GRANT SELECT ON EFPE.ECIQ_INTF_PROD_CHANGE_HIS TO ECIQINTF;

(4)分配權限后,此時ECIQINTF可以使用如下SQL語句訪問EFPE下的變更表。

SELECT * FROM EFPE.ECIQ_INTF_CERT_CHANGE_HIS;

(5)創建同義詞,將用戶EFPE 下的表ECIQ_INTF_CERT_CHANGE_HIS 映射到ECIQINTF下的表ECIQ_INTF_CERT_CHANGE_HIS_05;同理,也對用戶EFPE 下的表ECIQ_INTF_PROD_CHANGE_HIS 映射到ECIQINTF下的表ECIQ_INTF_PROD_CHANGE_HIS_05endprint

CREATE SYNONYM ECIQINTF.ECIQ_INTF_CERT_CHANGE_HIS_05 FOR EFPE.ECIQ_INTF_CERT_CHANGE_HIS;

CREATE SYNONYM ECIQINTF.ECIQ_INTF_PROD_CHANGE_HIS_05 FOR EFPE.ECIQ_INTF_PROD_CHANGE_HIS;

此時,ECIQINTF可以使用如下SQL語句訪問變更表,無需指定EFPE,簡化了數據表的訪問:

SELECT * FROM ECIQ_INTF_CERT_CHANGE_HIS_05;

3.3 創建同構分布式數據庫連接

在數據驗證平臺數據庫,創建從數據驗證平臺數據庫到出口系統數據庫的分布式數據庫連接INTF_DB_05,鏈接的用戶名為ECIQINTF。業務系統數據庫的服務名稱為EFPE。

CREATE DATABASE LINK INTF_DB_05

CONNECT TO ECIQINTF IDENTIFIED BY "XXXXX" USING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.2)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = EFPE) ) )';

在數據驗證平臺可以使用如下SQL語句訪問變更表:

SELECT * FROM ECIQ_INTF_CERT_CHANGE_HIS_05@INTF_DB_05;

在數據驗證平臺數據庫,創建同義詞,進一步簡化歷史變更的數據訪問。用當前用戶INTF下的表ECIQ_INTF_CERT_CHANGE_HIS_05來映射業務系統數據庫INTF_DB_05下ECIQ_INTF_CERT_CHANGE_HIS_05表。同樣對產品表也做同樣的映射關聯。

CREATE SYNONYM INTF.ECIQ_INTF_CERT_CHANGE_HIS_05 FOR ECIQ_INTF_CERT_CHANGE_HIS_05@INTF_DB_05;

數據驗證平臺可以使用如下SQL語句訪問變更表

SELECT * FROM ECIQ_INTF_CERT_CHANGE_HIS_05;

3.4 創建異構分布式數據庫連接

到目前為止,對于使用ORACLE數據庫的業務系統來說,數據驗證平臺使用簡單的SQL語句能夠實現對業務系統的歷史變更表的訪問。但對于使用DB2數據庫的業務系統來說,需要在一臺單獨服務器(也可以是通關驗證平臺數據庫服務器)配置操作系統的ODBC數據源連接DB2數據庫,并測試連接通過,圖1。

在該服務器上安裝Oracle Database Gateway for ODBC/OLE DB,修改配置文件指向ODBC數據源名稱。

HS_FDS_TIMESTAMP_MAPPING=TIMESTAMP

HS_FDS_CONNECT_INFO=XXX(數據源名稱)

HS_FDS_TRACE_LEVEL=off

啟動該服務器上的ORACLES實例的監聽程序,等待數據驗證平臺數據庫連接。在數據驗證平臺上,與剛才連接業務系統ORAC LE數據庫一樣,創建到該服務器ORACLE實例的分布式數據庫連接。這樣,數據驗證平臺就建立起與DB2數據庫的分布式數據庫連接,可以訪問DB2數據庫中證書和產品數據。

4 結語

通過以上的數據庫腳本,可以實現通關驗證平臺下面多個數據庫的分布式連接,從而實現數據的有效傳遞。

Abstract:In this paper, a distributed application business database and verification platform database as an example, introduced the Oracle distributed database how to write database scripts run to achieve exchange between homogeneous and heterogeneous database data.

Key Words:distributed database;ORACLE;data authentication platform; homogeneous distributed database;heterogeneous distributed databaseendprint

主站蜘蛛池模板: 亚洲精品久综合蜜| 亚洲第一黄片大全| 精品国产免费第一区二区三区日韩| 一级成人欧美一区在线观看| 一级全黄毛片| 热re99久久精品国99热| 久久久受www免费人成| 久久一本精品久久久ー99| 91无码国产视频| 狠狠干综合| 黄色片中文字幕| 欧美国产日韩一区二区三区精品影视| 亚洲无限乱码| 日韩小视频网站hq| 99久久精品免费看国产电影| 999国内精品视频免费| 欧美日韩一区二区在线免费观看| 国产日韩欧美中文| 99一级毛片| 伊人网址在线| 曰AV在线无码| 久久99国产精品成人欧美| 人妻丰满熟妇AV无码区| 美美女高清毛片视频免费观看| 亚洲永久色| 40岁成熟女人牲交片免费| 国产高清在线观看91精品| 毛片a级毛片免费观看免下载| 一区二区三区国产| 国产成人AV综合久久| 亚洲国语自产一区第二页| 中文字幕色在线| 久久国产免费观看| 久久精品亚洲专区| 亚洲人成网站在线播放2019| 国产 在线视频无码| 亚洲一级色| 国产三级毛片| 亚洲成年网站在线观看| 喷潮白浆直流在线播放| 国产在线一区二区视频| 国产成人一二三| 国产精品美女自慰喷水| 欧美国产在线一区| 国内精品小视频福利网址| 午夜欧美理论2019理论| 日韩无码视频专区| 欧美a在线视频| 91系列在线观看| 高清视频一区| 97青草最新免费精品视频| 美女内射视频WWW网站午夜 | 亚洲高清在线播放| a级毛片免费看| 日本亚洲欧美在线| 波多野结衣二区| 国产激情影院| 91热爆在线| 久久伊人操| 亚洲黄网在线| 国产视频欧美| 在线亚洲精品自拍| 97超级碰碰碰碰精品| 91黄色在线观看| 久久精品亚洲热综合一区二区| 国模在线视频一区二区三区| 国产91熟女高潮一区二区| 丝袜亚洲综合| 99色亚洲国产精品11p| 福利在线不卡一区| 91精品aⅴ无码中文字字幕蜜桃| 国产精品一区二区在线播放| 91在线中文| 2021国产乱人伦在线播放| 免费A∨中文乱码专区| 成人在线天堂| 毛片在线看网站| 女人18毛片一级毛片在线| 91无码人妻精品一区二区蜜桃| 亚洲成人福利网站| 午夜欧美理论2019理论| 欧美福利在线观看|