终于有空闲的机器腾出来了,生产环境上的一套Oracle环境终于可以鸟枪换炮了,生产环境有Data Guard,为了减少停机时间,而且避免重新构建Data Guard的麻烦(其实也不麻烦,就是浪费时间),计划借助Data Guard的switchover来完成。

不打无准备的仗,观察了一下某生产环境的Data Guard,发现配置极其简单,趁机抄袭了一下并搭建好测试环境,怎么个简单呢,配置如下:

(1) 主备节点没有配置standby log file ;

(2) 只在主节点配置了日志发送的路径;

(3) 没有配置FAL;

还是贴配置吧,主节点:

1
2
*.log_archive_dest_2='service=standby'
*.standby_file_management='AUTO

备节点:

1
*.standby_file_management='AUTO'

当然 spfile 中的配置是不止这些的,但是与Data Guard 相关的就这几条,简单吧,从同事的口中了解到该Data Guard就是只为了Failover,也不打算搞实时apply,就采用maximum performance的保护模式(其他都是浮云)。

介绍一下测试环境,两台Oracle服务器,primary节点 test02 ,standby节点 test03,tnsname分别是 mydb_test02 和 mydb_test03。

众所周知,搞Data Guard要折腾三个地方:初始化参数(spfile/pfile),控制文件和数据文件,参数文件的设置如上,将primary节点的spfile和password文件复制到standby节点的$ORACLE_HOME/dbs/目录下面,然后将standby启动到nomount。

1
2
3
##### Standby #####
sys$mydb@test03 SQL> startup nomount ;
sys$mydb@test03 SQL> alter system set standby_file_management='AUTO';

设置一下primary节点的spfile:

1
2
3
##### Primary #####
sys$mydb@test02 SQL> alter system set log_archive_dest_2='service=mydb_test03';
sys$mydb@test02 SQL> alter system set standby_file_management='AUTO';

以下是如何配置standby controlfile和数据文件:

在 primary 节点中先使用rman备份数据文件并准备 standby controlfile:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
##### Primary #####
run
{
  sql"alter system switch logfile";
  allocate channel c1 device type disk ;
  backup
    as compressed backupset
    tag 'compressed_full'
  database ;
  backup tag 'standby_controlfile'
    current controlfile
    for standby;
  release channel c1 ;
}

注意看输出中的备份集信息,先不要退出rman会话,后面还有用,将以上rman脚本产生的两个备份集复制到standby机器的相同目录中

1
2
3
4
5
##### Primary #####
[oracle@test02 ~]$ cd /u01/app/flash_recovery_area/MYDB/backupset/2010_12_16/
[oracle@test02 2010_12_16]$ ls
o1_mf_ncnnf_STANDBY_CONTROLFILE_6jlx5w8x_.bkp  o1_mf_nnndf_COMPRESSED_FULL_6jlwvnyx_.bkp
[oracle@test02 2010_12_16]$ scp ./* test03:`pwd`

复制所需的归档日志到standby机器,先确定归档的路径:

1
2
3
4
5
6
7
8
9
10
11
##### Primary #####
sys$mydb@test02 SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/flash_recovery_area/MYDB/archivelog
Oldest online log sequence     2906
Next log sequence to archive   2910
Current log sequence           2910
sys$mydb@test02 SQL> host
 
[oracle@test02 archivelog]$ find ./ -name "*.arc" -cmin -300 -exec scp {} test03:`pwd` \;

还是回到primary机器的rman会话中,执行duplicate语句来创建Data Guard的备用数据库:

1
2
3
##### Primary #####
RMAN> connect auxiliary sys/oracle@mydb_test03
RMAN> duplicate target database for standby dorecover nofilenamecheck;

最后启动Data Guard Standby节点的归档恢复进程:

1
2
##### Standby #####
sys$mydb@test03 SQL> alter database recover managed standby database disconnect from session;

自此,测试环境的Data Guard搭建完成。

最新文章

  1. jquery ui 中的插件开发
  2. 彻底解决m2eclipse之Unable to update index for central
  3. Linux/Unix 线程同步技术之互斥量(1)
  4. java课后作业7
  5. SQL语句执行时间测试
  6. 2016CCPC东北地区大学生程序设计竞赛 1005 HDU5926
  7. 使用CSS3实现超炫的Loading(加载)动画效果
  8. LR_问题_如何将场景中的用户设置为百分比形式
  9. js_面向对象编程
  10. 《Qt编程的艺术》——8.2.1 在Designer中使用View类
  11. mongo 多条件 查询
  12. C函数调用与栈
  13. SVN参考命令
  14. ECMAScript 6 第一天 let和const命令
  15. git提交项目常用命令及git分支的用法
  16. 权限管理系统之LayUI实现页面增删改查和弹出层交互
  17. 关于HashMap的一些深入探索与理解
  18. OC学习1——基本数据类型
  19. Redis集群规范
  20. linux内核的双链表list_head、散列表hlist_head

热门文章

  1. Flasback数据库(闪回数据库)
  2. OFBIZ bug_ControlServlet.java:233:ERROR
  3. objective-C 中两种实现动画的方法(转)
  4. linux驱动系列之makefile
  5. poj 2728 Desert King (最小比例生成树)
  6. phpd读取txt文件(自动解析换行)
  7. 1195: [HNOI2006]最短母串 - BZOJ
  8. SpringJUnit4加载类目录下(src)和WEF-INF目录下的配置文件
  9. 项目图片上传存储的目录部分代码思路Calendar类获取年月日
  10. python中unicode、utf8、gbk等编码问题