數據同步軟件SharePlex For Oracle搭建手冊

      網友投稿 894 2025-03-31

      目前從事Oracle DBA工作,曾從事 Oracle 數據庫開發工作,主要服務于生產制造,汽車金融等行業。


      現擁有Oracle OCP,OceanBase OBCA認證,擅長oracle數據庫運維開發,備份恢復,安裝遷移,Linux自動化運維腳本編寫等。

      前言

      什么是SharePlex?

      SharePlex是一種基于分析oracle的redo log文件,把數據改變從一個oracle數據庫復制到另外一個或多個oracle數據庫的邏輯數據復制軟件。

      SharePlex特點:

      可以復制表(全部內容、部分行、部分列)

      可以復制MV和sequence,以及DDL

      支持Blob,Clob,NClob,Long,Long RAW,udt,varray,nchar,nvarchar2,IOT,XML等不常用的數據類型

      支持redo文件存在文件系統,裸設備,ASM上

      準實時復制

      支持在不同的硬件,軟件平臺以及不同的Oracle版本之間的復制

      支持雙向復制(包括DDL)

      復制過程中檢驗數據不一致問題

      在線比對,修復數據

      事務開始時即復制到目標端

      容災切換簡單,快速

      支持Email,SNMP等方式報警

      圖形監控界面

      SharePlex架構圖:

      本次實施用RMAN進行復制:

      rman/BCV

      一、環境準備

      1 配置hosts文件

      ##源端 cat <>/etc/hosts 10.211.55.110 orcl-rpt EOF ##目標端 cat <>/etc/hosts 10.211.55.100 orcl-rac01 EOF

      2 環境變量添加

      ##源端 cat /home/oracle/.bash_profile export SP_SYS_HOST_NAME=orcl-rac01 export SP_SYS_VARDIR=/quest/vardir2300 export PATH=/quest/bin:$PATH EOF ##目標端 cat /home/oracle/.bash_profile export SP_SYS_HOST_NAME=orcl-rpt export SP_SYS_VARDIR=/quest/vardir2300 export PATH=/quest/bin:$PATH EOF

      3 源端啟動歸檔及補充日志

      --開啟歸檔模式 shutdown immediate startup mount alter database archivelog; alter database open; --開啟補充日志 alter database add supplemental log data (primary key, unique index) columns; --查看補充日志 select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI from v$database;

      4 創建splex用戶

      --源端執行 create user SPLEX2300 identified by SPLEX2300; grant dba to SPLEX2300;

      二、安裝SharePlex軟件

      1 準備安裝介質和license

      ##源端&目標端: mkdir /quest chmod -R 755 /quest chown -R oracle:oinstall /quest ##license

      2 執行Share*.tpm安裝

      3 執行ora_setup初始化

      Notes:以上步驟,如若重建SharePlex,無需操作。

      如果是重建splex,需要在啟動splex前清理splex:

      /quest/bin/ora_cleansp splex2300/splex2300

      源端目標端均執行(前提是數據庫都要啟動)

      4 啟動shareplex

      sp_cop -u2300 &

      5 源端參數修改

      ##進入sp控制臺 sp_ctrl ##設置參數 set param SP_OCT_REDUCED_KEY 2 set param SP_OPO_STOP_ON_DDL_ERR 0 set param SP_OPO_CONT_ON_ERR 1 set param SP_OCF_LOCK_WAIT_TIME 1 set param SP_OCF_THREAD_COUNT 30 set param SP_OCT_OLOG_USE_OCI 1

      6 目標端停止post

      ##進入sp控制臺 sp_ctrl ##停止同步 stop post

      7 源端配置并激活config文件

      數據同步軟件SharePlex For Oracle搭建手冊

      這里需要在源端主機配置/etc/hosts的orcl-rpt的解析,否則會激活失敗。

      ##進入sp控制臺 sp_ctrl ##查看config list config copy config ORA_config orcl_config edit config orcl_config ##以下為配置文件內容 datasource:o.mesdb2 #source tables target tables routing map expand TABLE_A.%   LUCIFER.%   orcl-rpt:q1@o.orcl expand TABLE_B.%   TEST.%   orcl-rpt:q2@o.orcl

      Notes:如若是重建splex,直接激活config即可。

      activate config orcl_config nolock

      實際操作時,不建議這一步激活,一般是rman恢復到目標端之后recover database until scn 之前激活config。

      8 大事務檢查

      select start_time from gv$transaction;

      9 數據初始化

      有備份的話可以直接恢復,然后追歸檔即可

      如果是rac恢復到單機,要注意目錄的變化set newname

      如果沒有備份,可執行以下備份腳本:

      #!/bin/sh source ~/.bash_profile backtime=`date +"20%y%m%d%H%M%S"` rman target / log=/dbbackup/logs/full_backup_$backtime.log<

      源端取一個SCN

      col current_scn format 9999999999999999 select current_scn from v$database;

      目標端恢復數據庫到指定的scn

      startup nomount; ##連接rman rman target / restore controlfile from '/dbbackup/cntrl_6428_1_6428.bak'; alter database mount; run { set newname for database to '/data/orcl/%b'; restore database; switch datafile all; }; recover database;

      (如果是ASM存放歸檔文件,cp只能一個一個歸檔拷貝,可以直接用rman備份指定時間到當前時間的歸檔,然后恢復到目標端)源端

      如果是ocfs共享,可以把源端archivelog目錄通過nfs掛載到目標端,在目標端catalog之后recover database,但是要注意nfs掛載需要注釋掉源端/etc/hosts文件中的目標端ip解析,否則無法掛載)

      backup archivelog from time "to_date('2020-9-22 00:00:00','YYYY-MM-DD hh24:mi:ss')" until time "to_date('2020-9-22 22:00:00','YYYY-MM-DD hh24:mi:ss')"; catalog start with '/dbbackup/archlog_MESDB_'; recover database until scn 63839836480;

      用RESETLOGS方式打開目標端數據庫

      alter database open resetlogs;

      目標端運行 ora_setup 使用存在的 SPLEX 用戶,不要創建新用戶(如果 shareplex 重建的話,不需要執行這一步)

      目標端運行 reconcile 指定的 scn 值是之前取的 scn 值

      ##進入sp控制臺 sp_ctrl reconcile queue q1 for o.orcl1-o.orcl scn 63839836480 reconcile queue q2 for o.orcl1-o.orcl scn 63839836480 reconcile queue q3 for o.orcl1-o.orcl scn 63839836480 reconcile queue q4 for o.orcl1-o.orcl scn 63839836480 reconcile queue q5 for o.orcl1-o.orcl scn 63839836480

      Notes:如果reconcile hang住,可以在源端執行flush o.mesdb2來清洗隊列管道,源端執行幾次flush,目標端就要執行幾次start post加1次,也可以單獨對一個隊列管道flush:flush o.orcl1 to orcl-rpt queue q1。

      目標端運行cleanup.sql來清空內部表信息

      sqlplus splex2300/splex2300 @/quest/bin/cleanup.sql

      10 目標端禁用trigger和FK、job

      --禁用trigger SELECT 'alter trigger ' || owner || '.' || trigger_name || ' disable;' from dba_triggers where owner in ('SAJET','SMT','ERP','WIQ','SJ'); --禁用約束 SELECT 'alter table '||owner||'.'||table_name||' disable constraint '||constraint_name||';' from dba_constraints where constraint_type='R' and owner in ('SAJET','SMT','ERP','WIQ','SJ'); --禁用job alter system set job_queue_processes=0;

      11 目標端啟動post

      ##進入sp控制臺 sp_ctrl ##目標端開啟同步 start post ##查看隊列運行情況 show qstatus ##查看日志 show log reverse

      至此,SharePlex已經搭建完成。

      本次分享到此結束啦~

      如果覺得文章對你有幫助,

      、、關注、評論

      ,一鍵四連支持,你的支持就是我創作最大的動力。

      Oracle 數據復制服務 DRS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:word圖片如何旋轉
      下一篇:為什么打印打不出字來了??(打印有的字打不出來)
      相關文章
      亚洲七七久久精品中文国产| 亚洲AV噜噜一区二区三区| 亚洲一区二区三区写真 | 黑人精品videos亚洲人| 亚洲午夜电影在线观看高清| 丁香亚洲综合五月天婷婷| 亚洲午夜久久久精品影院| 亚洲国产成人精品无码区花野真一| 亚洲久本草在线中文字幕| 亚洲国产精品尤物YW在线观看 | 亚洲国产精品无码久久久久久曰| 亚洲欧美中文日韩视频| 中文字幕亚洲精品资源网| 久久亚洲国产精品123区| 亚洲国产欧洲综合997久久| 亚洲国产成人无码AV在线影院| 亚洲国产精品久久久久秋霞小| 欧洲亚洲国产精华液| 精品日韩亚洲AV无码| 亚洲毛片免费视频| 亚洲AV无码久久精品色欲| 亚洲阿v天堂在线2017免费| 亚洲精品成a人在线观看☆| 色偷偷噜噜噜亚洲男人| 亚洲国产精品国产自在在线 | 亚洲乱码一二三四区国产| 亚洲AV无码专区亚洲AV伊甸园| 无码乱人伦一区二区亚洲| 亚洲熟妇无码八AV在线播放| 偷自拍亚洲视频在线观看99| 中文字幕在线观看亚洲视频| 亚洲精品在线播放视频| 亚洲日本一区二区| 亚洲人成综合在线播放| 亚洲一卡2卡3卡4卡乱码 在线| 亚洲国产日韩在线一区| 亚洲日本va一区二区三区| 亚洲AV网站在线观看| 亚洲人精品午夜射精日韩| 亚洲五月综合缴情在线观看| 亚洲一区免费观看|