Chinaunix首页 | 论坛 | 博客
  • 博客访问: 53037
  • 博文数量: 5
  • 博客积分: 180
  • 博客等级: 入伍新兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-23 14:02
文章分类

全部博文(5)

文章存档

2013年(5)

我的朋友

分类: Oracle

2013-02-24 17:56:18

修改primary到归档状态
将primary数据处于归档模式
sql>startup mount;
sql>alter database archivelog;
设置主服务器的强行日志处理
SQL> ALTER DATABASE FORCE LOGGING;


在standby机器上安装oracle dba软件并打patch,不需建库
mkdir  -p $ORACLE_BASE/admin/SID/adump
mkdir  -p $ORACLE_BASE/admin/SID/bdump
mkdir  -p $ORACLE_BASE/admin/SID/cdump
mkdir  -p $ORACLE_BASE/admin/SID/udump
查看主库上的数据文件,控制文件,redo文件,archlog文件的目录,flash_area目录

在standby机器上建立对应的目录

并注意目录的owner为oracle.dba或oracle.oinstall;





在主库上做rman备份,备份完之后,创建standby controlfile  
alter database create standby controlfile as '/home/oracle/rmanbak/standbycontrol.ctl'; 


将rman备份及standby controlfile文件,口令文件同步到standby机器上
rsync -avz --progress  --rsh=ssh /home/oracle/rmanbak/  root@standby_ip:/home/oracle/rmanbak/


在standby:
chown -R  oracle.dba  /home/oracle/rmanbak  


主库参数文件:
*.log_archive_dest_1='LOCATION=/oradata/arch'
*.log_archive_dest_state_1=ENABLE
*.log_archive_format='%t_%s_%r_%sarch.dbf'         #归档的格式 其中:%t表示重做线程号,%s表示日志序列号,而%r表示resetlogs,
*.log_archive_dest_2='SERVICE=standby reopen=60'   #此处的standby为tnsnames.ora里配置的tns名字
*.log_archive_dest_state_2=ENABLE

*.archive_lag_target=1800              #在主库上强制30分归档一次,可选

上面的参数可在spfile文件启动的条件下,直接alter system set ... scope=BOTH;就不用停机了



备用库参数文件:
*.log_archive_dest_1='LOCATION=/oradata/arch'
*.log_archive_dest_state_1=ENABLE
*.log_archive_format='%t_%s_%r_%sarch.dbf'
*.standby_archive_dest='/oradata/arch'
*.fal_server=primary
*.fal_client=standby
*.standby_file_management='AUTO'
注意更改控制文件
*.control_files='/home/oracle/rmanbak/standbycontrol.ctl'
同样primary,standby为tnsnames.ora里配置的tns名字


配置主备两边的listerner和tns(略),两边都启动listener
使用新的参数文件启动主库

在standby机器上,用修改过的参数文件启动数据库到nomount
备用库
startup nomount; 
alter database mount standby database; 
再用rman还原datafile及archivelog
restore database; 
restore archivelog from logseq ??? until logseq ???;
最后进入到管理恢复状态
recover managed standby database disconnect; 
查看alert_sID.log,可以看到archivelog的恢复进度




最后在主库端切换日志,测试archlog是否传到standby端:
验证归档是否写向standby数据库方
alter system switch logfile;
select status,error from v$archive_dest where dest_id=2;





















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