共用方式為


如何:從 Oracle 資料庫建立發行集 (複寫 Transact-SQL 程式設計)

當 Oracle 資料庫已經設定為發行者之後,您可以使用系統預存程序來建立交易式或快照式發行集,就像是從 MicrosoftSQL Server 發行者建立一樣。

建立 Oracle 發行集

  1. 將 Oracle 資料庫設定為發行者。如需詳細資訊,請參閱<設定 Oracle 發行者>。

  2. 如果遠端散發者不存在,請設定遠端散發者。如需詳細資訊,請參閱<如何:設定發行和散發 (複寫 Transact-SQL 程式設計)>。

  3. 在 Oracle 發行者將使用的遠端散發者上,執行 sp_adddistpublisher (Transact-SQL)。將 @publisher 指定為 Oracle 資料庫執行個體的 Transparent Network Substrate (TNS) 名稱、將 @publisher_type 指定為 ORACLE 或 ORACLE GATEWAY 的值。指定從 Oracle 發行者連接到遠端 SQL Server 散發者時,所使用的安全性模式,如以下其中一個:

    • 若要使用預設值 Oracle 標準驗證,請將 @security_mode 指定為 0 的值、將 @login 指定為組態設定期間在 Oracle 發行者上建立之複寫管理使用者結構描述的登入,並將 @password 指定為密碼。

      安全性注意事項安全性注意事項

      可能的話,系統會在執行階段提示使用者輸入安全性認證。如果您將認證儲存在指令碼檔案中,必須保護該檔案免於未經授權的存取。

    • 若要使用「Windows 驗證」,請將 @security_mode 指定為 1 的值。

      [!附註]

      若要使用「Windows 驗證」,必須使用 Windows 認證將 Oracle 伺服器設定為允許連接 (如需詳細資訊,請參閱 Oracle 文件集);並且您目前的登入帳戶必須與您為複寫管理使用者結構描述指定的 Microsoft Windows 帳戶相同。

  4. 針對發行集資料庫建立記錄讀取器代理程式作業。

    • 如果您不確定發行的資料庫是否有記錄讀取器代理程式作業存在,請在散發資料庫上由 Oracle 發行者使用的散發者上執行 sp_helplogreader_agent (Transact-SQL)。針對 @publisher 指定「Oracle 發行者」的名稱。如果結果集是空的,就必須建立記錄讀取器代理程式作業。

    • 如果記錄讀取器代理程式作業已存在發行集資料庫中,請繼續進行步驟 5。

    • 在散發資料庫上由 Oracle 發行者使用的散發者上,執行 sp_addlogreader_agent (Transact-SQL)。針對 @job_login@job_password 指定此代理程式執行時所用的 Windows 認證。

      [!附註]

      @job_login 參數必須符合步驟 3 中所提供的登入。請勿提供發行者安全性資訊。記錄讀取器代理程式會使用步驟 3 中所提供的安全性資訊連接到發行者。

  5. 在散發資料庫的散發者上,執行 sp_addpublication (Transact-SQL) 來建立發行集。如需詳細資訊,請參閱<如何:建立發行集 (複寫 Transact-SQL 程式設計)>。

  6. 在散發資料庫的散發者上,執行 sp_addpublication_snapshot (Transact-SQL)。針對 @publication 指定步驟 4 中所使用的發行集名稱,以及針對 @job_name@password 指定快照集代理程式執行時所使用的 Windows 認證。若要在連接到發行者時使用「Oracle 標準驗證」,您也必須針對 @publisher_security_mode 指定 0 的值,以及針對 @publisher_login@publisher_password 指定 Oracle 登入資訊。這麼做會為發行集建立快照集代理程式作業。