ITPUB??ì3
新一届的微软MVP评选已经开始,欢迎各位推荐!
ITPUB论坛 » Oracle新技术/11g » 利用VMWare建立11R1的物理DATA GUARD

标题: [Tips] 利用VMWare建立11R1的物理DATA GUARD
离线 yangtingkun
版主


精华贴数 12
个人空间 26721
技术积分 47563 (12)
社区积分 3163 (429)
注册日期 2001-12-29
论坛徽章:106
现任管理团队成员奥运纪念徽章NBA季后赛大富翁2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:自行车

发表于 2007-8-28 09:45 
利用VMWare建立11R1的物理DATA GUARD

利用虚拟机的功能,建立DATA GUARD是很简单的,基本上和利用冷备份没有太大的区别。


在执行上面的操作之前,确保已经安装了VMWare,并且建立好了数据库。

开始建立DATA GUARD。首先设置主数据库:

检查数据库的归档情况:
PHP code:


SQL
SELECT LOG_MODEFORCE_LOGGING FROM V$DATABASE;



LOG_MODE FOR

------------ ---

ARCHIVELOG NO



SQL
ALTER DATABASE FORCE LOGGING;



数据库已更改。



.

由于数据库已经是归档模式,不需要再进行设置。

设置主库的初始化参数:
PHP code:


SQL
ALTER SYSTEM SET DB_UNIQUE_NAME ‘ora11g_p’ SCOPE SPFILE;



系统已更改。



SQL
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG 'DG_CONFIG=(ora11g_p,ora11g_s)';



系统已更改。



SQL
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1 'LOCATION=/data/oracle/oradata/ora11g/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora11g_p' SCOPE SPFILE;



系统已更改。



SQL
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 'SERVICE=ora11g_s ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora11g_s';



系统已更改。



SQL
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1 ENABLE;



系统已更改。



SQL
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2 ENABLE;



系统已更改。



SQL
ALTER SYSTEM SET FAL_SERVER ‘ora11g_s’;



系统已更改。



SQL
ALTER SYSTEM SET FAL_CLIENT ‘ora11g_p’;



系统已更改。



SQL
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT AUTO;



系统已更改。



.

检查初始化参数REMOTE_LOGIN_PASSWORDFILE是否为EXCLUSIVE,如果不是需要将其修改为EXCLUSIVE:
PHP code:


SQL
SHOW PARAMETER REMOTE_LOGIN_PASSWORDFILE



NAME TYPE VALUE

------------------------------------ ----------- ----------------

remote_login_passwordfile string EXCLUSIVE



.

由于DB_UNIQUE_NAME不能直接修改,且DB_UNIQUE_NAME没有生效导致本地归档路径设置LOG_ARCHIVE_DEST_1无法生效,这两个参数的修改只修改到了SPFILE中。

由于使用VMWare进行数据库备份时,是需要关闭数据库的,因此重启数据库是可以接受的。

对于其他环境无法重启数据库,可以考虑不修改DB_UNIQUE_NAME的值,只要在STANDBY数据库中修改DB_UNIQUE_NAME使之与主库不相等即可。

为了STANDBY的建立更加方便,先将PFILE和STANDBY CONTROLFILE建立好,再关闭数据库。
PHP code:


SQL
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/standbycontrol01.ctl';



数据库已更改。



SQL
CREATE PFILE '/home/oracle/initora11g_s.ora' FROM SPFILE;



文件已创建。



.

下面可以关闭数据库和虚拟机,然后将整个虚拟机的.vmdk文件拷贝到另一个目录中。

注意,关闭数据库的时候不要使用SHUTDOWN ABORT,否则容易导致STANDBY数据库建立出现问题。

SQL> SHUTDOWN IMMEDIATE数据库已经关闭。已经卸载数据库。
ORACLE 例程已经关闭。

等到拷贝结束,先将刚才关闭的虚拟机重启,并启动数据库和监听。

然后新建一个虚拟机:选择CUSTOM——NEW WORKSTATION 5——LINUX,在LINUX类型中选择OTHER LINUX。

设置合适位置,输入虚拟机的名称,这里选择名称为Oracle Enterprise linux 5 x86(2)。

确定后,选择虚机可以使用的CPU进程和内存。设置网络为桥连方式。SCSI适配器选择LSI Logic。

磁盘选择已经存在的文件,并选择刚刚拷贝的文件名,点击完成。

下面就可以启动第二个虚拟环境了。

首先将创建好的STANDBY控制文件,放到初始化文件中制定的位置上,覆盖原有的控制文件:

$ cp /home/oracle/standbycontrol01.ctl /data/oracle/oradata/ora11g/ORA11G/controlfile/o1_mf_3d378sn2_.ctl
$ cp /home/oracle/standbycontrol01.ctl /data/oracle/flash_recovery_area/ORA11G/controlfile/o1_mf_3d378t47_.ctl

配置PRIMARY和STANDBY数据库的TNSNAMES.ORA添加下列内容:

ORA11G_P =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.4.127)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora11g_p.ytk-thinkpad)
)
)

ORA11G_S =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.4.70)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora11g_s.ytk-thinkpad)
)
)

启动监听。然后修改STANDBY的初始化参数,对下面的初始化参数进行修改:

*.db_unique_name='ora11g_s'
*.fal_client='ora11g_s'
*.fal_server='ora11g_p'
*.log_archive_dest_1='LOCATION=/data/oracle/oradata/ora11g/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ora11g_s'
*.log_archive_dest_2='SERVICE=ora11g_p ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ora11g_p'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'

利用修改好的PFILE创建SPFILE,然后就可以启动STANDBY数据库了。
PHP code:


sqlplus "/ as sysdba"



SQL*PlusRelease 11.1.0.6.0 Production on Mon Aug 27 19:16:42 2007



Copyright 
(c19822007OracleAll rights reserved.



Connected to an idle instance.



SQLcreate spfile from pfile='/home/oracle/initora11g_s.ora';



File created.



SQLstartup nomount

ORACLE instance started
.



Total System Global Area 267825152 bytes

Fixed Size 1299316 bytes

Variable Size 150998156 bytes

Database Buffers 113246208 bytes

Redo Buffers 2281472 bytes

SQL
alter database mount;



Database altered.



SQLalter database recover managed standby database disconnect from session;



Database altered.



.

最后验证一下STANDBY配置已经生效:
PHP code:


SQL
alter session set nls_date_format 'yyyy-mm-dd hh24:mi:ss';



Session altered.



SQLselect sequence#, first_time, next_time

2 from v$archived_log

3 order by 1
;



SEQUENCE# FIRST_TIME NEXT_TIME

---------- ------------------- -------------------

64 2007-08-24 05:06:45 2007-08-24 22:53:36

65 2007
-08-24 22:53:36 2007-08-24 23:20:42

66 2007
-08-24 23:20:42 2007-08-27 16:22:08

67 2007
-08-27 16:22:08 2007-08-27 16:36:08



SQL
conn yangtk/yangtk@ora11g_p

Connected
.

SQLalter system switch logfile;



System altered.



SQLconn / as sysdba 

Connected
.

SQLalter session set nls_date_format 'yyyy-mm-dd hh24:mi:ss';



Session altered.



SQLselect sequence#, first_time, next_time

2 from v$archived_log

3 order by 1
;



SEQUENCE# FIRST_TIME NEXT_TIME

---------- ------------------- -------------------

64 2007-08-24 05:06:45 2007-08-24 22:53:36

65 2007
-08-24 22:53:36 2007-08-24 23:20:42

66 2007
-08-24 23:20:42 2007-08-27 16:22:08

67 2007
-08-27 16:22:08 2007-08-27 16:36:08

68 2007
-08-27 16:36:08 2007-08-27 17:09:39



.

由于使用了VMWare,备份虚机相当于Oracle数据库的一个冷备份。因此STANDBY的建立过程和9i下的差别不大。一个是从10g开始增加的初始化参数DB_UNIQUE_NAME参数,还有就是STANDBY数据库启动的时候不需要MOUNT STANDBY数据库了,直接可以启动到MOUNT阶段,然后应用主库的日志。

原文出自:http://yangtingkun.itpub.net/post/468/388465


__________________
学习ORACLE最大的障碍是什么——浮躁

http://yangtingkun.itpub.net

个人BLOG文章索引:http://www.itpub.net/showthread.php?s=&threadid=699527

11g的一点研究:http://www.itpub.net/852861.html
只看该作者    顶部
离线 vongates
开门


精华贴数 3
个人空间 0
技术积分 19502 (48)
社区积分 10046 (157)
注册日期 2002-11-28
论坛徽章:83
现任管理团队成员2008北京奥运纪念徽章:羽毛球2008北京奥运纪念徽章:排球2008年新春纪念徽章  
      

发表于 2007-8-29 05:39 


从10g起在mount的时候就不需要加standby这个key word了。


__________________
只看该作者    顶部
离线 yangtingkun
版主


精华贴数 12
个人空间 26721
技术积分 47563 (12)
社区积分 3163 (429)
注册日期 2001-12-29
论坛徽章:106
现任管理团队成员奥运纪念徽章NBA季后赛大富翁2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:自行车

发表于 2007-8-29 14:53 


QUOTE:
最初由 vongates 发布


从10g起在mount的时候就不需要加standby这个key word了。



从DATA GUARD的建立过程上看,和10g的差别不大


__________________
学习ORACLE最大的障碍是什么——浮躁

http://yangtingkun.itpub.net

个人BLOG文章索引:http://www.itpub.net/showthread.php?s=&threadid=699527

11g的一点研究:http://www.itpub.net/852861.html
只看该作者    顶部
离线 yangtingkun
版主


精华贴数 12
个人空间 26721
技术积分 47563 (12)
社区积分 3163 (429)
注册日期 2001-12-29
论坛徽章:106
现任管理团队成员奥运纪念徽章NBA季后赛大富翁2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:自行车

发表于 2007-8-31 13:36 
补充一下,10g和11g物理STANDBY不需要alter database open read only了。

直接STARTUP就是以READ ONLY方式打开。


__________________
学习ORACLE最大的障碍是什么——浮躁

http://yangtingkun.itpub.net

个人BLOG文章索引:http://www.itpub.net/showthread.php?s=&threadid=699527

11g的一点研究:http://www.itpub.net/852861.html
只看该作者    顶部
离线 flying.hg
资深会员



精华贴数 0
个人空间 0
技术积分 2094 (761)
社区积分 46 (5122)
注册日期 2007-3-10
论坛徽章:5
会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章   
      

发表于 2007-8-31 16:07 
請教一下,能否實現primary database是9i,standby database是11G,這樣的datagard架構!
想使用11G的在綫查詢和恢復功能,但暫時系統不能升級到11g!


__________________
欢迎和大家探讨!
blog:http://hi.baidu.com/flying_hg
msn:flying.hg@hotmail.com
只看该作者    顶部
离线 棉花糖ONE


精华贴数 0
个人空间 0
技术积分 15392 (70)
社区积分 1285 (805)
注册日期 2007-2-21
论坛徽章:51
现任管理团队成员数据库板块每日发贴之星生肖徽章2007版:羊生肖徽章2007版:虎  
      

发表于 2007-8-31 16:26 


QUOTE:
最初由 flying.hg 发布
請教一下,能否實現primary database是9i,standby database是11G,這樣的datagard架構!
想使用11G的在綫查詢和恢復功能,但暫時系統不能升級到11g!


dataguard要求主备库是相同版本的


__________________
换一种思路来思考问题

qq群:47823366
只看该作者    顶部
离线 yangtingkun
版主


精华贴数 12
个人空间 26721
技术积分 47563 (12)
社区积分 3163 (429)
注册日期 2001-12-29
论坛徽章:106
现任管理团队成员奥运纪念徽章NBA季后赛大富翁2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:自行车

发表于 2007-8-31 16:28 
rolling update应该指的是打patch,估计大版本的升级不行。

而且,PRIMARY数据库应该至少是11g以上


__________________
学习ORACLE最大的障碍是什么——浮躁

http://yangtingkun.itpub.net

个人BLOG文章索引:http://www.itpub.net/showthread.php?s=&threadid=699527

11g的一点研究:http://www.itpub.net/852861.html
只看该作者    顶部
离线 flying.hg
资深会员



精华贴数 0
个人空间 0
技术积分 2094 (761)
社区积分 46 (5122)
注册日期 2007-3-10
论坛徽章:5
会员2007贡献徽章授权会员ITPUB新首页上线纪念徽章   
      

发表于 2007-8-31 19:56 
多謝各位!·

看來只能等到升級11G了,才能享受到這個功能了!


__________________
欢迎和大家探讨!
blog:http://hi.baidu.com/flying_hg
msn:flying.hg@hotmail.com
只看该作者    顶部
离线 piner
that's life


精华贴数 15
个人空间 0
技术积分 63080 (7)
社区积分 1695 (670)
注册日期 2003-2-24
论坛徽章:38
现任管理团队成员2007年度最佳版主2006年度最佳技术精华原创ITPUB元老Heart of PUBHeart of PUB
ITPUB北京九华山庄2008年会纪念徽章管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章蓝锆石会员2007贡献徽章

发表于 2007-9-27 14:04 


QUOTE:
最初由 yangtingkun 发布
rolling update应该指的是打patch,估计大版本的升级不行。

而且,PRIMARY数据库应该至少是11g以上


看文档是可以做10g-->11g 的data guard


__________________
if not now,when?if not me,who?

欢迎访问我的网站Blog www.ixdba.com

欢迎访问Taobao dba团队Blog www.taobaodba.com

热烈庆祝新书出版,欢迎购买

天将降大任于斯人也,必先苦其心志,劳其筋骨,饿其体肤
只看该作者    顶部
离线 yangtingkun
版主


精华贴数 12
个人空间 26721
技术积分 47563 (12)
社区积分 3163 (429)
注册日期 2001-12-29
论坛徽章:106
现任管理团队成员奥运纪念徽章NBA季后赛大富翁2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:拳击2008北京奥运纪念徽章:柔道
2008北京奥运纪念徽章:皮划艇静水2008北京奥运纪念徽章:体操2008北京奥运纪念徽章:曲棍球2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:举重2008北京奥运纪念徽章:自行车

发表于 2007-9-27 14:41 


QUOTE:
最初由 piner 发布



看文档是可以做10g-->11g 的data guard


查了一下文档,Oracle 10.1.0.3开始可以利用LOGICAL STANDBY进行ROLLING UPGRADE



__________________
学习ORACLE最大的障碍是什么——浮躁

http://yangtingkun.itpub.net

个人BLOG文章索引:http://www.itpub.net/showthread.php?s=&threadid=699527

11g的一点研究:http://www.itpub.net/852861.html
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问