windows单机下11gRman实现Dataguard配置

   为了方便大家windows使用习惯,本文环境为windows,11G,操作环境cygwin主要是让大家脱离dos这个古董,慢慢熟悉linux的操作环境。

datagurd的基本原理这里就不详细说了,实现本次单机dataguard配置,主要要实现以下几个步骤:

一、数据库基本信息

     1.主数据库基本信息:

 数据库名 (db_name): ORCL
 数据库唯一名 (db_unique_name): orcl1
 数据库tns服务名(service_name):primary
 TNS Name连接串: standby (主要是向standby数据库传送日志文件)

2.从数据库基本信息:

 数据库名 (db_name): ORCL
 数据库唯一名 (db_unique_name): orcl2
 数据库tns服务名(service_name):standby
 TNS Name: primary (指向向主数据库接受间断的日志文件)

   二、数据库配置步骤:

      1、TNSname配置

            在主数据库上配置standby 指向从数据库orcl2,primary指向主数据(orcl1),在从数据库上同样配置,单机上只需要配置一次即可,因为tns监听服务可以服务多个实例。

   STANDBY =
    (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = orcl2IP)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = standby)
   )
)

   primary =
    (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = orcl1IP)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = primary)
   )
)


 

   2、主数据库orcl1配置

SQL>  show parameter instance_name

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
instance_name                        string      orcl
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      E:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA

配置参数文件

SQL> create pfile='E:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\initprimary.ora' from spfile;

编辑参数文件修改以下参数

db_unique_name=’orcl1’
FAL_Client=’primary’
FAL_Server=’standby’
Log_archive_config=’DG_CONFIG=(primary,standby)’
Log_archive_dest_1=’Location=e:\oracle\arch\orcl1 VALID_FOR(ALL_LOGFILES,ALL_ROLES)
                   db_unique_name=orcl1’
Log_archive_dest_2=’Service=standby lgwr async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
                   db_unique_name=orcl2'
Log_archive_dest_state_1=ENABLE
Log_archive_dest_state_2=ENABLE
Service_names=’primary,orcl’
Standby_File_Management=’AUTO’

数据库数据文件位置

SQL> col name format a40
SQL> select file#,name from v$datafile;
     FILE# NAME
---------- ----------------------------------------
         1 E:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF
         2 E:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF
         3 E:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF
         4 E:\ORACLE\TEST.ORA

把参数文件转换为服务器参数文件

SQL> shutdown immediate;
SQL> create spfile from pfile='E:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\initprimary.ora';

修改主数据库为强制归档

SQL> startup mount;
SQL> alter database force loging;
SQL> alter database open;

由于是在本机上建立dataguard,需要建立实例standby

oradmin -NEW -sid standby -startmode manual

 

3备用数据库配置

建立备用库参数文件

      SQL> create pfile='e:\oracle\product\11.2.0\dbhome_1\database\initstandby.ora' from spfile;
修改备用库参数文件如下参数:

db_unique_name=’orcl2’
FAL_Client=’standby’
FAL_Server=’primary’
Log_archive_config=’DG_CONFIG=(orcl1,orcl2)’
Log_archive_dest_1=’Location=e:\oracle\arch\orcl2  VALID_FOR(ALL_LOGFILES,ALL_ROLES)
                   db_unique_name=orcl2’
Log_archive_dest_2=’Service=primary lgwr async VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
                   db_unique_name=orcl1'
Log_archive_dest_state_1=ENABLE
Log_archive_dest_state_2=ENABLE
Service_names=’standby’
Standby_File_Management=’AUTO’
log_file_name_convert='E:\oracle\oradata\orcl','E:\oracle\oradata\standby'
db_file_name_convert='E:\oracle\oradata\orcl','E:\oracle\oradata\standby','E:\oracle','E:\oracle\oradata\standby'

control_files='E:\oracle\oradata\orcl2\control01.ctl'

$ export ORACLE_SID=standby
 $ net start oracleservicestandby
 $ sqlplus "/as sysdba"
 
SQL> create spfile from pfile;
SQL> startup nomount;

设置主库和备库参数后,用rman进行数据库复制,测试连接串primary和standby都能联通。

登陆主库:

用rman做一个全库备份

rman>backup database;

RMAN> connect auxiliary sys/wangli@standby

已连接到辅助数据库: ORCL (未装载)

RMAN> duplicate target database for standby
2> ;

启动 Duplicate Db 于 20-3月 -13
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=10 设备类型=DISK

内存脚本的内容:
{
   restore clone standby controlfile;
}
正在执行内存脚本

启动 restore 于 20-3月 -13
使用通道 ORA_AUX_DISK_1

通道 ORA_AUX_DISK_1: 正在开始还原数据文件备份集
通道 ORA_AUX_DISK_1: 正在还原控制文件
通道 ORA_AUX_DISK_1: 正在读取备份片段 E:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\FLASH\ORCL1\BACKUPSET\2013_03_20\O1_MF_NCSNF_TAG20130320T104725_8NL8X0FO_.BKP
通道 ORA_AUX_DISK_1: 段句柄 = E:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\FLASH\ORCL1\BACKUPSET\2013_03_20\O1_MF_NCSNF_TAG20130320T104725_8NL8X0FO_.BKP 标记 = TAG20130320T104725
通道 ORA_AUX_DISK_1: 已还原备份片段 1
通道 ORA_AUX_DISK_1: 还原完成, 用时: 00:00:01
输出文件名=E:\ORACLE\ORADATA\ORCL2\CONTROL0201.CTL
完成 restore 于 20-3月 -13

内存脚本的内容:
{
   sql clone 'alter database mount standby database';
}
正在执行内存脚本

sql 语句: alter database mount standby database

内存脚本的内容:
{
   set newname for tempfile  2 to
 "E:\ORACLE\ORADATA\ORCL2\TEMP02.DBF";
   switch clone tempfile all;
   set newname for datafile  1 to
 "E:\ORACLE\ORADATA\ORCL2\SYSTEM.DBF";
   set newname for datafile  2 to
 "E:\ORACLE\ORADATA\ORCL2\SYSAUX01.DBF";
   set newname for datafile  3 to
 "E:\ORACLE\ORADATA\ORCL2\UNDOTBS01.DBF";
   set newname for datafile  4 to
 "E:\ORACLE\ORADATA\ORCL2\TEST.DBF";
   restore
   clone database
   ;
}
正在执行内存脚本

正在执行命令: SET NEWNAME

临时文件 2 在控制文件中已重命名为 E:\ORACLE\ORADATA\ORCL2\TEMP02.DBF

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

正在执行命令: SET NEWNAME

启动 restore 于 20-3月 -13
使用通道 ORA_AUX_DISK_1

正在略过数据文件 1; 已还原到文件 E:\ORACLE\ORADATA\ORCL2\SYSTEM.DBF
正在略过数据文件 2; 已还原到文件 E:\ORACLE\ORADATA\ORCL2\SYSAUX01.DBF
正在略过数据文件 3; 已还原到文件 E:\ORACLE\ORADATA\ORCL2\UNDOTBS01.DBF
正在略过数据文件 4; 已还原到文件 E:\ORACLE\ORADATA\ORCL2\TEST.DBF
没有完成还原; 所有文件均为只读或脱机文件或者已经还原
完成 restore 于 20-3月 -13

内存脚本的内容:
{
   switch clone datafile all;
}
正在执行内存脚本

数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=33 STAMP=810560127 文件名=E:\ORACLE\ORADATA\ORCL2\SYSTEM.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=34 STAMP=810560127 文件名=E:\ORACLE\ORADATA\ORCL2\SYSAUX01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=35 STAMP=810560127 文件名=E:\ORACLE\ORADATA\ORCL2\UNDOTBS01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=36 STAMP=810560127 文件名=E:\ORACLE\ORADATA\ORCL2\TEST.DBF
完成 Duplicate Db 于 20-3月 -13


 

     

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/133126/viewspace-756552/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/133126/viewspace-756552/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值