Oracle 的dataguard配置

基本配置:centOS6.5 oracle11g
主库配置:

IP:192.168.154.2
SID_name=source
service name:=source
Net service name=denver

备库配置:

IP:192.168.154.3
SID_name=target
service name:=target
Net service name=chicago

(数据库启动后会自动把数据库名注册到监听成为服务名)
主库安装数据库,备库使用RMAN复制主数据库。

(一)以下步骤主库备库相同操作:

1.输入Setup 出现关掉ip6tables,iptables :(关闭防火墙主备库都要做)
Oracle 的dataguard配置_第1张图片
或者输入以下命令关掉防火墙:(主备库都要做)有可能一次关不掉,要多检查几次

service iptables stop
service ip6tables stop

2./etc/hosts文件内加入以下:
linux主机名的相关配置文件就是/etc/hosts;这个文件告诉主机那些域名对应那些ip,哪些主机名对应哪些ip:
这里写图片描述
3.tns配置(主备库相同)

Oracle 的dataguard配置_第2张图片

4.主备库启动监听(Listener.ora和tns配置好之后进行此操作)

Lsnrctl start;

(二)以下步骤备库操作:

1.Listener.ora配置:

配动态监听和静态监听

Oracle 的dataguard配置_第3张图片

2.建和主库相同路径的目录
Oracle 的dataguard配置_第4张图片
3.创建(和主库相同的路径)目录,oradata主要存储数据库控制文件, 数据文件,重做日志文件
Oracle 的dataguard配置_第5张图片
4.在u01/app/oracle/路径下创建 flash_recovery_area (存放所有备份文件和闪回数据 ,该目录存储并管理与备份和恢复有关的文件)下

输入mkdir target ;
mkdir TARGET

创建两个目录

Oracle 的dataguard配置_第6张图片
5.修改Oracle口令重命名文件(此操作在拷贝完主库口令文件之后操作)

找到口令文件使用 命令mv orapwsource orapwtarget

6.cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/目录下创建 初始化文件inittarget.ora 在文件中输入(dataguard官方文档说明DB_NAME最好保持一致)
这里写图片描述
7.输入sql命令处于nomount状态

 startup nomount非安装启动,这种方式启动下可执行:重建控制文件、重建数据库

读取inittarget.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要inittarget.ora文件。

这里写图片描述
8.以下(步骤在主库执行完dup.txt文件后操作)
输入以下命令此时备库就可以接受来自主库的信息
这里写图片描述
9.输入下面命令 再打开数据库,
停止Standby,取消日志应用
再打开数据库

Oracle 的dataguard配置_第7张图片

10.输入下面命令 启动日志命令
这里写图片描述

(三)以下步骤主库操作:

1.Listener.ora配置:
Oracle 的dataguard配置_第8张图片
2.在/home/oracle/目录下创建 dup.txt文件 在文件内输入以下内容
Oracle 的dataguard配置_第9张图片
DB_FILE_NAME_CONVERT = ‘主库数据文件位置’,’备库数据文件位置’;
3.把Oracle口令文件拷贝到备库上
这里写图片描述
4.SQL> alter database archivelog;确保主库处于归档模式
5.设置主库force logging模式
这里写图片描述
6.输入以下sql命令创建rdo文件(数据库默认创建3组online redo文件,所以需要3+1组standby redo文件)

alter database add standby logfile ‘/u01/app/oracle/oradata/source/sredo01.rdo’ size 52428800;
alter database add standby logfile ‘/u01/app/oracle/oradata/source/sredo02.rdo’ size 52428800;
alter database add standby logfile ‘/u01/app/oracle/oradata/source/sredo03.rdo’ size 52428800;
alter database add standby logfile ‘/u01/app/oracle/oradata/source/sredo04.rdo’ size 52428800;

7.查询是否创建成功

Oracle 的dataguard配置_第10张图片

8.复制数据库,备库要启动实例,主库(必须处于startup状态)输入

rman target sys/oracle@denver auxilary sys/oracle@chicago 进入RMAN 模式

9.修改配置文件
Oracle 的dataguard配置_第11张图片
10.查看设置此时主库处于读写状态,备库处于只读状态
Oracle 的dataguard配置_第12张图片
Oracle 的dataguard配置_第13张图片
此时dataguard 完成输入 conn system/oracle@chicago; 可以连接上备库 表示成功

动态监听和静态监听的区别
静态注册,listener不知道实例的状态,只有在进程通过其连接数据库时才能知道,如果你想使用远程管理数据库就使用静态监听
动态注册:listener实时的都知道实例的状态,数据库在关闭的时候会动态的从listener中注销,所以远程管理数据库的启动和停止就不行了。

注意:
Dataguard设置成功关闭数据库之后就无法同步问题:
1.连接数据库之前就要打开监听
2.主备库处于mount状态
3.重新连接成功数据库一定要输入

 Alter  database recver managed standby database using current logfile disconnect;

你可能感兴趣的:(Oracle备份和恢复)