Chinaunix首页 | 论坛 | 博客
  • 博客访问: 435485
  • 博文数量: 121
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 540
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-16 16:28
文章分类

全部博文(121)

文章存档

2021年(3)

2018年(1)

2017年(5)

2016年(9)

2015年(23)

2014年(80)

我的朋友

分类: Oracle

2014-02-26 14:36:50

Oracle10gR2在管理方面比起Oracle9i来说,有了相当大的改进,很多组件的安装配置过程都被简化了。简单的操作能够减少很多不必要的失误,对于提高系统的可用性也是很有帮助的。Logical Standby现在能够由physical standby直接转化而来,这一点改进很重要,不但简化了配置的过程,也为Oracle11g利用physical standby做滚动升级打下了基础,滚动升级的另外一个基础是Flashback database。Oracle很多特性在刚推出的时候看是改进不大,但真正产生化学作用往往会在更新的版本中体现。

一、创建物理备库

关于物理备库的创建,已经有过很多文章了,所以这里就不打算再重复整个过程了。可以参考我以前做试验的时候一点记录

利用rman创建standby(一)
利用rman创建standby(二)

上面两篇文章试验的版本都是9201的,但是物理备库在9i和10g的配置过程基本一致。不同的是,Oracle10g引入了一些新的参数和属性,可以简化switchover操作。所以参数的设置我这里再贴一个例子。

主库:

*.db_name=’ning’
*.db_unique_name=’NING’
*.fal_client=’NING’
*.fal_server=’STANDBY’
*.log_archive_dest_1=’location=f:\oracle\arch\ning valid_for=(all_logfiles,all_roles) db_unique_name=ning’
*.log_archive_dest_2=’service=standby valid_for=(online_logfiles,primary_role) db_unique_name=ning’
*.log_archive_dest_state_2=’ENABLE’

备库:

*.db_name=’STANDBY’
*.db_unique_name=’standby’
*.fal_client=’standby’
*.fal_server=’ning’
*.log_archive_dest_1=’location=f:\oracle\arch\standby valid_for=(all_logfiles,all_roles) db_unique_name=standby’
*.log_archive_dest_2=’service=ning valid_for=(online_logfiles,primary_role) db_unique_name=standby’
*.log_archive_dest_state_2=’ENABLE’

Oracle9i的lock_name_space参数主要用在主备库在同一台server的时候用来区分instance的,因为物理备库的db_name和主库需要保持一致的。这个参数在Oracle10g中已经废弃,使用db_unique_name替代。但是db_unique_name的作用已经被放大,即使主备库在不同的server上,也建议设置,这样通过在归档路径参数中设置valid_for和db_unique_name属性,可以做到switchover后,即使主备角色转换, 还是可以使用同一套参数文件。至于控制文件,转换为逻辑备库的时候,会根据主库的控制文件参数重设。

二、转换物理备库为逻辑备库

首先停止物理备库的redo apply

alter database recover managed standby database cancel;

然后在主库为logminer生成数据字典信息到日志中,这个步骤需要使用闪回查询技术对数据字典信息执行一致性读,故undo_retention需要设置时间长一些 ,不然可能碰到ora-01555。

exec dbms_logstdby.build;

归档主库当前日志,确保包含数据字典信息的归档传递到备库

alter system archive log current;

执行转换语句,逻辑备库的db_name不需要和主库保持一致,所以这里可以根据需要选择备库的名字。如果使用的是spfile,还会自动修改db_name参数。

alter database recover to logical standby test;

重启逻辑备库

shutdown immediate;
startup mount;
alter database open resetlogs;

启动sql apply

alter database start logical standby apply;

如果要启动实时应用特性,需要先在备库添加standby redo logfile

alter database add standby logfile ‘f:\oracle\oradata\standby\standbyredo01.log’ size 10m;
alter database add standby logfile ‘f:\oracle\oradata\standby\standbyredo02.log’ size 10m;
alter database add standby logfile ‘f:\oracle\oradata\standby\standbyredo03.log’ size 10m;
alter database add standby logfile ‘f:\oracle\oradata\standby\standbyredo04.log’ size 10m;

启动real time sql apply

alter database stop logical standby apply;
alter database start logical standby apply immediate;

阅读(779) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~