实施例: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. Jmeter 常用函数(21)- 详解 __char

    如果你想查看更多 Jmeter 常用函数可以在这篇文章找找哦 https://www.cnblogs.com/poloyy/p/13291704.htm 作用 根据给定的字符值转换成 Unicode ...

  2. linux下top命令详细介绍

    linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...

  3. 1 Spark概述

     第1章 Spark概述 1.1 什么是Spark Spark是一种快速.通用.可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵 ...

  4. Nginx进阶使用-负载均衡原理及配置实例

    介绍 跨多个应用程序实例的负载平衡是一种用于优化资源利用率,最大化吞吐量,减少延迟和确保容错配置的常用技术.可以将Nginx用作非常有效的HTTP负载平衡器,以将流量分配到多个应用程序服务器,并使用N ...

  5. golang rpc demo

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

  6. 牛客网PAT-练兵场-挖掘机技术哪家强

    题目地址:https://www.nowcoder.com/pat/6/problem/4058 题解:用数组下标当学校编号.输入一次数据的时候,直接在相应数组下标位置累加内容,同时更新最大的总分的学 ...

  7. Java多线程_ThreadLocal

    用法:ThreadLocal用于保存某个线程共享变量:对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量. ThreadL ...

  8. Sign in with Apple 流程总结

    流程图 相关说明 UserId 与用户的 Apple Id 一一对应.在同一个开发帐号下的所有 app 里,获取到的值都一样. IdentityToken identityToken 是一个 Json ...

  9. CentOS7(Linux)源码安装Redis

    介绍 项目中经常需要用到Redis做缓存数据库,可是还有小伙伴不会在Linux上安装Redis,毕竟我们开发的项目都是要在服务器上运行的,今天就来讲讲如何在CentOS7环境使用源码进行安装Redis ...

  10. [PyTorch 学习笔记] 3.2 卷积层

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_convolution.py 这篇文 ...