Oracle 10g DG 环境搭建详解
环境描述:线上招聘库在物理机上,需要上云主机,于是申请两台云主机;由于云主机变态性,分配的云主机具有很多局限性:1.没有/tmp,2.没有 swap 3. /home 目录非常小;于是申请两块云硬盘,每块500GB,用做数据盘和备份盘使用;
物理机数据库运行环境说明:软件安装、数据在/home/oracle 目录下,备份、归档放在/data/目录下;
云主机数据库环境规划: 软件安装、数据存放 /oradata2/oradata 目录,备份、归档 /oradata1/oradata
那么开始搭建环境:
1。首先备份主库:
RUN {
allocate channel c1 type disk;
allocate channel c2 type disk;
sql 'alter system archive log current';
Backup as compress format '' database;
release channel c2;
release channel c1;
}
2.主库创建备库控制文件:
Sqlplus / as sysdba <<EOF
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/standby.ctl';
Create pfile='tmp/initora.ora' from spfile;
EOF
3.拷贝备份文件,以及控制文件,参数文件,密码文件到备库
4.修改参数文件相应参数:
4.1 db_uniq_name,audit_file_dest,background_dump_dest,control_files,core_dump_dest,db_create_file_dest,db_create_online_log_dest_1,db_recovery_file_dest,service_names,user_dump_dest 等相应参数
4.2 重命名参数文件
4.3 启动实例nomount 状态: create spfile from pfile; startup nomount; alter database mount;
4.4 开始恢复数据库做准备工作:
1. 连上RMAN,做crosscheck 检查文件存在性; RMAN target / <<EOF
Crosscheck backup;
Crosscheck archivelog all;
EOF
仔细观看输出结果,如果有 EXPIRED, 或者没有输出的,表示拷贝过来的文件没有和主库上备份位置一致,即rman 更具主库上创建的控制文件到主库对应的相应目录下去找不到文件。
此时一般有两种做法: 1. 建立软链接,2.重新注册目录 eg:注册ARCH目录 catalog start with '/oradata1/oradata/RMSHZPRI/arch/';
此时再次检查,就会出结果了
4.5 开始restore database;
RMAN target / <<EOF
run
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
set newname for datafile 1 to '/oradata1/oradata/RMSHZSTD/system01.dbf';
set newname for datafile 2 to '/oradata1/oradata/RMSHZSTD/undotbs01.dbf';
set newname for datafile 3 to '/oradata1/oradata/RMSHZSTD/sysaux01.dbf';
set newname for datafile 4 to '/oradata1/oradata/RMSHZSTD/users01.dbf';
set newname for datafile 5 to '/oradata1/oradata/RMSHZSTD/data_rms_01.dbf';
set newname for datafile 6 to '/oradata1/oradata/RMSHZSTD/indx_rms_01.dbf';
set newname for datafile 7 to '/oradata1/oradata/RMSHZSTD/lob_rms_01.dbf';
set newname for datafile 8 to '/oradata1/oradata/RMSHZSTD/lob_rms_02.dbf';
set newname for datafile 9 to '/oradata1/oradata/RMSHZSTD/cat_01.dbf';
set newname for datafile 10 to '/oradata1/oradata/RMSHZSTD/data_exam_01.dbf';
set newname for datafile 11 to '/oradata1/oradata/RMSHZSTD/indx_exam_01.dbf';
set newname for datafile 12 to '/oradata1/oradata/RMSHZSTD/lob_rms_05.dbf';
set newname for datafile 13 to '/oradata1/oradata/RMSHZSTD/lob_rms_03.dbf';
set newname for datafile 14 to '/oradata1/oradata/RMSHZSTD/lob_rms_04.dbf';
set newname for datafile 15 to '/oradata1/oradata/RMSHZSTD/lob_rms_06.dbf';
set newname for datafile 16 to '/oradata1/oradata/RMSHZSTD/lob_rms_07.dbf';
set newname for datafile 17 to '/oradata1/oradata/RMSHZSTD/lob_rms_08.dbf';
restore database;
release CHANNEL dev1;
release CHANNEL dev2;
release CHANNEL dev3;
release CHANNEL dev4;
switch datafile all;
}
Exit;
EOF
4.6 在rman都认知到归档日志时候,方可recover database操作;
Rman target / <<EOF
Recover database until time '2015-04-09 10:00:00';
EOF
4.7 好了如果备份文件全部都拷贝过来,并且归档在需要的时间点都全部拷贝过来, 那么以上量步会很顺畅的。
4.8 备库恢复好以后我们就可以开始配置DG环境了
5.重新为备库指定新的 redo 以及 standby redo 文件
这里有两种办法,1. alter database drop redo group 1 ; alter database add standby logfile group 4 ('/u/app/oracle/oradata/orcl/st_redo04.log','/u/app/oracle/…/redo.log') size 50m;
2. startup mount; alter database rename file '/data/orarms/oradata/RMS/redo03.log' to '/oradata2/oradata/RMSHZSTD/redo03.log';
注意,如果是删除重建,请确保一下两点:1. standby redo 大小必须和redo大小一致;2.standby redo 必须大于 redo 数量
6.位备库创建临时文件 tempfile; startup mount; 此时也有两种办法,如上所示 :
6.1
alter database tempfile '/oradata1/oradata/RMSHZSTD/temp01.dbf' drop;
alter database add tempfile '' size 100m autoextend on maxsize 20G;
6.2
alter database rename file '/home/orarms/oradata/RMS/temp01.dbf' to '/oradata1/oradata/RMSHZSTD/temp01.dbf';
7.配置主库归档传送位置,以及tnsnames.ora文件配置:
alter system set log_archive_config='dg_config=()' scope=both;
alter system set log_archive_dest_3='service=rmshzpri reopen=120 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=rmshzpri' scope=both;
8.备库配置归档存储位置:
备库和主库配置命名基本上一样:
- 备库开启恢复:
如果备库采用实时恢复, 在备库端则执行如下命令:
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database open read only;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
Oracle 10g DG 环境搭建详解的更多相关文章
- Windows GTK+ 环境搭建(详解)
来源:http://blog.sina.com.cn/s/blog_a6fb6cc901017ygy.html Windows GTK+ 环境搭建 最近要做界面的一些东西,但是对微软提供的类库MFC不 ...
- Python环境搭建详解(Window平台)
前言 Python,是一种面向对象的解释型计算机程序设计语言,是纯粹的自由软件,Python语法简洁清晰,特色是强制用空白符作为语句缩进,具有丰富和强大的库,它常被称为胶水语言. Python是一种解 ...
- windows 64位下,React-Native环境搭建详解 (Android)
React-Native环境搭建需要: 1.安装Java JDK 2.安装Android Studio 3.安装node.js 4.安装git 5.安装Python 2.x (注意目前不支持Pytho ...
- nginx+php环境搭建详解(Linux)
今天在内网环境下,给linux主机安装nginx+php环境,由于是内网环境,只能手动解压缩包进行安装,在这过程中我也着实遇到了一些问题(困扰了我许久),还好最后搭建环境成功了,所以写篇博客记录一下, ...
- Windows下的SVN环境搭建详解
前言:最近因为要和其他人合作开发项目,所以花时间搭建了SVN的环境. 因为是初次使用SVN,对于SVN的环境搭建很不熟悉,再加上网上的教程都介绍的比较粗略,导致前前后后重做了几次. 当然最终是搭建成功 ...
- Vue.js 运行环境搭建详解(基于windows的手把手安装教学)及vue、node基础知识普及
Vue.js 是一套构建用户界面的渐进式框架.他自身不是一个全能框架——只聚焦于视图层.因此它非常容易学习,非常容易与其它库或已有项目整合.在与相关工具和支持库一起使用时,Vue.js 也能完美地驱动 ...
- AngularJS4.0环境搭建详解--windows系统环境
第一步:安装NodeJS 下载最新版的NodeJS并安装,安装完成后打开CMD命令行,输入以下命令: node -v 若返回类似版本号则代表NodeJS安装成功,如下: 第二部 安装npm 新版的No ...
- Windows7 QT5.6.0(64位)使用mysql(64位)环境搭建详解
1 说明 使用环境为:Windows7 VS2015 QT5.6.0(64位),MYSQL 5.7.13(64位). 网上各种错误.模糊.抽象的资料,配置环境花了半天,痛定思痛,总结出来,方便后来人. ...
- python webdriver 环境搭建详解
学了一个月用java编写selenium driver 测试脚本,也将公司做的系统基本可用的模块做了一次自动化,虽然写的比较简陋,但是基本可用跑一遍,并用testNG生成了测试报告. 学习方式无非是: ...
随机推荐
- 20155338 《Java程序设计》实验三(敏捷开发与XP实践)实验报告
20155338 <Java程序设计>实验三(敏捷开发与XP实践)实验报告 一.实验内容及步骤 (一)使用Code菜单 • 在IDEA中使用工具(Code->Reformate Co ...
- java开发划分级别的标准
一.史诗序: java开发也有一段时间了,整天茫茫碌碌,除了偶尔的小有成就感,剩下的大部分好像都在重复,你是否也遇到了这样的情况? 遇到一个小细节问题,之前不久解决过,现在却是什么都记不起来了 面对每 ...
- day6 break continue for
.for .break (整个while循环全部结束) )打印1-100的偶数.py )打印1-100的20个偶数.py )while嵌套中的break (就近原则) .continue 错误用法: ...
- MSP430FR6972的串口波特率设置代码
1. 本次使用ACLK,就是辅助时钟(32.768KHZ)作为串口的时钟源,那么使用波特率9600的时候,分频系数=32768/9600=3.41,所以是有小数位的,设置代码如下 UCA0CTLW0 ...
- CC2541调试问题记录-第一篇
1. 在网络环境过于复杂的地方,手机连接不上CC2541.2. 修改CC2541的设备名字. static uint8 scanRspData[] = { // complete name 0x0d, ...
- Mac 安装PHP Redis 扩展
其实 Mac 安装 Redis 还是很简单,以下为个人搭建配置.注意:文章中的“*”代表任意版本号 安装 Redis 服务 安装 brew install redis 使用 # 启动 redis-se ...
- 使用idea写ssm的时候提示源文件夹中的文件找不到
<context:property-placeholder location="classpath:db.properties"/>这一行idea提示找不到db.pro ...
- Unity中C#单例模式使用总结
一.单例模式优点 单例模式核心在于对于某个单例类,在系统中同时只存在唯一一个实例,并且该实例容易被外界所访问: 意味着在内存中,只存在一个实例,减少了内存开销: 二.单例模式特点 只存在唯一一个实例: ...
- NOIP2018出征策
蒟蒻的风之旅人即将退役,现在分享一下退休前的故事 首先,经过这么多时间的划水训练,我成功从一个萌新变成了一个蒟蒻.我学会了各种奇怪玄学的算法,比如说昨天老师讲的NOIP第三题通用的算法,叫做XG算法, ...
- HTTP协议请求信息详解
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息.客户端向服务器发送一个请求,请求头包含请求的方法.URI.协议版本.以及包含请求修饰符.客户信息和内容的类似于MIME的消息结构 ...