Welcome 微信登录

首页 / 数据库 / MySQL / 快速搭建Data Guard之物理standby

Data Gurad的作用就不多说了,主在这说下物理standby的搭建步骤。
大致有这三种方式创建standby库
方式一:用rman的方式生成standby. (用rman的duplice方式直接创建,无须先备份)
方式二:用rman的restore方式生成。(先用rman全备份主库后,再用rman通过restore的方式创建)
方式三:用cp的方式生成 (关闭主库后,复制控件文件,密码文件,数据文件到备库所在位置)
我主要在这用duplice方式,优点无须多说,假设你的数据库上T,你会选哪种方法?Oracle测试版本为11g;
1. 设置好主备库的环境变量,及创建好相关目录
主库: su - oracle
  --归档日志存放目录
  --例子放在/u01/app/oracle/archivelog/xcldb 下
  mkdir -p $ORACLE_BASE/archivelog/$ORACLE_SID环境变量注意下面两个参数:
  ORACLE_SID=xcldb
  ORACLE_UNQNAME=xcldb备库: su - oracle
  --生成相关的目录,还要注意下权限, 另11g就这几个,10G还有几个目录
  mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/{adump,bdump,cdump,dpdump,udump,pfile}
  --数据库所在目录
  mkdir -p $ORACLE_BASE/oradata/$ORACLE_SID
  --闪回
  mkdir -p $ORACLE_BASE/flash_recovery_area/$ORACLE_SID
  --归档日志存放目录
  mkdir -p $ORACLE_BASE/archivelog/$ORACLE_SID环境变量注意下面两个参数:
  ORACLE_SID=xcldbdg
  ORACLE_UNQNAME=xcldbdg
 
2. 设置数据库为归档模式  --查看当前模式
  archive log list
  --设定归档日志的路径,可以生成多份一样的日志,保存多个位置,以防丢失
  --如果没设置,默认会设到$ORACLE_HOME/dbs下。
  alter system set log_archive_dest_1="location=/u01/app/oracle/archivelog/xcldb";
  shutdown immediate
  startup mount
  alter database archivelog;
  archive log list;3.设置force logging 强制日志模式  alter database force logging
  select force_logging from v$database;
  --取消此模式:alter database no force logging;
  --手工切换日志,好生成归档日志
  alter system switch logfile --执行个三次
  select name from v$archived_log;
  --查看已有的日志文件
  select * from v$logfile;4.创建Standby redo log
  创建个数建议公式:
  Standby redo log 组数公式>=(每个instance日志组个数+1)*instance个数
  (maximum number of logfiles for each thread + 1) * maximum number of threads    --找到最大的group#,因为group#不能重复
  select max(group#) from v$log;
  --可用这两条查询看到组号及文件大小, 11g默认是52428800
  SELECT GROUP#, BYTES FROM V$LOG;
  SELECT GROUP#, BYTES FROM V$STANDBY_LOG;
 
  --注意下大小一致,我是测试,没管size
  alter database add standby logfile thread 1 group 11 "/u01/app/oracle/oradata/xcldb/redo11.log" size 50m;
  alter database add standby logfile thread 1 group 12 "/u01/app/oracle/oradata/xcldb/redo12.log" size 50m;
  alter database add standby logfile thread 1 group 13 "/u01/app/oracle/oradata/xcldb/redo13.log" size 50m;
  alter database add standby logfile thread 1 group 14 "/u01/app/oracle/oradata/xcldb/redo14.log" size 50m;注意:
    在add standby logfile 时,如果是单实例数据库thread 1可以不加,但如果是RAC数据库,
  则要分别为每个实例各增加相关的Standby log; 
    另外如果是用OMF管理的可用下面的命令创建:
    alter database add standby logfile thread 1 group 11 size 500m;
 
  验证下成果:
  col member format a50
  select group#, type, member from v$logfile where type = "STANDBY"; 相关参考:Oracle Data Guard 重要配置参数 http://www.linuxidc.com/Linux/2013-08/88784.htm基于同一主机配置 Oracle 11g Data Guard http://www.linuxidc.com/Linux/2013-08/88848.htm探索Oracle之11g DataGuard http://www.linuxidc.com/Linux/2013-08/88692.htmOracle Data Guard (RAC+DG) 归档删除策略及脚本 http://www.linuxidc.com/Linux/2013-07/87782.htmOracle Data Guard 的角色转换 http://www.linuxidc.com/Linux/2013-06/86190.htmOracle Data Guard的日志FAL gap问题 http://www.linuxidc.com/Linux/2013-04/82561.htmOracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 处理方法 http://www.linuxidc.com/Linux/2013-03/82009.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
  • 1
  • 2
  • 3
  • 下一页
Oracle Cursor详解与实例MySQL 常用命令相关资讯      Data Guard 
  • Data Guard高级应用:通过闪回恢复  (今 16:26)
  • 手工搭建Data Guard  (08月02日)
  • 使用Grid Control快速部署Oracle物  (04月18日)
  • Data Guard跳归档恢复的案例  (08月16日)
  • Data Guard中快速Switchover,  (06月18日)
  • 利用Oracle Data Guard完成跨平台  (01月09日)
本文评论 查看全部评论 (0)
表情: 姓名: 字数