在linux单机上手动创建Oracle 10g物理standby dataguard

来源:互联网 发布:linux mv命令详解 编辑:程序博客网 时间:2024/06/11 23:42

DG环境介绍

OS:CentOS

Oracle Version:10.2.0.4

Redo传输模式:LGWR ASYNC

Primary数据库

ORACLE_SID=orcl

数据文件、控制文件与日志文件存放路径     /oracle/oradata/orcl

Physical standby数据库:

ORACLE_SID=stby

数据文件、控制文件与日志文件存放路径    /oracle/oradata/stby

一、在Primary库上操作

1、打开设置force logging

SQL>sqlplus / as sysdba

SQL>alter database force logging;

2、启动归档

SQL>alter database archivelog;

3、修改Primary库的参数文件,步骤如下

SQL>create pfile='/tmp/initpri.ora' from spfile;

SQL>create pfile='/tmp/initstby.ora' from spfile;

[oracle@localhost tmp]$ vi initpri.ora,增加下面内容


4、用initpri.ora打开Primary库

SQL>startup pfile='/tmp/initpri.ora' mount;

SQL>create spfile from pfile='/tmp/initpri.ora';

5、创建standby controlfile

SQL>alter database create standby controlfile as ‘/oracle/oradata/stby/control01.ctl’;

6、复制standby controlfile

[oracle@localhost stby]$ cp control01.ctl control02.ctl

[oracle@localhost stby]$ cp control01.ctl control03.ctl

7、创建standby online redo,大小与online logfile一样,组数比online logfile多一组(这一步是为了以后主备切换用)

SQL>alter database add standby logfile group 4 '/oracle/oradata/orcl/standby_redo01.log' size 50m;

SQL>alter database add standby logfile group 5 '/oracle/oradata/orcl/standby_redo02.log' size 50m;

SQL>alter database add standby logfile group 6 '/oracle/oradata/orcl/standby_redo03.log' size 50m;

SQL>alter database add standby logfile group 7 '/oracle/oradata/orcl/standby_redo04.log' size 50m;

注:Data Guard在最大保护和最高可用性模式下,Standby数据库必须配置standby redo log,正常情况下仅需要在Standby端进行配置,考虑到主备切换,在primary端亦进行配置。Standby redo log组数公式>=(每个instance日志组个数+1)*instance个数

二、关闭Primary库,拷贝数据文件到/oracle/oradata/stby下

[oracle@localhost oradata]$cp orcl/* stby 

三、进入Primary库的密码文件存放路径,复制密码文件

[oracle@localhost ~]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ cp orapworcl orapwstby

四、在Physical Standby库上操作

1、编辑standby库参数文件

[oracle@localhost tmp]$vi /tmp/initstby.ora,增加下面内容


并且修改相关数据库文件的路径为standby库的真实存放路径,请见下图


2、用编辑好的initstby.ora参数文件打开standby库

[oracle@localhost tmp]$export ORACLE_SID=stby

SQL>startup pfile='/tmp/initstby.ora' mount;

SQL>create spfile from pfile='/tmp/initstby.ora';

3、创建standby online redo

SQL>alter database add standby logfile group 4 '/oracle/oradata/stby/standby_redo01.log' size 50m;

SQL>alter database add standby logfile group 5 '/oracle/oradata/stby/standby_redo02.log' size 50m;

SQL>alter database add standby logfile group 6 '/oracle/oradata/stby/standby_redo03.log' size 50m;

SQL>alter database add standby logfile group 7 '/oracle/oradata/stby/standby_redo04.log' size 50m;

五、编辑listener.ora与tnsnames.ora文件,增加以下内容

[oracle@localhost admin]$ vi listener.ora


[oracle@localhost admin]$ vi tnsnames.ora

六、在standby库上启动redo应用

SQL>alter database recover managed standby database disconnect from session

七、测试redo传输

1、在Primary库上切换日志

SQL>alter system switch logfile

2、验证备库是否有新的归档文件

SQL>select sequence#,first_time,next_time from v$archived_log order by sequence#;

关于dataguard的理论介绍

http://blog.itpub.net/35489/viewspace-617885/


0 0
原创粉丝点击