使用RMAN 配置Oracle9i DataGuard

使用RMAN 配置Oracle9i DataGuard

第一章 运行Data Guard的条件及配置环境... 2

运行Data Guard的条件... 2

Dataguard配置环境... 2

第二章 主库操作... 3

第三章 备份服务器操作... 4

第四章 备库操作... 5

附录A 常用命令... 10

附录B 脚本... 10

同步脚本:... 12

只读查询脚本:... 12

附录C SCN号查找方法... 13

第一章 运行Data Guard的条件及配置环境

运行Data Guard的条件

1 在主库和从库的所有机器上必须安装同一个版本的Oracle企业版。

2 主库必须运行在归档模式下。

3 主库和从库的操作系统必须一样(允许版本不同),从库可以使用与主库不同的目录结构。

4 主从库硬件系统的体系结构必须相同。比如:主库运行在64位的Sun Sparc系统上,如果从库是32 位的Linux Intel系统就不允许。主从库硬件的配置可以不同,如:CPU数量、内存大小、存储配置等。

5 主从库可以是单实例的数据库,也可以是多实例的RAC数据库。

6 每个主从库必须有它自己的控制文件。

7 如果把主从库放在了一个系统里,则必须调整初始化参数。

8 只要使用Data Guard就要保持主库是FORCE LOGGING模式,如果在主库上使用了no logging操作不生成日志,因此数据也不会传递到从库。

9 管理主从库的用户必须具有SYSDBA权限。

Dataguard配置环境

1 主库环境已经配置好

2 备库需要重新搭建

3 备份服务器已经配置好

4 /从数据库版本:oracle9.2.0.1.0

5 主库的操作系统:windowns 2000 adv

6 主库IP地址:192.168.1.15

7 备库的操作系统:Windows 2003 server

8 备库IP地址:192.168.1.21(与文档中的截图IP不同)

9 备份服务器:192.168.100.104

10、备份软件:Symantec Backup Exec 11d for Windows Servers (简称SBE 11D

第二章 主库操作

主库环境已经搭建好。

如果是新搭建的主库,需要做如下修改:

1、设置主数据库为force logging 模式

SQL> alter database force logging;

2、设置主数据库为归档模式

SQL> startup mount;

SQL> alter database archivelog;

3、创建主库的初始化参数给备库用

SQL> Create pfile from spfile;

产生的文件名为initorcl.ora 存放目录默认放在D:oracleora92database

create pfile='c:initqfyy.ora' from spfile;

4、拷贝主库的参数文件密码文件到备用服务器的D:oracleora92database

5、主库的tnsnames.ora里面指向的备库名称为:QFYYSTANDBY。与参数文件中的名称一致。

第三章 备份服务器操作

1、执行备份脚本,见附录B2009年3月7日,磁带备份需要四个小时。

2、修改D:oracleora92networkadmintnsnames.ora,新增一段,指向备用服务器:

21=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.21)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = qfyy)

)

)

第四章 备库操作

1、 安装Windows 2003 server

2、 安装oracle数据库(版本和主库一样),只安装软件,不创建数据库。

3、从备份服务器远程安装Remote Agent

4、创建standby服务器相应的Oracle目录,

D:oracleadminqfyybdump

D:oracleadminqfyycdump

D:oracleadminqfyycreate

D:oracleadminqfyypfile

D:oracleadminqfyyscripts

D:oracleadminqfyyudump

D:oracleoradataqfyy

5、创建qfyywindow服务

C:>oradim -new -sid qfyy -startmode m -pfile 'D:oracleora92databaseinitqfyy.ini'

备用数据库参数文件,见附件B

6、配置备份库的listener.ora

开始——程序——Oracle - OraHome92——Configuration and Migration Tools——Net Manager

a、增加“监听程序”,需要配置“监听位置”、“数据库服务”

b、增加“服务命名”

上图左边绿色的“+”是用来增加项目,点击“文件”——“保存网络配置”,保存修改。

7、在D:oracleora92networkadmin下有tnsnames.ora(对应“服务命名”)

listener.ora(对应“监听程序”)

可以直接对tnsnames.oralistener.ora文件进行修改。

8、修改tnsnames.ora,增加一项连接到备份服务器(192.168.100.104),添加内容如下:

104=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.104)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = qfyy)

)

)

9、在我的电脑上面点击“右键”——“管理”,找到服务项,检查看看有没有一下两个服务:

OracleOraHome92TNSListener(如果没有这个服务,可以在DOS窗口执行:lsnrctl start

OracleServiceqfyy

确定上面两个服务已经启动。

10、启动备用库到nomount状态

如果监听程序报错,可以重启监听服务和数据库服务或重启计算机。

SQL> conn sys/xxx@21 as sysdba

SQL> startup mount;

11、配置Remote Agent(在开始——程序菜单里面找Symantec Backup Exec for Windows Servers

上图的用户名:ch-03it-yinhyinhui 要和备份服务器上SBE 11D设置的用户名一致。IP为本机IP

12SBE 11D软件设置oracle连接帐号:工具——选项——oracle——修改列表。在这里新建,不做详解。

13、备用服务器上的硬盘空间要足够,依据参数文件,数据恢复到M:oradataqfyy,目录要先建立。

2009年3月7日,数据恢复需要130G

14、登录备份服务器,执行恢复脚本,见附录B

脚本的执行方法:先建一个bat文件,内容:rman log=clone_qfyy.log cmdfile=clone_qfyy.rcv

在当前目录先建clone_qfyy.log,把恢复脚本复制到clone_qfyy.rcv

connect catalog rman92/xxx@qfyytape /*磁带备份库

connect target sys/xxx@QFYY15 /*主库

connect auxiliary sys/xxx@21 /*备库

RUN {

allocate auxiliary channel t1 type 'sbt_tape';

SEND 'NBBSA_SOURCE_MACHINE_NAME=192.168.1.15';

set until scn 1384956743; SCN号查找方法见附录

duplicate target database to qfyy nofilenamecheck;

}

15、数据库恢复后。把主库的部分日志复制到备库,从那个日志序号开始复制,根据备库执行:alter database mount standby database后,recover standby database命令的提示,把主库的日志复制到从库的D:archive

16、再执行recover standby database,输入:auto,执行相关的日志文件。

17、执行完日志恢复后,关闭数据,重新启动。

执行如下命令,测试备用数据库能否正常开启。

SQL>shutdown immediate;

SQL>startup nomount;

SQL>alter database mount standby database;

SQL>alter database RECOVER MANAGED STANDBY DATABASE disconnect from session;

SQL>alter database RECOVER MANAGED STANDBY DATABASE cancel;

SQL>shutdown immediate;

SQL>startup nomount;

SQL>alter database mount standby database;

SQL>alter database open read only;

如果数据能够正常open,说明备库端配置成功。

18、登录主库,执行如下命令,开启日志传输:

ALTER SYSTEM SET log_archive_dest_state_3 = enable;

需要等待610分钟,日志会传输到备用服务器的M:archive

19、在备库执行:alter database RECOVER MANAGED STANDBY DATABASE disconnect from session后,

检查传输过来的归档日志文件是否被应用,可以查看日志:D:oracleadminqfyybdumpalert_qfyy.log

如果日志能够正常传到备用服务器,归档日志能够应用,那么环境就搭建好了。

20、可以在备用服务器上见计划任务,定时执行“同步脚本”、“只读查询脚本”,见附件B

附录A 常用命令

开启主库传送/关闭日志命令:

ALTER SYSTEM SET log_archive_dest_state_3 = ENABLE;

ALTER SYSTEM SET log_archive_dest_state_3 = DEFER;

在备库上执行的相关查询命令:

SQL>SELECT STATUS,APPLIED,name from v$archived_log;

SQL>select status,error from v$archive_dest where dest_id=2;

SQL>select process,status from v$managed_standby;

SQL>SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SQL> startup mount;

SQL> alter database archivelog;

创建控制文件

SQL> alter system set log_archive_dest_1='location=c:arc_primary' scope=both;

SQL> alter system set log_archive_dest_2='service=standby' scope=both;

SQL> alter system archive log current;

附录B 脚本

备份脚本:

connect catalog rman92/rman@qfyytape

connect target sys/xxx@qfyy15

run{

allocate channel c1 type sbt;

backup

incremental level 0

database

format 'db0_%d_%s_%p_%T'

tag = 'WHOLE_INC0'

include current controlfile for standby;

sql "alter system archive log current";

backup archivelog

from time 'sysdate-1/24'

format 'ar_%d_%s_%p_%T';

release channel c1;

}

恢复脚本

connect catalog rman92/rman@qfyytape

connect target sys/xxx@QFYY15

connect auxiliary sys/xxx@202

RUN {

allocate auxiliary channel t1 type 'sbt_tape';

SEND 'NBBSA_SOURCE_MACHINE_NAME=192.168.1.15';

set until scn 1384956743;

duplicate target database to qfyy nofilenamecheck;

}

备用数据库参数文件

*.background_dump_dest='d:oracleadminQFYYbdump'

*.compatible='9.2.0.0.0'

*.control_files='m:oradataQFYYcontrol01.ctl','m:oradataQFYYcontrol02.ctl','m:oradataQFYYcontrol03.ctl'

*.core_dump_dest='d:oracleadminQFYYcdump'

*.db_block_buffers=100000

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='QFYY'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

*.instance_name='QFYY'

*.java_pool_size=0

*.job_queue_processes=10

*.large_pool_size=12582912

*.log_archive_dest_1='location=m:archive'

*.log_archive_dest_2='location=d:archive'

*.log_archive_dest_3='SERVICE=QFYYSTANDBY'

*.log_archive_start=TRUE

*.log_buffer=1024000

*.open_cursors=300

*.pga_aggregate_target=419430400

*.processes=500

*.query_rewrite_enabled='FALSE'

*.remote_login_passwordfile='EXCLUSIVE'

*.service_names='QFYY'

*.shared_pool_size=350000000

*.sort_area_size=524288

*.star_transformation_enabled='FALSE'

*.timed_statistics=TRUE

*.undo_management='AUTO'

*.undo_retention=10800

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='d:oracleadminQFYYudump'

*.db_file_name_convert='M:oradataqfyy','M:oradataqfyy'

*.log_file_name_convert='M:oradataqfyy','M:oradataqfyy'

*.standby_archive_dest='m:archive'

*.log_archive_format = 'ARC%S.%T'

*.standby_file_management='AUTO'

*.remote_archive_enable='TRUE'

同步脚本:

set echo on

conn /as sysdba;

shutdown immediate;

startup nomount;

alter database mount standby database;

alter database RECOVER MANAGED STANDBY DATABASE disconnect from session;

disconnect;

set echo off

quit;

只读查询脚本:

set echo on

conn /as sysdba;

alter database RECOVER MANAGED STANDBY DATABASE cancel;

shutdown immediate;

startup nomount;

alter database mount standby database;

alter database open read only;

disconnect;

set echo off

quit;

附录C SCN号查找方法

运行rman

connect catalog rman92/xxx@qfyytape 记录备份信息的数据库

connect target sys/xxx@qfyy15 生产服务器

list backup summary completed after '2008-12-16'

list backupset 备份集号 查看SCN取最后一次日志记录的SCN结束号。

list backup summary completed after '2008-11-10'

查询最后一个日志备份记录的备份集号。

list backupset 备份集号 找最后一行的记录SCN的结束号。下图中红色圈内。

以上为Oracle9i DataGuard配置的方法,下次将写主、备数据库的切换。

[@more@]

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

转载于:http://blog.itpub.net/13080775/viewspace-1024396/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值