以下教學文章來源:http://www.dotblogs.com.tw/jamesbi/archive/2010/02/11/13643.aspx
今天我們要介紹的主題是如何透過SQL Server 2005 /2008 Management Studio 設定Oracle Transactional Replication (交易式複寫)
在介紹前跟各位說明我們將要進行的方式及範例
A.情境:
因小小公司需要降低IT Cost 及分散使用者查詢降低AP的DB負擔以提升效率.並且需要即時更新資料供使用者查詢.
依據上面的情境說明我們可以瞭解.其實效能與即時的資料轉送及查詢都是我們想要看到的.因此我們可以透過SQL Server Oracle Transactional Replication (交易式複寫)達成.我們的目標.
B.進行方式為
Oracle 為AP來源端資料庫
SQL Server 2005/2008為目地資料倉儲中心
C.使用範例為
Oracle 的SYSTEM測試資料庫
SQL Server 2005/2008的AdventureWorksDB
在進行Oracle Transactional Replication 之前我們需要準備幾件很重要的事.
1.安裝Oracle Client for windows
2.設定Oracle Client 服務
3.設定Oracle Replication 帳號及權限.
(1)首先安裝Oracle Client
請注意安裝Oracle Client 時要注意幾件事.
A.SQL Server 是哪一種位元版本.32位元請安裝32位元版本Client,64位元的請安裝64位元Client.
B.Oracle Client 請使用比Oracle DB相同或更高版本.
C.若Oracle 為11G ,SQL Server 2008 請更新到SP1.若無法更新者最少要更新到CU2
原因為下列問題:
http://support.microsoft.com/kb/958555/
當 您嘗試新增文件到出版為發行者在 SQL Server 2008 中使用的 Oracle 資料庫] 下 11g 式資料庫的 「 FIX: 」 錯誤訊息: 「 條件約束欄 '
(2)安裝Client 為Runtime (9 i 舊版本會有這個Runtime 選項,10 G之後請安裝全部.找不到細項.希望有心人事提供)
(2)設定本機連接Oracle 服務名稱
(3)選擇TCP/IP
(4)設定來源ORACLE IP位置
(5)設定Oracle來源服務名稱
(6)測試Oracle 服務是否可用
(7)設定Oracle Replication 帳號權限.
在SQL Server 2005/2008的DB的安裝目錄中有OracleAdmin.sql.請用SQL Plus 執行此SQL Script
2005: C:\ Program Files\Microsoft SQL Server\
2008: C:\ Program Files\Microsoft SQL Server\
(8)附與Replication帳號執行SELECT權限
(9)開啟SQL Server Management Sutdio 點選本機發行集
(10) 在本機發行集中按滑鼠右鍵新增Oracle 發行集
(11)選擇下一步
(12)設定本機SQL為散發者
(13)設定SQL Server Agent 為自動啟動(因為我們要即時處理最好將Agent 設定自動以免SQL Server 因為重新開機而沒自動處理)
(14)設定快照資料夾路徑.
(因Transactional Replication需要透過快照集來同步資料因此必須有快照的存放路徑)
(15)加入Oracle 發行者
(16)提示要將本機設為散發者.請選Yes
處理設定散發者
(17)設定散發者屬性 加入Oracle 發行者
管理連結密碼很重要是負責發行者與訂閱者的連結密碼.請一定要設定
加入Oracle 發行者
(18)輸入Replication 發行者Oracle Replication 帳號密碼
(19)確認發行者後下一步
(20)設定發行集方式為交易式發行集
(21)選擇欲發行的資料表
(22)設定轉換表格的資料型態
很重要因為格式不對Replication會不成功.如果有中文字建議目地端設為nvarchar
(23)設定篩選資料表的資料列(有需要才設定)
(24)快照集代理程式設定.請設定立即建立快照集
(25)設定快照代理執行程式帳號(Windows)
(26)建立發行集
(27)完成發行集建立
(28)啟用複寫監視器.監視複寫情況
(29)加入發行者
(30)加入Oracle 發行者
(31)確認監測發行者
監測發行情況
完成快照發行(此部驟一定要完成)
(32)設定快照資料夾共用權限(如果使用發行者的帳號不是Administrator請記得設定.
設定讀取權限
(33)設定發行集存取權限
(34)新增訂閱.在本發行集上的Oracle Replication發行集上按滑鼠右鍵.新增訂閱
(36)選擇散發者在本機所有代理程式
(37)加入SQL Server訂閱者
(38)使用Windows 驗證登入SQL
(39)設定訂閱資料庫為發行者資料庫
(40)設定訂閱者的連接帳號
(41)設定訂閱者的執行window 帳號
(42)設定同步排程方式為連續執行
(43)設定初始化訂閱-立即
(44)完成訂閱