欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

单机搭建Data Guard

程序员文章站 2022-05-19 09:50:06
...

搭建环境:RedHatLinuxEnterprise5.4Oracle10gR2主机操作系统主要信息为192.168.199.128.搭建准备:已存在主库(生产库)DB_NAME=mustangSID=april开始搭建DataG

搭建环境: Red Hat Linux Enterprise 5.4 Oracle 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]$ ls listener.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:37 Copyright (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 - Production System parameter file is /home/oracle/product/10.2.0/db_1/network/admin/listener.ora Log messages written to /home/oracle/product/10.2.0/db_1/network/log/listener.log Trace information written to /home/oracle/product/10.2.0/db_1/network/trace/listener.trc Listening 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 LISTENER Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production Start Date 26-JUL-2012 20:59:37 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level user Security ON: Local OS Authentication SNMP OFF Listener Parameter File /home/oracle/product/10.2.0/db_1/network/admin/listener.ora Listener Log File /home/oracle/product/10.2.0/db_1/network/log/listener.log Listener Trace File /home/oracle/product/10.2.0/db_1/network/trace/listener.trc Listening 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来检查,是否配置成功: