实施例: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. Nordic 52840-Timer定时器学习问题(一)

    今天在ble_app_blinky例程中移植定时器驱动,在编译过程中报出了两个错误,在此记录一下. 1. 在nRF_Dreivers中添加nrfx_timer.c文件 选中“nRF_Dreivers  ...

  2. Could not create an acl object: Role '16'

    解决方案: (1) 用rm命令一个一个的清除var/cache, var/page_cache, var/di, generated/文件夹下的所有文件 (2) run setup:upgradeco ...

  3. win PHP7安装oracle扩展

    环境介绍:win10.phpstudy php7.2版本 一.设置php.ini php.ini中开启相关扩展:extension=php_oci8_12c.dll.extension=php_pdo ...

  4. play ball小游戏-Alpha版本发布说明

    Alpha版本发布说明 一.功能介绍 本团队所做的微信小程序是一款小球经碰撞后最终到达目的位置通关的休闲益智类游戏.Alpha版本具有的功能大体如下: 1. 闯关模式 多达12关普通竖屏关卡.4关特殊 ...

  5. 在vmware上MBR方式安装archLinux

    进入安装盘 设置好vmware的相关选项,进入下载好的系统中,显示如下 联网 输入以下命令,后面加&使其后台运行 dhcpcd & 然后ping一下检测是否联网 ping baidu. ...

  6. anaconda3 安装pip3

    事先安装了anaconda3版本,此时想要安装pip3,需要: https://bootstrap.pypa.io/get-pip.py 打开链接,将文本存到本地,命名为get_pip.py. 然后通 ...

  7. “DNAT+云链接+CDN”加速方案,助力出海企业落地生长

    摘要:“DNAT+云链接+CDN”加速方案,真正释放技术红利,真诚助力企业出海. 随着国内互联网行业的人口红利逐渐消失,本土互联网市场竞争不断加剧,加之国家多项“走出去”政策的推动,越来越多的中国互联 ...

  8. Asp.Net Core Swagger 接口分组(支持接口一对多暴露)

    开始之前,先介绍下swagger常用方法. services.AddSwaggerGen    //添加swagger中间件 c.SwaggerDoc  //配置swagger文档,也就是右上角的下拉 ...

  9. express综合用法

    一.创建: 1.先导入express第三方文件(我设置的全局) npm i express -g 2.加载express const express = require("express&q ...

  10. php高效读取和写入

    /** * 删除非空目录里面所有文件和子目录 * @param string $dir * @return boolean */ function fn_rmdir($dir) { //先删除目录下的 ...