Shareplex搭建步骤(rman)
实施例: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)的更多相关文章
- Java Web 环境搭建步骤(超详细,包括前期安装步骤)
Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cm ...
- Linux vagrant+virtualbox环境搭建步骤
Linux vagrant+virtualbox环境搭建步骤 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用. 我们可 ...
- SSH三大框架合辑的搭建步骤
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...
- cocos2d-lua 3.5 android搭建步骤
cocos2d-lua 3.5 android搭建步骤 如何安装eclipse,jdk,android sdk,ndk这里都不说了,资料很多,而且以前用eclipse搭建cocos2d-x-c++的时 ...
- IIS HTTP文件服务器搭建步骤
利用IIS搭建HTTP文件服务器,可下载.上传(用户名验证) 1.右键网站,添加应用程序 2.物理路径,选择系统的目录配置,上一层 别名:CAPI3FileService 3.效果如下: 4.(以下步 ...
- [转]MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题)
MonkeyRunner在Windows下的Eclipse开发环境搭建步骤(兼解决网上Jython配置出错的问题) 网上有一篇shangdong_chu网友写的文章介绍如何在Eclipse上配置M ...
- mysql 主从搭建步骤
mysql 主从搭建步骤 1:主库开启master端bin-log 2:主库创建备份用户 3:主库全备 4:从库导入全备数据 5:从库修改change master to信息 6:从库slave st ...
- Hadoop集群搭建步骤
实验性操作是在虚拟机里进行的,除了搭建hadoop本身的操作之外,遇到的其它问题总结如下: 1. 虚拟机挂载windows磁盘: 添加硬件,要保证该硬件此时没有被读写访问等,因为挂载后,该磁盘在宿主机 ...
- 在Android Studio上测试运行,Unity发布成Android包的环境搭建步骤
我用的是unity5.4.3版本,jdk是1.8.0_131版本,Android-SDK是r24.4.1版本,Android-NDK是r13b版本,作者是刚开始写博客,希望对在unity摸索的人有 ...
随机推荐
- java 二分查找的注意事项
二分查找也是最简单的算法之一了.但是最近发现一般的写法会有问题. public int search(int[] nums, int target) { int left = 0; int right ...
- golang rpc demo
RPC工作流程图 1.调用客户端句柄:执行传送参数 2.调用本地系统内核发送网络消息 3.消息传送到远程主机 4.服务器句柄得到消息并取得参数 5.执行远程过程 6.执行的过程将结果返回服务器句柄 7 ...
- ondyari / FaceForensics配置指南
https://github.com/ondyari/FaceForensics 安装配置方法: $ git clone https://github.com/ondyari/FaceForensic ...
- MPI聚合函数
MPI聚合通信 MPI_Barrier int MPI_Barrier( MPI_Comm comm ); 所有在该通道的函数都执行完后,才开始其他步骤. 0进程在状态T1调用MPI_Barrier函 ...
- Qt 怎样生成带图标的exe
一.问题描述 当我们在 Windows 下用 VS 生成 exe 程序时,如果窗口程序指定了图标,那么生成的 exe 程序便是指定的图标模样. 但是,当使用 Qt Creator 编译程序却不同.即使 ...
- Micro-CMS v1 (Hacker101 CTF)
这道题一共有四个flag,初步观察可以创建或者修改发布的内容. Flag1: 首先随便创建了一个页面,创建完成后页面会直接跳转到我们所创建的页面. 初步判断网页应该是根据地址栏后的数字来查询并且显示页 ...
- idea vue文件设置tab为四个空格
1.找到vue项目中有个叫.editorconfig的文件,打开可以发现有以下配置项: 2.ctrl+alt+i看看效果(单文件) 3.IDEA中对整个项目进行代码格式化 在项目的左侧树结构中,右 ...
- Fitness - 05.06
倒计时239天 运动31分钟,共计10组,3.2公里.拉伸10分钟. 每组跑步1分钟(6.4KM/h),走路2分钟(5.8KM/h). 每组跑步1分钟的锻炼和上次比起来略显轻松,因此本次锻炼的目的主要 ...
- 微信小程序授权登录--PHP后端接口
由于之前做过公众号的一个开发,所以再开发小程序就没有那么多坑了,在这也记录一下开发过程,以方便后续进行参考. 废话不多说,直接上官方文档,任何使用第三方开发的,不看文档就是耍流氓.小程序开发文档,可以 ...
- P1082 同余方程(拓展欧几里德)
题目描述 求关于xx的同余方程 a x \equiv 1 \pmod {b}ax≡1(modb) 的最小正整数解. 输入输出格式 输入格式: 一行,包含两个正整数 a,ba,b,用一个空格隔开. 输出 ...