查看: 18427|回复: 15

[精华] 利用rman轻松搭建11g跨平台dataguard

[复制链接]
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
跳转到指定楼层
1#
发表于 2009-4-2 20:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天抽空建设了一套Windows XP和Linux x86平台上的一套DG的环境,下面的配置的详细过程.
 
环境说明
环境准备
    一台已经装好Windows XP的PC
        预装好的Oracle 11gR1(11.1.0.6)企业版数据库
    一台已经装好Linux x86的VM
        预先装好Oracle 11gR1(11.1.0.6)企业版数据库软件,不建库,但要准备要相应的环境变量和文件系统及目录结构并授予相应的权限(略)
    在接下来的测试中,我对一个主库配置了2个physical dataguard,一个是在同平台的windows下,一个是在Linux下.
   
预备搭建的场景
数据库DB_NAMEDB_UNIQUE_NAMEINSTANCE_NAMEIP网络服务名ORACLE_HOME
主数据库ora11gPrim_11gora11g192.168.100.1Prim_11gd:\oracle11g
物理备用数据库1ora11gStd_11gsora11g192.168.100.1Std_11gd:\oracle11g
物理备用数据库2ora11gvstd_11gvora11g192.168.100.60vstd_11g/oracle/product/11.1/db_1



这两个dg均是通过rman直接复制而来,下面给出linux那个备库的rman脚本和执行过程,windows下同平台的那个和这个脚本类似.

[oracle@vm11g] /oracle> rman
Recovery Manager: Release 11.1.0.6.0 - Production on Thu Apr 2 16:50:12 2009
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
RMAN> connect target [email=sys/admin@prim_11g]sys/admin@prim_11g[/email]
connected to target database: ORA11G (DBID=4074416935)
RMAN> connect auxiliary [email=sys/admin@vstd_11g]sys/admin@vstd_11g[/email]
connected to auxiliary database: ORA11G (not mounted)
RMAN> run
2>   {
3>    allocate channel c1 type disk;
4>    allocate auxiliary channel s1 type disk;
5>    allocate auxiliary channel s2 type disk;      
6>    duplicate target database for standby dorecover nofilenamecheck
7>    from active database
8>    spfile
9>    parameter_value_convert 'ora11g','vora11g'
10>    set db_unique_name='vstd_11g'
11>    set db_file_name_convert='D:\ORACLE11G\ORADATA\ORA11G\','/oracle/oradata/vora11g/'
12>    set log_file_name_convert='D:\ORACLE11G\ORADATA\ORA11G\','/oracle/oradata/vora11g/'
13>    set control_files='/oracle/oradata/vora11g/control01.ctl'
14>    set fal_client='vstd_11g'
15>    set fal_server='prim_11g'
16>    set standby_file_management='AUTO'
17>    set log_archive_config='dg_config=(prim_11g,vstd_11g)'
18>    set log_archive_dest_1='LOCATION=/oracle/oradata/arch valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=vstd_11g'
19>    set log_archive_dest_2='service=prim_11g LGWR ASYNC valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prim_11g'
20>    set log_archive_dest_3='LOCATION=/oracle/oradata/arc_std valid_for=(STANDBY_LOGFILE,STANDBY_ROLE) DB_UNIQUE_NAME=vstd_11g'
21>    set log_archive_format='vora11g_%t_%s_%r.arc'
22>    set diagnostic_dest='/oracle/product/11.1/db_1'
23>    set db_recovery_file_dest='/oracle/oradata/flash_area'
24>    set db_recovery_file_dest_size='536870912'
25>    set audit_file_dest='/oracle/admin/vora11g/adump'
26>    ;   
27>    sql channel c1 "alter system archive log current";
28> }

using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=145 device type=DISK

allocated channel: s1
channel s1: SID=97 device type=DISK

allocated channel: s2
channel s2: SID=96 device type=DISK

Starting Duplicate Db at 02-APR-09
contents of Memory Script:
{
   backup as copy reuse
   file  'd:\oracle11g\DATABASE\PWDora11g.ORA' auxiliary format
'/oracle/product/11.1/db_1/dbs/orapwvora11g'   file
'D:\ORACLE11G\DATABASE\SPFILEORA11G.ORA' auxiliary format
'/oracle/product/11.1/db_1/dbs/spfilevora11g.ora'   ;
   sql clone "alter system set spfile= ''/oracle/product/11.1/db_1/dbs/spfilevora11g.ora''";
}
executing Memory Script

Starting backup at 02-APR-09
Finished backup at 02-APR-09

sql statement: alter system set spfile= ''/oracle/product/11.1/db_1/dbs/spfilevora11g.ora''
contents of Memory Script:
{
   sql clone "alter system set  dispatchers =
''(PROTOCOL=TCP) (SERVICE=vora11gXDB)'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_unique_name =
''vstd_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_file_name_convert =
''D:\ORACLE11G\ORADATA\ORA11G\'', ''/oracle/oradata/vora11g/'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_file_name_convert =
''D:\ORACLE11G\ORADATA\ORA11G\'', ''/oracle/oradata/vora11g/'' comment=
'''' scope=spfile";
   sql clone "alter system set  control_files =
''/oracle/oradata/vora11g/control01.ctl'' comment=
'''' scope=spfile";
   sql clone "alter system set  fal_client =
''vstd_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  fal_server =
''prim_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  standby_file_management =
''AUTO'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_archive_config =
''dg_config=(prim_11g,vstd_11g)'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_archive_dest_1 =
''LOCATION=/oracle/oradata/arch valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=vstd_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_archive_dest_2 =
''service=prim_11g LGWR ASYNC valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prim_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_archive_dest_3 =
''LOCATION=/oracle/oradata/arc_std valid_for=(STANDBY_LOGFILE,STANDBY_ROLE) DB_UNIQUE_NAME=vstd_11g'' comment=
'''' scope=spfile";
   sql clone "alter system set  log_archive_format =
''vora11g_%t_%s_%r.arc'' comment=
'''' scope=spfile";
   sql clone "alter system set  diagnostic_dest =
''/oracle/product/11.1/db_1'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_recovery_file_dest =
''/oracle/oradata/flash_area'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_recovery_file_dest_size =
536870912 comment=
'''' scope=spfile";
   sql clone "alter system set  audit_file_dest =
''/oracle/admin/vora11g/adump'' comment=
'''' scope=spfile";
   shutdown clone immediate;
   startup clone nomount ;
}
executing Memory Script

sql statement: alter system set  dispatchers =  ''(PROTOCOL=TCP) (SERVICE=vora11gXDB)'' comment= '''' scope=spfile
sql statement: alter system set  db_unique_name =  ''vstd_11g'' comment= '''' scope=spfile
sql statement: alter system set  db_file_name_convert =  ''D:\ORACLE11G\ORADATA\ORA11G\'', ''/oracle/oradata/vora11g/'' comment= '''' scope=spfile
sql statement: alter system set  log_file_name_convert =  ''D:\ORACLE11G\ORADATA\ORA11G\'', ''/oracle/oradata/vora11g/'' comment= '''' scope=spfile
sql statement: alter system set  control_files =  ''/oracle/oradata/vora11g/control01.ctl'' comment= '''' scope=spfile
sql statement: alter system set  fal_client =  ''vstd_11g'' comment= '''' scope=spfile
sql statement: alter system set  fal_server =  ''prim_11g'' comment= '''' scope=spfile
sql statement: alter system set  standby_file_management =  ''AUTO'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_config =  ''dg_config=(prim_11g,vstd_11g)'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_dest_1 =  ''LOCATION=/oracle/oradata/arch valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=vstd_11g'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_dest_2 =  ''service=prim_11g LGWR ASYNC valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=prim_11g'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_dest_3 =  ''LOCATION=/oracle/oradata/arc_std valid_for=(STANDBY_LOGFILE,STANDBY_ROLE) DB_UNIQUE_NAME=vstd_11g'' comment= '''' scope=spfile
sql statement: alter system set  log_archive_format =  ''vora11g_%t_%s_%r.arc'' comment= '''' scope=spfile
sql statement: alter system set  diagnostic_dest =  ''/oracle/product/11.1/db_1'' comment= '''' scope=spfile
sql statement: alter system set  db_recovery_file_dest =  ''/oracle/oradata/flash_area'' comment= '''' scope=spfile
sql statement: alter system set  db_recovery_file_dest_size =  536870912 comment= '''' scope=spfile
sql statement: alter system set  audit_file_dest =  ''/oracle/admin/vora11g/adump'' comment= '''' scope=spfile
Oracle instance shut down
connected to auxiliary database (not started)
Oracle instance started

Total System Global Area     318054400 bytes
Fixed Size                     1299624 bytes
Variable Size                 96471896 bytes
Database Buffers             213909504 bytes
Redo Buffers                   6373376 bytes

contents of Memory Script:
{
   backup as copy current controlfile for standby auxiliary format  '/oracle/oradata/vora11g/control01.ctl';
   sql clone 'alter database mount standby database';
}
executing Memory Script

Starting backup at 02-APR-09
channel c1: starting datafile copy
copying standby control file
output file name=D:\ORACLE11G\DATABASE\SNCFORA11G.ORA tag=TAG20090402T194705 RECID=24 STAMP=683149633
channel c1: datafile copy complete, elapsed time: 00:00:04
Finished backup at 02-APR-09

sql statement: alter database mount standby database
contents of Memory Script:
{
   set newname for tempfile  1 to
"/oracle/oradata/vora11g/TEMP01.DBF";
   switch clone tempfile all;
   set newname for datafile  1 to
"/oracle/oradata/vora11g/SYSTEM01.DBF";
   set newname for datafile  2 to
"/oracle/oradata/vora11g/SYSAUX01.DBF";
   set newname for datafile  3 to
"/oracle/oradata/vora11g/UNDOTBS01.DBF";
   set newname for datafile  4 to
"/oracle/oradata/vora11g/USERS01.DBF";
   set newname for datafile  5 to
"/oracle/oradata/vora11g/DATA_01.DBF";
   backup as copy reuse
   datafile  1 auxiliary format
"/oracle/oradata/vora11g/SYSTEM01.DBF"   datafile
2 auxiliary format
"/oracle/oradata/vora11g/SYSAUX01.DBF"   datafile
3 auxiliary format
"/oracle/oradata/vora11g/UNDOTBS01.DBF"   datafile
4 auxiliary format
"/oracle/oradata/vora11g/USERS01.DBF"   datafile
5 auxiliary format
"/oracle/oradata/vora11g/DATA_01.DBF"   ;
   sql 'alter system archive log current';
}
executing Memory Script

executing command: SET NEWNAME
renamed tempfile 1 to /oracle/oradata/vora11g/TEMP01.DBF in control file
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
Starting backup at 02-APR-09
channel c1: starting datafile copy
input datafile file number=00001 name=D:\ORACLE11G\ORADATA\ORA11G\SYSTEM01.DBF
output file name=/oracle/oradata/vora11g/SYSTEM01.DBF tag=TAG20090402T194723 RECID=0 STAMP=0
channel c1: datafile copy complete, elapsed time: 00:00:44
channel c1: starting datafile copy
input datafile file number=00002 name=D:\ORACLE11G\ORADATA\ORA11G\SYSAUX01.DBF
output file name=/oracle/oradata/vora11g/SYSAUX01.DBF tag=TAG20090402T194723 RECID=0 STAMP=0
channel c1: datafile copy complete, elapsed time: 00:00:49
channel c1: starting datafile copy
input datafile file number=00005 name=D:\ORACLE11G\ORADATA\ORA11G\DATA_01.DBF
output file name=/oracle/oradata/vora11g/DATA_01.DBF tag=TAG20090402T194723 RECID=0 STAMP=0
channel c1: datafile copy complete, elapsed time: 00:00:27
channel c1: starting datafile copy
input datafile file number=00003 name=D:\ORACLE11G\ORADATA\ORA11G\UNDOTBS01.DBF
output file name=/oracle/oradata/vora11g/UNDOTBS01.DBF tag=TAG20090402T194723 RECID=0 STAMP=0
channel c1: datafile copy complete, elapsed time: 00:00:16
channel c1: starting datafile copy
input datafile file number=00004 name=D:\ORACLE11G\ORADATA\ORA11G\USERS01.DBF
output file name=/oracle/oradata/vora11g/USERS01.DBF tag=TAG20090402T194723 RECID=0 STAMP=0
channel c1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 02-APR-09

sql statement: alter system archive log current
contents of Memory Script:
{
   backup as copy reuse
   archivelog like  "D:\ORACLE11G\ORADATA\ARCH\ORA11G_1_48_678216811.ARC" auxiliary format
"/oracle/oradata/arc_stdvora11g_1_48_678216811.arc"   ;
   catalog clone archivelog  "/oracle/oradata/arc_stdvora11g_1_48_678216811.arc";
   switch clone datafile all;
}
executing Memory Script

Starting backup at 02-APR-09
channel c1: starting archived log copy
input archived log thread=1 sequence=48 RECID=71 STAMP=683149809
output file name=/oracle/oradata/arc_stdvora11g_1_48_678216811.arc RECID=0 STAMP=0
channel c1: archived log copy complete, elapsed time: 00:00:01
Finished backup at 02-APR-09

cataloged archived log
archived log file name=/oracle/oradata/arc_stdvora11g_1_48_678216811.arc RECID=1 STAMP=683139230

datafile 1 switched to datafile copy
input datafile copy RECID=24 STAMP=683139230 file name=/oracle/oradata/vora11g/SYSTEM01.DBF
datafile 2 switched to datafile copy
input datafile copy RECID=25 STAMP=683139230 file name=/oracle/oradata/vora11g/SYSAUX01.DBF
datafile 3 switched to datafile copy
input datafile copy RECID=26 STAMP=683139231 file name=/oracle/oradata/vora11g/UNDOTBS01.DBF
datafile 4 switched to datafile copy
input datafile copy RECID=27 STAMP=683139231 file name=/oracle/oradata/vora11g/USERS01.DBF
datafile 5 switched to datafile copy
input datafile copy RECID=28 STAMP=683139231 file name=/oracle/oradata/vora11g/DATA_01.DBF

contents of Memory Script:
{
   set until scn  1104554;
   recover
   standby
   clone database
    delete archivelog
   ;
}
executing Memory Script

executing command: SET until clause
Starting recover at 02-APR-09
starting media recovery
archived log for thread 1 with sequence 48 is already on disk as file /oracle/oradata/arc_stdvora11g_1_48_678216811.arc
archived log file name=/oracle/oradata/arc_stdvora11g_1_48_678216811.arc thread=1 sequence=48
media recovery complete, elapsed time: 00:00:01
Finished recover at 02-APR-09
Finished Duplicate Db at 02-APR-09

sql statement: alter system archive log current
released channel: c1


OK,到这里linux下那个physical dataguard就建好了.进入到恢复模式
SQL> recover managed standby database disconnect;
Media recovery complete.
SQL>

看一下日志:
Primary database is in MAXIMUM PERFORMANCE mode
RFS[3]: Successfully opened standby log 11: '/oracle/oradata/vora11g/STDREDO01.LOG'
Thu Apr 02 16:57:24 2009
kcrrvslf: active RFS archival for log 11 thread 1 sequence 51
RFS[2]: Successfully opened standby log 12: '/oracle/oradata/vora11g/STDREDO02.LOG'
Thu Apr 02 16:57:50 2009
Media Recovery Log /oracle/oradata/arc_stdvora11g_1_50_678216811.arc
Media Recovery Waiting for thread 1 sequence 51 (in transit)


OK了.
主库的归档路径配置:

    SQL> select dest_name,status,target,archiver,destination,db_unique_name
      
2  from v$archive_dest
       3  where db_unique_name<>'NONE';
     
     DEST_NAME            STATUS    TARGET  ARCHIVER   DESTINATION                     DB_UNIQUE_NAME
     -------------------- --------- ------- ---------- ------------------------------- ----------------
     LOG_ARCHIVE_DEST_1   VALID     PRIMARY ARCH       D:\oracle11g\oradata\arch       prim_11g
     LOG_ARCHIVE_DEST_2   VALID     STANDBY LGWR       std_11g                         std_11g
     LOG_ARCHIVE_DEST_3   VALID     PRIMARY ARCH       D:\oracle11g\oradata\arch_std   prim_11g
     LOG_ARCHIVE_DEST_4   VALID     STANDBY LGWR       vstd_11g                        vstd_11g

接下来,你就慢慢的玩吧.

论坛徽章:
150
蓝锆石
日期:2011-11-16 22:31:22萤石
日期:2011-11-17 13:05:31祖母绿
日期:2008-06-14 15:23:26海蓝宝石
日期:2011-11-16 22:25:15紫水晶
日期:2011-11-16 22:31:22红宝石
日期:2011-10-09 08:54:30蓝锆石
日期:2009-01-31 15:20:54萤石
日期:2008-12-22 15:22:00祖母绿
日期:2011-11-17 13:13:26海蓝宝石
日期:2008-07-05 14:52:18
2#
发表于 2009-4-5 16:27 | 只看该作者
最近很勤奋啊
利用我的权利鼓励一下

使用道具 举报

回复
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
3#
 楼主| 发表于 2009-4-5 20:46 | 只看该作者
原帖由 warehouse 于 2009-4-5 16:27 发表
最近很勤奋啊
利用我的权利鼓励一下


权力这个东西,一旦失去了监管,其实是很可怕的

使用道具 举报

回复
论坛徽章:
76
双子座
日期:2015-07-28 14:26:072012新春纪念徽章
日期:2012-02-13 15:09:52ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15鲜花蛋
日期:2011-08-26 02:02:24管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:皮划艇
日期:2011-04-18 11:24:412011新春纪念徽章
日期:2011-02-18 11:43:342011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:15
4#
发表于 2009-4-8 19:54 | 只看该作者
呵呵 不错

使用道具 举报

回复
论坛徽章:
1
5#
发表于 2009-4-9 18:54 | 只看该作者

使用道具 举报

回复
论坛徽章:
0
6#
发表于 2009-4-10 19:38 | 只看该作者
lihai a    peifu

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
122
马上加薪
日期:2014-02-19 11:55:14ITPUB官方微博粉丝徽章
日期:2011-06-28 19:45:36管理团队成员
日期:2011-05-07 01:45:082010广州亚运会纪念徽章:拳击
日期:2011-03-29 13:11:152010广州亚运会纪念徽章:篮球
日期:2011-02-20 22:50:172011新春纪念徽章
日期:2011-02-18 11:42:492011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:332011新春纪念徽章
日期:2011-01-25 15:42:152011新春纪念徽章
日期:2011-01-25 15:41:50
7#
发表于 2009-4-11 09:15 | 只看该作者
lz最近很闲嘛

使用道具 举报

回复
论坛徽章:
112
2008新春纪念徽章
日期:2008-02-13 12:43:03马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:14马上有车
日期:2014-11-03 12:40:39沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31慢羊羊
日期:2015-03-09 16:15:39
8#
 楼主| 发表于 2009-4-11 10:53 | 只看该作者
原帖由 NinGoo 于 2009-4-11 09:15 发表
lz最近很闲嘛


这是为了一个partner做培训时做的准备工作,顺便到这里灌了个水,好久不见你在这里溜达了!

使用道具 举报

回复
论坛徽章:
15
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442014年新春福章
日期:2014-02-18 16:41:11ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28ITPUB元老
日期:2011-05-06 08:54:442011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512010新春纪念徽章
日期:2010-03-01 11:04:59生肖徽章2007版:鼠
日期:2009-03-10 21:32:40生肖徽章2007版:猪
日期:2009-03-10 21:17:25CTO参与奖
日期:2009-01-15 11:42:46
9#
发表于 2009-4-15 08:22 | 只看该作者
tomszhang好久不见来论坛发表高建了呀

使用道具 举报

回复
论坛徽章:
0
10#
发表于 2009-5-18 16:59 | 只看该作者
...

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表