实施例:rman/BCV

  • 环境准备

splex软件上传

源端:

#mkdir /quest
#chmod -R 755 /quest
#chown -R oracle:oinstall /quest

目标端:

#mkdir -p /quest
#chown -R oracle:oinstall /quest
#chmod -R 755 /quest

源端环境变量添加

#vi .bash_profile

export SP_SYS_HOST_NAME=thmes-rac02
export SP_SYS_VARDIR=/quest/vardir2300
export PATH=/quest/bin:$PATH

目标端环境变量添加
#vi .bash_profile

export SP_SYS_HOST_NAME=thmes-rpt
export SP_SYS_VARDIR=/quest/vardir2300
export PATH=/quest/bin:$PATH

源端启动归档及补充日志

SQL>alter database add supplemental log data (primary key, unique index) columns;
SQL>select SUPPLEMENTAL_LOG_DATA_MIN, SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI from v$database;

SPLEX2300用户准备
源端执行

SQL>create user SPLEX2300 identified by SPLEX2300;
SQL>grant dba to SPLEX2300;
  • 源端和目标端分别安装shareplex的软件

需要准备:SharePlex Version

     Customer Name

     License Key

  • 源端运行ora_setup

如果是重建splex,需要在启动splex前清理splex

源端目标端均执行(前提是数据库都要启动)

#/quest/bin/ora_cleansp splex2300/splex2300
#/quest/bin/ora_cleansp splex2300/splex2300

------------------------------------------------------------

notes:以上步骤,如若重建splex不需要。

  • 源端和目标端分别启动shareplex

#sp_cop -u2300 &

源端参数修改

sp_ctrl>set param SP_OCT_REDUCED_KEY 2
sp_ctrl>set param SP_OPO_STOP_ON_DDL_ERR 0
sp_ctrl>set param SP_OPO_CONT_ON_ERR 1
sp_ctrl>set param SP_OCF_LOCK_WAIT_TIME 1
sp_ctrl>set param SP_OCF_THREAD_COUNT 30
sp_ctrl>set param SP_OCT_OLOG_USE_OCI 1
  • 目标端停止post

#sp_ctrl
p_ctrl>stop post
  • 源端激活config文件

sp_ctrl>list config
sp_ctrl>copy config ORA_config cmmes_config
sp_ctrl>edit config cmmes_config
 datasource:o.mesdb2
#source tables target tables routing map expand SMT.%   SMT.%   thmes-rpt:q1@o.mesdb
expand ERP.%   ERP.%   thmes-rpt:q2@o.mesdb
expand WIQ.%   WIQ.%   thmes-rpt:q3@o.mesdb
expand SJ.%   SJ.%    thmes-rpt:q4@o.mesdb
expand SAJET.% SAJET.% thmes-rpt:q5@o.mesdb

notes:如若是重建splex,直接激活cofig即可。

sp_ctrl>activate config cmmes_config nolock

notes:实际操作时,不建议这一步激活,一般是rman恢复到目标端之后restore database之前激活cofig。 

  • 激活完成后, 确认下有没有激活前的大事务

SQL>select start_time from v$transaction;
SQL>select start_time from gv$transaction;(集群环境)
  • 源端执行hot backup(rman/BCV)

有备份的话可以直接恢复,然后追归档即可。

如果是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<<EOF
run{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
crosscheck backup;
crosscheck archivelog all;
sql 'alter system archive log current';
delete noprompt expired backup;
delete noprompt obsolete device type disk;
backup database format '/dbbackup/backdata_%d_%T_%U';
backup current controlfile format '/dbbackup/cntrl_%s_%p_%s';
sql 'alter system archive log current';
backup archivelog all format '/dbbackup/archlog_%d_%T_%U';
crosscheck archivelog all;
crosscheck backup;
delete noprompt obsolete device type disk;
release channel c1;
release channel c2;
}
exit;
EOF
  • 源端取一个SCN

SQL> col current_scn format 9999999999999999
SQL> select current_scn from v$database;
  • 目标端恢复数据库到指定的scn

目标端恢复控制文件

SQL>startup nomount;
rman>restore controlfile from '/dbbackup/cntrl_6428_1_6428.bak';
rman>alter database mount;
rman>recover database;(如果源端目标端数据文件目录一致,可直接恢复)
rman>run {
set newname for database to '/data/mesdb/%b';
restore database;
switch datafile all;
};
rman>catalog start with '/dbbackup/archlog_MESDB_';(可缺省定位多个归档文件)
rman>recover database until scn 63839836480;(若缺归档copy归档,catalog之后再recover即可)
  • 用RESETLOGS方式打开目标端数据库

SQL>alter database open resetlogs;
  • 目标端运行ora_setup 使用存在的SPLEX用户,不要创建新用户(如果splex重建的话,不需要执行这一步)

  • 目标端运行reconcile 指定的scn值是之前取的scn值

sp_ctrl>reconcile queue q1 for o.mesdb2-o.mesdb scn 63839836480
sp_ctrl>reconcile queue q2 for o.mesdb2-o.mesdb scn 63839836480
sp_ctrl>reconcile queue q3 for o.mesdb2-o.mesdb scn 63839836480
sp_ctrl>reconcile queue q4 for o.mesdb2-o.mesdb scn 63839836480
sp_ctrl>reconcile queue q5 for o.mesdb2-o.mesdb scn 63839836480

notes:如果reconcile hang住,可以在源端执行flush o.mesdb2来清洗队列管道,源端执行几次flush,目标端就要执行几次start post加1次,也可以单独对一个队列管道flush:flush o.mesdb2 to thmes-rpt queue q1。

  • 目标端运行cleanup.sql来清空内部表信息

#cd /quest/bin/
#sqlplus /nolog
SQL>conn splex2300/splex2300
SQL>@cleanup.sql
  • 目标端禁用trigger和FK、job

--禁用trigger
SQL>SELECT 'alter trigger ' || owner || '.' || trigger_name || ' disable;' from dba_triggers where owner in ('SAJET','SMT','ERP','WIQ','SJ');
--禁用约束
SQL>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
SQL>alter system set job_queue_processes=0;
  • 目标端启动post

sp_ctrl>start post
sp_ctrl>show
sp_ctrl>qstatus
sp_ctrl>show log reverse

 

Shareplex搭建步骤(rman)的更多相关文章

  1. Java Web 环境搭建步骤(超详细,包括前期安装步骤)

    Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cm ...

  2. Linux vagrant+virtualbox环境搭建步骤

    Linux vagrant+virtualbox环境搭建步骤 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用. 我们可 ...

  3. SSH三大框架合辑的搭建步骤

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  4. cocos2d-lua 3.5 android搭建步骤

    cocos2d-lua 3.5 android搭建步骤 如何安装eclipse,jdk,android sdk,ndk这里都不说了,资料很多,而且以前用eclipse搭建cocos2d-x-c++的时 ...

  5. IIS HTTP文件服务器搭建步骤

    利用IIS搭建HTTP文件服务器,可下载.上传(用户名验证) 1.右键网站,添加应用程序 2.物理路径,选择系统的目录配置,上一层 别名:CAPI3FileService 3.效果如下: 4.(以下步 ...

  6. [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)

    MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)   网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...

  7. mysql 主从搭建步骤

    mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...

  8. Hadoop集群搭建步骤

    实验性操作是在虚拟机里进行的,除了搭建hadoop本身的操作之外,遇到的其它问题总结如下: 1. 虚拟机挂载windows磁盘: 添加硬件,要保证该硬件此时没有被读写访问等,因为挂载后,该磁盘在宿主机 ...

  9. 在Android Studio上测试运行,Unity发布成Android包的环境搭建步骤

      我用的是unity5.4.3版本,jdk是1.8.0_131版本,Android-SDK是r24.4.1版本,Android-NDK是r13b版本,作者是刚开始写博客,希望对在unity摸索的人有 ...

随机推荐

  1. java 二分查找的注意事项

    二分查找也是最简单的算法之一了.但是最近发现一般的写法会有问题. public int search(int[] nums, int target) { int left = 0; int right ...

  2. golang rpc demo

    RPC工作流程图 1.调用客户端句柄:执行传送参数 2.调用本地系统内核发送网络消息 3.消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7 ...

  3. ondyari / FaceForensics配置指南

    https://github.com/ondyari/FaceForensics 安装配置方法: $ git clone https://github.com/ondyari/FaceForensic ...

  4. MPI聚合函数

    MPI聚合通信 MPI_Barrier int MPI_Barrier( MPI_Comm comm ); 所有在该通道的函数都执行完后,才开始其他步骤. 0进程在状态T1调用MPI_Barrier函 ...

  5. Qt 怎样生成带图标的exe

    一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt Creator 编译程序却不同.即使 ...

  6. Micro-CMS v1 (Hacker101 CTF)

    这道题一共有四个flag,初步观察可以创建或者修改发布的内容. Flag1: 首先随便创建了一个页面,创建完成后页面会直接跳转到我们所创建的页面. 初步判断网页应该是根据地址栏后的数字来查询并且显示页 ...

  7. idea vue文件设置tab为四个空格

    1.找到vue项目中有个叫.editorconfig的文件,打开可以发现有以下配置项:  2.ctrl+alt+i看看效果(单文件)  3.IDEA中对整个项目进行代码格式化 在项目的左侧树结构中,右 ...

  8. Fitness - 05.06

    倒计时239天 运动31分钟,共计10组,3.2公里.拉伸10分钟. 每组跑步1分钟(6.4KM/h),走路2分钟(5.8KM/h). 每组跑步1分钟的锻炼和上次比起来略显轻松,因此本次锻炼的目的主要 ...

  9. 微信小程序授权登录--PHP后端接口

    由于之前做过公众号的一个开发,所以再开发小程序就没有那么多坑了,在这也记录一下开发过程,以方便后续进行参考. 废话不多说,直接上官方文档,任何使用第三方开发的,不看文档就是耍流氓.小程序开发文档,可以 ...

  10. P1082 同余方程(拓展欧几里德)

    题目描述 求关于xx的同余方程 a x \equiv 1 \pmod {b}ax≡1(modb) 的最小正整数解. 输入输出格式 输入格式: 一行,包含两个正整数 a,ba,b,用一个空格隔开. 输出 ...