搭建环境:red hat linux enterprise 5.4oracle 10g r2主机操作系统主要信息为192.168.199.128.搭建准备:已存在主库(生产库)db_name=mustang sid=april 开始搭建data guard首先需要准备好参数文件,网站空间,设定一些必要的参数。在主库,先通过spfile生成pfile文件:sql>create pfile=’/home/oracle/product/10.2initapril.ora’ from spfile; 然后修改主库新生成的initapril.ora参数文件。在原有的基础上添加如下内容:修改完参数文件之后,要重新打开主库,然后通过iniapril.ora来创建spfile。如下:sql>create spfile=’/home/oracle/product/10.2.0/db_1/dbs/spfileapril.ora’ from pfile=’ /home/oracle/product/10.2.0/db_1/dbs/initapril.ora’; 接下来的工作就是要通过主库的参数文件,创建备库需要的参数文件,在主库上运行:
sql>create pfile=’ /home/oracle/product/10.2.0/db_1/dbs/initstandby.ora’ from spfile; 编辑initstandby.ora。如下所示:保存initstandby.ora参数文件。通过initstandby.ora生成动态文件spfilestandby.ora:在主库上创建我们的密码文件:
[oracle@localhost dbs]$orapwd file=’ /home/oracle/product/10.2.0/db_1/dbs/orapwstandby’ password=oracle entries=10 通过主库的控制文件生成我们备库的控制文件:sql>alter database create standby controlfile as ‘/home/oracle/standby.ctl’; 开始创建备库:首先创建备库的目录结构,这里我们以主库位于同一目录:主库:/home/oracle/mustang 主库归档文件:/home/oracle/archive于是我们在/home/oracle下创建我们的备库目录:
下一步就是要配置监听(如果没有监听standby是启动不了的)。在配置监听之前,首先要进行一步就是要生成备库的密码文件:
[oracle@localhost dbs]$orapwd file=’ /home/oracle/product/10.2.0/db_1/dbs/orapwstandby’ password=oracle entries=10 将路径切换到/home/oracle/product/10.2.0/db_1/network/admin下。通过ls命令可以看到:[oracle@localhost admin]$ lslistener.ora shrept.lst sqlnet.log tnsnames.ora再配置监听之前,要先将我们的监听服务停止:lsnrctl stop。开始配置监听首先配置tnsnames.ora文件。设定服务名(因为我们这里是单机,所以配置在本机上配置就行了,如果是两台机的话,就要在主备库的tnsnames.ora同时修改):接下来配置listener.ora文件(建议用途netmgr配置,香港服务器,比较方便,因为手工配置容易出错)。配置如下:至此我们的监听配置就完成,启动监听器:
[oracle@localhost admin]$ lsnrctl start 出现如下内容说明,已经配置成功:lsnrctl for linux: version 10.2.0.1.0 - production on 26-jul-2012 20:59:37copyright (c) 1991, 2005, oracle. all rights reserved.starting /home/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...tnslsnr for linux: version 10.2.0.1.0 - productionsystem parameter file is /home/oracle/product/10.2.0/db_1/network/admin/listener.oralog messages written to /home/oracle/product/10.2.0/db_1/network/log/listener.logtrace information written to /home/oracle/product/10.2.0/db_1/network/trace/listener.trclistening on: (description=(address=(protocol=tcp)(host=localhost.localdomain)(port=1521)))listening on: (description=(address=(protocol=tcp)(host=localhost.localdomain)(port=1522)))connecting to (description=(address=(protocol=tcp)(host=localhost.localdomain)(port=1521)))status of the listener------------------------alias listenerversion tnslsnr for linux: version 10.2.0.1.0 - productionstart date 26-jul-2012 20:59:37uptime 0 days 0 hr. 0 min. 0 sectrace level usersecurity on: local os authenticationsnmp offlistener parameter file /home/oracle/product/10.2.0/db_1/network/admin/listener.oralistener log file /home/oracle/product/10.2.0/db_1/network/log/listener.loglistener trace file /home/oracle/product/10.2.0/db_1/network/trace/listener.trclistening endpoints summary... (description=(address=(protocol=tcp)(host=localhost.localdomain)(port=1521))) (description=(address=(protocol=tcp)(host=localhost.localdomain)(port=1522)))services summary...service mustang has 1 instance(s). instance april, status unknown, has 1 handler(s) for this service...service standby has 1 instance(s). instance standby, status unknown, has 1 handler(s) for this service...the command completed successfully我们也可以通过tnsping来检查,是否配置成功:
