Notes/Domino 複製機制的基石是 Replica ID(複製體識別碼)。只有擁有相同 Replica ID 的兩個資料庫副本,才能進行複製同步。這與傳統檔案複製或 SQL 複製機制截然不同——它是基於資料庫層級的邏輯同步,而非檔案層級覆寫。
透過 File > Replication > New Replica 或管理員建立副本時,可配置:
| 選項 | 說明 | 典型用途 |
|---|---|---|
| 複製整個資料庫 | 完整同步所有文件、設計、ACL | 備份、叢集、離線使用者完整副本 |
| 使用選擇公式 | SELECT ... 公式過濾文件(如 Form="Invoice" & Status="Open") | 行動用戶僅同步待辦單據、部門資料分割 |
| 複製設計元素 | 表單、視圖、代理程式、腳本庫等設計變更 | 開發/測試/正式環境設計同步 |
| 複製 ACL | 存取控制清單(角色、使用者權限) | 權限變更同步至所有副本 |
| 複製刪除標記 | 同步文件刪除動作(Deletion Stubs) | 確保刪除動作傳播,避免「殭屍文件」復活 |
雙向/多向自動複製需在 Domino Directory (names.nsf) 建立連接文件:
names.nsf > Configuration > Connections,新增連接文件Pull(拉取)、Push(推送)、Pull-Push(雙向)mail\*.nsf, apps\crm.nsf)關鍵 ACL 設定:雙方伺服器名稱(或其所在的伺服器群組)必須加入目標資料庫 ACL,且至少具備 Editor 權限並勾選 Replicate or Copy Documents,否則複製會因權限不足失敗。
若兩資料庫內容相同但 Replica ID 不同(如分別從範本繼承、或手動複製檔案),無法直接複製。解決方案:
NSFDbReplicate 等低階 API 強制同步(複雜、需開發能力)| 現象 | 可能原因 | 檢查方向 |
|---|---|---|
| 複製歷程顯示「No documents replicated」 | 選擇公式過濾所有文件 / 雙方資料已同步 | 檢查選擇公式、比對文件修改時間 |
| 「Access denied」或「Insufficient access」 | 伺服器名稱未在 ACL / 權限不足 | 檢查 ACL、確認伺服器群組成員資格 |
| 設計元素未同步 | 未勾選「複製設計」/ 簽署者權限問題 | 啟用設計複製、確認簽署者 ID 有效 |
| 刪除的文件在另一端復活 | 未勾選「複製刪除標記」/ 刪除標記已清除 | 啟用刪除標記複製、調整清除間隔 |