实施例: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中校验身份证号合法性(真伪),获取出生日期、年龄、性别、籍贯

    开发过程中有用的身份证号的业务场景,那么校验身份证的合法性就很重要了,另外还有通过身份证获取出生日期.年龄.性别.籍贯等信息, 下面是本人在开发中用到的关于校验身份证真伪的工具类,可以直接拿来使用,非 ...

  2. 个人项目 源程序特征统计程序(C++)

    零.GitHub地址 https://github.com/King-Authur/Word-count 一.项目的相关要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这 ...

  3. Shell编程—图形化脚本

    1创建文本菜单 1.1普通的文本菜单 $ cat menu1 #!/bin/bash # simple script menu function diskspace { clear df -k } f ...

  4. Welcome To CUG_YZL's cnblogs

    Welcome To CUG_YZL's cnblogs  My name is YZL, studied in China University of Geosciences Wuhan now.W ...

  5. 接口测试中GET方法的获取

    今天在这里给大家介绍一下get方法,其实这些方法大家可以看一下源码里面的介绍只需要在代码中输入: import requests help(requests) 就可以看到带有示例的解释: 现在我们来完 ...

  6. 力扣Leetcode 200. 岛屿数量

    岛屿数量 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量. 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成. 此外,你可以假设该网 ...

  7. 终于有架构师用401页PDF+194张图表把设计模式讲明白了

    十几年来,IT 界也发生了翻天覆地的变化,各种开源框架层出不穷,机器学习大兴其道.但是,在面向对象编程中,设计模式的重要性却不曾改变.与以前一样,在大规模的企业系统开发中,Java和C#仍处于主导地位 ...

  8. Python采集CSDN博客排行榜数据

    文章目录 前言 网络爬虫 搜索引擎 爬虫应用 谨防违法 爬虫实战 网页分析 编写代码 运行效果 反爬技术 前言 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知 ...

  9. Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!

    文章目录 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我给大家 ...

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

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