ORACLE10G通过RMAN创建DATAGUARD步骤
- 格式:doc
- 大小:57.50 KB
- 文档页数:8
ORACLEG搭建DATAGUARD步骤搭建Oracle11g Data Guard需要以下步骤:1. 确保主/备数据库的版本和配置要求:首先,主数据库和备数据库的Oracle版本必须匹配,且需要安装和配置相同的操作系统。
同时,还需要确保主/备数据库的参数设置和硬件要求是一致的。
2. 创建主数据库:使用Oracle Database ConfigurationAssistant(DBCA)创建主数据库。
在创建数据库过程中,确保将主数据库配置为运行在归档日志模式下,以便能够启用数据保护模式并实现归档日志传送到备库。
3. 备份主数据库:在搭建Data Guard之前,需要对主数据库进行备份。
这样可以确保在搭建过程中出现任何问题时,能够快速还原主数据库。
4. 安装备数据库:在备数据库所在的服务器上安装Oracle软件,并确保配置与主数据库相同的操作系统和Oracle版本。
5. 配置备数据库参数:在备数据库上修改参数文件,以确保与主数据库保持一致。
将数据库配置为运行在归档日志模式下,并启用自动归档和数据保护模式。
还需要配置Log Archive Destination(LAD)和Fast Recovery Area(FRA)。
6. 启动备库模式:在备库上启动数据库,并将数据库模式设置为mount。
执行以下命令启动数据库:```startup mount;```7.创建备数据库控制文件:在备库上创建控制文件的物理副本,以便能够使用这些文件启动和恢复备库。
执行以下命令创建备数据库控制文件副本:```ALTER DATABASE CREATE STANDBY CONTROLFILE AS'path_to_control_file_copy';```8.将备库注册到主数据库:在主数据库上执行以下命令,将备库注册到主数据库:```ALTER SYSTEM SETLOG_ARCHIVE_CONFIG='DG_CONFIG=(primary_database,standby_datbase)';ALTER SYSTEM SETLOG_ARCHIVE_DEST_2='SERVICE=standby_database LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=standby_database';```9.复制主数据库备份到备数据库服务器上:将主数据库备份传输到备数据库所在的服务器。
文档标识文件状态:[] 草稿[√] 正式发布[ ] 正在修改Oracle Dataguard实施文档版本:1.0.0编制涂青2015年2月1日审核批准年月日生效日期:年月日修订历史记录日期版本修订说明作者目录第一章引言 (4)**. 编写目的 (4)**. 定义、首字母缩写词和缩略语 (4)第二章................................................................................................. 安装主、备库O RACLE软件4**. 安装前规划 (4)**. 修改/ETC/HOSTS(主、备) (4)**. 检查并建立相关目录(主、备) (4)**. 数据文件目录 (4)**. 归档日志文件目录 (5)**. 临时备份文件目录 (5)**. 做好数据备份 (5)第三章................................................................................................................ D ATA G UARD配置5**. SQLPLUS登录主库,修改为强制归档模式,并修改相关参数 (5)**. 重启主库至OPEN状态并开启归档模式 (6)**. 编辑主库及备库的TNSNAME.ORA文件 (6)**. 在主库进入RMAN模式 (6)**. 在主库上生成备库的控制文件及参数文件 (7)**. 将主库RMAN生产的备份文件、控制文件、参数文件、密码文件拷贝至备库 (7)**. 在主库上生成“造目录”文件 (7)**. 在主库 (7)**. 在备库 (7)**. 在备库上更改参数文件FAPDBWB.PFILE,修改其中主备库相关参数 (7)**. 在备库上将STANDBY控制文件拷到参数文件中所指位置 (9)**. 在备库上使用修改的参数文件启动备库数据库 (9)**. 在备库上用RMAN恢复备份 (9)**. 在备库上创建SPFILE文件 (9)**. 在主库和备库上增加STANDBY REDOLOGFILE文件 (10)**. 查询主库状态 (10)**. 在备节点开启DG同步状态 (10)**. 主备库查询比对 (11)第一章引言1.1. 编写目的本文档描述了配置Oracle Dataguard的详细步骤,编写的目的是为了使用者能够快速进行ORACLE DataGuard的配置,以便实现数据的容灾或其他查询等目的。
一:实验环境介绍***鉴于生产环境均采用64位系统和数据库软件,本实验也将采用这个标准***采用vmware workstation 10(版本随意,我用的10)虚拟机软件作为安装平台对于真机的要求:CPU:INTEL:CORE I3级别或以上(推荐)AMD :4核心CPU或以上(推荐)内存:建议4G以上系统:WIN7 /8 64位/WINDOWS SERVER 2003/2008 64位硬盘:虚拟机所在分区剩余空间50G以上,固态硬盘最好虚拟机系统:Oracle Enterprise Linux 5 update 5(64位)数据库版本:Oracle 11gR2 11.2.0.3 (64位)基础要求:(1)安装两台虚拟机分别作为主库和备库,硬盘大小随意。
但要保证根分区有20G,别给太小了就行。
物理内存1G,SWAP 2G关于Active database duplication方式:(必看)在Oracle 10g下,我们可以使用RMAN duplicate 命令创建一个具有不同DBID 的复制库。
到了Oracle 11gR2,RMAN 的duplicate 有2种方法实现:1. Active database duplication (本文所使用的方式,适用于11gR2之后的版本)2. Backup-based duplication (传统方式,10g,11g通用)Active database duplication 通过网络,直接copy target 库到auxiliary 库,然后创建复制库。
这种方法就不需要先用RMAN 备份数据库,然后将备份文件发送到auxiliary端。
这个功能的作用是非常大的。
尤其是对T级别的库。
因为对这样的库进行备份,然后将备份集发送到备库,在进行duplicate 的代价是非常大的。
一备份要占用时间,二要占用备份空间,三在网络传送的时候,还需要占用带宽和时间。
Oracle MAA/Data guard 配置配置任务:一、收集文件并执行备份二、在standby节点上配置oracle net service三、在standby节点上创建standby instance和database四、为primary database配置Data guard五、校验Data guard的配置配置场景:1、primary RAC 数据库存储采用ASM2、standby节点已经安装了oracle软件并且应用了最新oracle patch3、standby数据库存储采用文件系统配置步骤:收集文件并执行备份1、在任一primary节点上创建staging directorymkdir –p …2、在standby节点上创建staging directorymkdir –p …3、在primary节点上的staging directory里面创建primary数据库pfilecreate pfile=’…’ from spfile;4、对primary数据库执行RMAN全库备份并将备份文件置入primary节点上的stagingdirectoryrman target /backup device type disk format ‘…/%U’ database plus archivelog;backup device type disk format ‘…/%U’ current controlfile for standby;5、将任一primary节点上的listener.ora、tnsnames.ora、sqlnet.ora文件copy到primary节点上的staging directory6、copy primary节点上的staging directory里面所有内容到standby节点上的staging directory里面在standby节点上配置oracle net service1、将standby节点上的staging directory里面的listener.ora、tnsnames.ora、sqlnet.ora文件copy到standby节点上的$ORACLE_HOME/network/admin目录里面2、在standby节点上修改listener.ora文件(包括standby host的hostname)3、在所有primary和standby节点上修改tnsnames.ora文件(包括所有primary和standby数据库net service)Primary Net Service Names Standby Net Service NameCHICAGO1_SERV = (DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = chicago_host1vip) (PORT = 1521))(CONNECT_DA TA =(SERVER = DEDICATED) (SERVICE_NAME = CHICAGO) (INSTANCE_NAME = CHICAGO1) )) BOSTON = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP) (HOST = boston_host1) (PORT = 1521)) (CONNECT_DA TA = (SERVER = DEDICATED) (SERVICE_NAME = BOSTON) ))CHICAGO2_SERV = (DESCRIPTION =(ADDRESS =(PROTOCOL = TCP)(HOST = chicago_host2vip) (PORT = 1521))(CONNECT_DA TA =(SERVER = DEDICATED) (SERVICE_NAME = CHICAGO) (INSTANCE_NAME = CHICAGO2) ))在standby节点上创建standby instance和database1、为了保证primary数据库redo数据向standby数据库的安全传递,在standby节点上的$ORACLE_HOME/dbs目录下创建oracle password file,注意sys密码必须与primary数据库的一致。
Oracle 10g可以通过基于备份的rman DUPLICATE实现dataguard,通过步骤需要对数据库进行备份,并在standby侧进行数据库的恢复。
而到了11g,oracle推出了Duplicate From Active Database技术,不需要再对数据库进行rman备份恢复,一切动作都通过网络自动完成。
1.对主数据库进行必要的更改。
a. 启用force logging。
b. 拷贝密码文件到从节点。
c. 创建备用redo 日志。
d. 修改参数文件,使其适用于Dataguard。
2. 确保sql*net 连接正常。
3. 使用主数据库活动文件,通过网络创建备用数据库。
a. 创建密码文件b. 为备用数据库(辅助数据库)创建初始化参数文件c. 为数据库文件创建需要的装载点或文件夹d. 连接至主数据库作为其目标数据库,以运行创建备用ON STANDBY。
第一步:主库(primary)的环境配置1、确认数据库处于归档模式:SQL> select log_mode from v$database;2、允许数据库强制日志SQL> ALTER DATABASE FORCE LOGGING;SQL>select force_logging from v$database;3、添加standby日志文件SQL> alter database add standby logfile '/opt/app/oracle/oradata/study/standby01.log' size 100M;SQL> alter database add standby logfile '/opt/app/oracle/oradata/study/standby02.log' size 100M;SQL> alter database add standby logfile '/opt/app/oracle/oradata/study/standby03.log' size 100M;SQL> alter database add standby logfile '/opt/app/oracle/oradata/study/standby04.log' size 100M;4,修改primary参数文件spfile,需要设置以下8个参数SQL>alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(pridb,stadb)';SQL> alter system set db_unique_name='pridb' scope=spfile;SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=/opt/app/oracle/pridb VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pridb';SQL>alter system set LOG_ARCHIVE_DEST_2='SERVICE=stadb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=stadb';SQL> alter system set LOG_ARCHIVE_DEST_STATE_1=ENABLE;SQL> alter system set FAL_SERVER=stadb;SQL> alter system set FAL_CLIENT=pridb;SQL> alter system set DB_FILE_NAME_CONVERT='/opt/app/oracle/oradata/study','/opt/app/oracle/oradata/aux' scope=spfile;SQL> alter system set LOG_FILE_NAME_CONVERT='/opt/app/oracle/oradata/study ','/opt/app/oracle/oradata/aux' scope=spfile;第二步、网络相关配置(确保sql*net 连接正常)1、在备库stadb中的listener.ora中加入stadb的条目:SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = stadb)(ORACLE_HOME = /opt/app/oracle/product/10.2.0/db_1)(SID_NAME = stadb)))LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.9)(PORT = 1521)))2、在主库上修改service_names参数:SQL>alter system set service_names='studby,pridb';3、主库和备库的TNSNAMES.ORA 应该有两个条目:STADB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.9)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = stadb)))PRIDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.239)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = pridb)))4、在主数据库和备用数据库中使用以下命令,检查SQL*Net 配置:$tnsping pridb$tnsping stadb第三步:创建备用数据库1、从主数据库$ORACLE_HOME/dbs 中复制密码文件,并将其重命名为备用数据库名称。
[-] 1.最简单的11g Active DataGuardADG搭建配置过程项目步骤1.一环境介绍2.二11g ADG部署1.pri端和sty端配置静态监听2.修改primary端初始化参数文件3.在primary端pfile参数文件和密码文件并且拷贝到standby段相应位置4.修改standby端的监听文件及初始化参数文件5.在primary端通过Rman Duplicate创建备库在db01上执行如下命令6.在primary和standby端添加standby日志7.在standby端开启实时日志应用3.三开始测试ADG1.执行日志切换测试在pri端切换归档在节点二上检查是否也发生了切换2.查看standby启动的DG进程3.查看数据库的保护模式4.查看DG的日志信息5.Open Read Only standby数据库并且开启实时日志应用6.解锁scott用户添加数据验证数据是否能同步4.四ADG三种模式切换及介绍1.ADG有三种PROTECTIONAVAILABILITYPERFORMANCE模式具体参考探索Oracle11gR2之DataGuard_03三种保护模式5.五切换测试1.ADG做switchover切换测试2.ADG做fail over切换测试最简单的11g Active DataGuard(ADG)搭建配置过程(项目步骤)一、环境介绍:我在db01和db02两台Linux虚拟机上首先分别安装了一套数据库软件,在db01主机上创建了名为woo的数据库;我们这次的实验是要搭建了一套Oracle11g Active DataGuard;目的是为了实现数据库同步的功能,并且了解Oracle11g DG的基本功能。
db01:192.168.1.50db02:192.168.1.51二、11g ADG部署:1、pri端和sty端配置静态监听[python]view plain copy print?1.[oracle@sty admin]$cat listener.ora2.#listener.ora Network Configuration File:/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora3.#Generated by Oracle configuration tools.4.5.SID_LIST_LISTENER=6.(SID_LIST=7.(SID_DESC=8.(SID_NAME=PLSExtProc)9.(ORACLE_HOME=/DBSoft/oracle/product/11.2.4/dbhome_1)10.(PROGRAM=extproc)11.)12.(SID_DESC=13.(SID_NAME=Woo)14.(ORACLE_HOME=/DBSoft/oracle/product/11.2.4/dbhome_1)15.)16.)17.18.[oracle@sty admin]$cat tnsname.ora19.#tnsnames.ora Network Configuration File:/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/tnsnames.ora20.#Generated by Oracle configuration tools.21.22.STY=23.(DESCRIPTION=24.(ADDRESS_LIST=25.(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.51)(PORT=1521))26.)27.(CONNECT_DATA=28.(SERVICE_NAME=woo)29.)30.)31.32.PRI=33.(DESCRIPTION=34.(ADDRESS_LIST=35.(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.50)(PORT=1521))36.)37.(CONNECT_DATA=38.(SERVICE_NAME=woo)39.)40.)2、修改primary端初始化参数文件[sql]view plain copy print?1.startup mount;2.alter database archivelog;3.alter database force logging;4.alter database open;5.alter system set log_archive_config='DG_CONFIG=(pri,sty)'scope=spfile;6.alter system set log_archive_dest_1='LOCATION=/DBBackup/Archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=pri'scope=spfile;7.alter system set log_archive_dest_2='SERVICE=sty LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=sty'scope=spfile;8.alter system set log_archive_dest_state_1=ENABLE;9.alter system set log_archive_dest_state_2=ENABLE;10.alter system set fal_server=sty scope=spfile;11.alter system set fal_client=pri scope=spfile;12.alter system set standby_file_management=AUTO scope=spfile;3、在primary端pfile参数文件和密码文件,并且拷贝到standby段相应位置[python]view plain copy print?1.SQL>create pfile from spfile;2.3.File created.4.5.[oracle@db01dbs]$scp initwoo.ora orapwwoo db02:/DBSoft/oracle/product/11.2.4/dbhome_1/dbs6.oracle@192.168.1.51's password:7.initwoo.ora100%1260 1.2KB/s00:008.orapwwoo100%1536 1.5KB/s00:009.10.[oracle@db01oracle]$scp-r admin/diag/fast_recovery_area/oradata/192.168.1.51:$ORACLE_BASE11.oracle@192.168.1.51's password:12.init.ora.512201522543100%1778 1.7KB/s00:0113.dp.log100%1160.1KB/s00:0014.........4、修改standby端的监听文件及初始化参数文件[sql]view plain copy print?1.--修改监听文件2.[oracle@db02~]$cd$ORACLE_HOME/network/admin3.[oracle@db02admin]$vi listener.ora4.#listener.ora Network Configuration File:/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora5.#Generated by Oracle configuration tools.6.7.LISTENER=8.(DESCRIPTION_LIST=9.(DESCRIPTION=10.(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))11.(ADDRESS=(PROTOCOL=TCP)(HOST=db02)(PORT=1521))12.)13.)14.15.SID_LIST_LISTENER=16.(SID_LIST=17.(SID_DESC=18.(SID_NAME=PLSExtProc)19.(ORACLE_HOME=/DBSoft/oracle/product/11.2.4/dbhome_1)20.(PROGRAM=extproc)21.)22.23.(SID_DESC=24.(GLOBAL_DBNAME=woo)25.(ORACLE_HOME=/DBSoft/oracle/product/11.2.4/dbhome_1)26.(SID_NAME=woo)27.)28.29.)30.31.ADR_BASE_LISTENER=/DBSoft/oracle32.33.--启动监听34.[oracle@db02dbs]$lsnrctl start35.36.LSNRCTL for Linux:Version11.2.0.4.0-Production on17-JUN-201521:29:5737.38.Copyright(c)1991,2013,Oracle.All rights reserved.39.40.Starting/DBSoft/oracle/product/11.2.4/dbhome_1/bin/tnslsnr:please wait...41.42.TNSLSNR for Linux:Version11.2.0.4.0-Production43.System parameter file is/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora44.Log messages written to/DBSoft/oracle/diag/tnslsnr/db02/listener/alert/log.xml45.Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))46.Listening on:(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db02)(PORT=1521)))47.48.Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))49.STATUS of the LISTENER50.------------------------51.Alias LISTENER52.Version TNSLSNR for Linux:Version11.2.0.4.0-Production53.Start Date17-JUN-201521:29:5754.Uptime0days0hr.0min.1sec55.Trace Level off56.Security ON:Local OS Authentication57.SNMP OFF58.Listener Parameter File/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora59.Listener Log File/DBSoft/oracle/diag/tnslsnr/db02/listener/alert/log.xml60.Listening Endpoints Summary...61.(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))62.(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db02)(PORT=1521)))63.Services Summary...64.Service"PLSExtProc"has1instance(s).65.Instance"PLSExtProc",status UNKNOWN,has1handler(s)for this service...66.Service"woo"has1instance(s).67.Instance"woo",status UNKNOWN,has1handler(s)for this service...68.The command completed successfully69.70.--查看监听状态71.[oracle@db02dbs]$lsnrctl status72.73.LSNRCTL for Linux:Version11.2.0.4.0-Production on17-JUN-201521:30:0274.75.Copyright(c)1991,2013,Oracle.All rights reserved.76.77.Connecting to(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))78.STATUS of the LISTENER79.------------------------80.Alias LISTENER81.Version TNSLSNR for Linux:Version11.2.0.4.0-Production82.Start Date17-JUN-201521:29:5783.Uptime0days0hr.0min.4sec84.Trace Level off85.Security ON:Local OS Authentication86.SNMP OFF87.Listener Parameter File/DBSoft/oracle/product/11.2.4/dbhome_1/network/admin/listener.ora88.Listener Log File/DBSoft/oracle/diag/tnslsnr/db02/listener/alert/log.xml89.Listening Endpoints Summary...90.(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))91.(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db02)(PORT=1521)))92.Services Summary...93.Service"PLSExtProc"has1instance(s).94.Instance"PLSExtProc",status UNKNOWN,has1handler(s)for this service...95.Service"woo"has1instance(s).96.Instance"woo",status UNKNOWN,has1handler(s)for this service...97.The command completed successfully98.[oracle@db02dbs]$99.100.101.--修改参数文件102.[oracle@db02~]$sqlplus/as sysdba103.104.SQL*Plus:Release11.2.0.4.0Production on Wed Jun1721:35:542015105.106.Copyright(c)1982,2013,Oracle.All rights reserved.107.108.Connected to an idle instance.109.110.SQL>startup nomount;111.ORACLE instance started.112.113.Total System Global Area1188511744bytes114.Fixed Size1364228bytes115.Variable Size754978556bytes116.Database Buffers419430400bytes117.Redo Buffers12738560bytes118.119.SQL>create spfile from pfile='/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/initwoo.ora';120.121.File created.122.123.SQL>124.SQL>shutdown abort;125.ORACLE instance shut down.126.SQL>startup nomount;127.ORACLE instance started.128.129.Total System Global Area1188511744bytes130.Fixed Size1364228bytes131.Variable Size754978556bytes132.Database Buffers419430400bytes133.Redo Buffers12738560bytes134.SQL>135.136.alter system set db_unique_name=sty scope=spfile;137.alter system set log_archive_config='DG_CONFIG=(pri,dg)'scope=spfile;138.alter system set log_archive_dest_1='LOCATION=/DBBackup/Archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=sty'scope=spfile; 139.alter system set log_archive_dest_2='SERVICE=pri LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=pri'scope=spfile; 140.alter system set fal_server=pri scope=spfile;141.alter system set fal_client=sty scope=spfile;142.143.SQL>shutdown abort;144.ORACLE instance shut down.145.SQL>startup nomount146.ORACLE instance started.147.148.Total System Global Area1188511744bytes149.Fixed Size1364228bytes150.Variable Size754978556bytes151.Database Buffers419430400bytes152.Redo Buffers12738560bytes153.SQL>154.SQL>5、在primary端通过Rman Duplicate创建备库,在db01上执行如下命令rman target sys/oracle@pri auxiliary sys/oracle@sty nocatalogduplicate target database for standby from active database nofilenamecheck; [python]view plain copy print?1.[oracle@db01~]$rman target sys/oracle@pri auxiliary sys/oracle@sty nocatalog2.3.Recovery Manager:Release11.2.0.4.0-Production on Wed Jun1722:33:5420154.5.Copyright(c)1982,2011,Oracle and/or its affiliates.All rights reserved.6.7.connected to target database:WOO(DBID=4221729487)ing target database control file instead of recovery catalog9.connected to auxiliary database:WOO(not mounted)10.11.RMAN>12.13.RMAN>duplicate target database for standby from active database nofilenamecheck;14.15.Starting Duplicate Db at17-JUN-1516.allocated channel:ORA_AUX_DISK_117.channel ORA_AUX_DISK_1:SID=19device type=DISK18.19.contents of Memory Script:20.{21.backup as copy reuse22.targetfile'/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwwoo'auxiliary format23.'/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/orapwwoo';24.}25.executing Memory Script26.27.Starting backup at17-JUN-1528.allocated channel:ORA_DISK_129.channel ORA_DISK_1:SID=44device type=DISK30.Finished backup at17-JUN-1531.32.contents of Memory Script:33.{34.backup as copy current controlfile for standby auxiliary format'/DBSoft/oracle/oradata/woo/control01.ctl';35.restore clone controlfile to'/DBSoft/oracle/fast_recovery_area/woo/control02.ctl'from36.'/DBSoft/oracle/oradata/woo/control01.ctl';37.}38.executing Memory Script39.40.Starting backup at17-JUN-15ing channel ORA_DISK_142.channel ORA_DISK_1:starting datafile copy43.copying standby control file44.output file name=/DBSoft/oracle/product/11.2.4/dbhome_1/dbs/snapcf_woo.f tag=TAG20150617T223502RECID=1STAMP=88265730845.channel ORA_DISK_1:datafile copy complete,elapsed time:00:00:1546.Finished backup at17-JUN-1547.48.Starting restore at17-JUN-15ing channel ORA_AUX_DISK_150.51.channel ORA_AUX_DISK_1:copied control file copy52.Finished restore at17-JUN-1553.54.contents of Memory Script:55.{56.sql clone'alter database mount standby database';57.}58.executing Memory Script59.60.sql statement:alter database mount standby database61.62.contents of Memory Script:63.{64.set newname for tempfile1to65."/DBSoft/oracle/oradata/woo/temp01.dbf";66.switch clone tempfile all;67.set newname for datafile1to68."/DBSoft/oracle/oradata/woo/system01.dbf";69.set newname for datafile2to70."/DBSoft/oracle/oradata/woo/sysaux01.dbf";71.set newname for datafile3to72."/DBSoft/oracle/oradata/woo/undotbs01.dbf";73.set newname for datafile4to74."/DBSoft/oracle/oradata/woo/users01.dbf";75.backup as copy reuse76.datafile1auxiliary format77."/DBSoft/oracle/oradata/woo/system01.dbf"datafile78.2auxiliary format79."/DBSoft/oracle/oradata/woo/sysaux01.dbf"datafile80.3auxiliary format81."/DBSoft/oracle/oradata/woo/undotbs01.dbf"datafile82.4auxiliary format83."/DBSoft/oracle/oradata/woo/users01.dbf";84.sql'alter system archive log current';85.}86.executing Memory Script87.88.executing command:SET NEWNAME89.90.renamed tempfile1to/DBSoft/oracle/oradata/woo/temp01.dbf in control file91.92.executing command:SET NEWNAME93.94.executing command:SET NEWNAME95.96.executing command:SET NEWNAME97.98.executing command:SET NEWNAME99.100.Starting backup at17-JUN-15ing channel ORA_DISK_1102.channel ORA_DISK_1:starting datafile copy103.input datafile file number=00001name=/DBSoft/oracle/oradata/woo/system01.dbf 104.output file name=/DBSoft/oracle/oradata/woo/system01.dbf tag=TAG20150617T223532 105.channel ORA_DISK_1:datafile copy complete,elapsed time:00:05:58106.channel ORA_DISK_1:starting datafile copy107.input datafile file number=00002name=/DBSoft/oracle/oradata/woo/sysaux01.dbf108.output file name=/DBSoft/oracle/oradata/woo/sysaux01.dbf tag=TAG20150617T223532109.channel ORA_DISK_1:datafile copy complete,elapsed time:00:05:30110.channel ORA_DISK_1:starting datafile copy111.input datafile file number=00003name=/DBSoft/oracle/oradata/woo/undotbs01.dbf112.output file name=/DBSoft/oracle/oradata/woo/undotbs01.dbf tag=TAG20150617T223532113.channel ORA_DISK_1:datafile copy complete,elapsed time:00:00:25114.channel ORA_DISK_1:starting datafile copy115.input datafile file number=00004name=/DBSoft/oracle/oradata/woo/users01.dbf116.output file name=/DBSoft/oracle/oradata/woo/users01.dbf tag=TAG20150617T223532117.channel ORA_DISK_1:datafile copy complete,elapsed time:00:00:03118.Finished backup at17-JUN-15119.120.sql statement:alter system archive log current121.122.contents of Memory Script:123.{124.switch clone datafile all;125.}126.executing Memory Script127.128.datafile1switched to datafile copy129.input datafile copy RECID=1STAMP=882658052file name=/DBSoft/oracle/oradata/woo/system01.dbf 130.datafile2switched to datafile copy131.input datafile copy RECID=2STAMP=882658052file name=/DBSoft/oracle/oradata/woo/sysaux01.dbf 132.datafile3switched to datafile copy133.input datafile copy RECID=3STAMP=882658052file name=/DBSoft/oracle/oradata/woo/undotbs01.dbf 134.datafile4switched to datafile copy135.input datafile copy RECID=4STAMP=882658052file name=/DBSoft/oracle/oradata/woo/users01.dbf 136.Finished Duplicate Db at17-JUN-15#至此已经恢复完成6、在primary和standby端添加standby日志[sql]view plain copy print?1.SQL>alter database add standby logfile2.group4('/DBSoft/oracle/oradata/woo/styredo04.log')size50m,3.group5('/DBSoft/oracle/oradata/woo/styredo05.log')size50m,4.group6('/DBSoft/oracle/oradata/woo/styredo06.log')size50m,5.group7('/DBSoft/oracle/oradata/woo/styredo07.log')size50m;6.7.SQL>SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;8.9.GROUP#THREAD#SEQUENCE#ARC STATUS10.-------------------------------------------11.400YES UNASSIGNED12.500YES UNASSIGNED13.600YES UNASSIGNED14.700YES UNASSIGNED7、在standby端开启实时日志应用[sql]view plain copy print?1.SQL>recover managed standby database using current logfile disconnect from session;2.Media recovery complete.3.SQL>三、开始测试ADG8、执行日志切换测试(在pri端切换归档,在节点二上检查是否也发生了切换)[sql]view plain copy print?1.--primary执行日志切换2.3.SQL>archive log list;4.Database log mode Archive Mode5.Automatic archival Enabled6.Archive destination/DBBackup/Archive7.Oldest online log sequence218.Next log sequence to archive239.Current log sequence2310.SQL>alter system switch logfile;11.12.System altered.13.14.SQL>archive log list;15.Database log mode Archive Mode16.Automatic archival Enabled17.Archive destination/DBBackup/Archive18.Oldest online log sequence2219.Next log sequence to archive2320.Current log sequence2421.22.#standby查看日志的sequence号也跟着变了23.SQL>archive log list;24.Database log mode Archive Mode25.Automatic archival Enabled26.Archive destination/DBBackup/Archive27.Oldest online log sequence2228.Next log sequence to archive029.Current log sequence2330.SQL>archive log list;31.Database log mode Archive Mode32.Automatic archival Enabled33.Archive destination/DBBackup/Archive34.Oldest online log sequence2235.Next log sequence to archive036.Current log sequence2437.SQL>9、查看standby启动的DG进程[sql]view plain copy print?1.SQL>select process,client_process,sequence#,status from v$managed_standby;2.3.PROCESS CLIENT_P SEQUENCE#STATUS4.---------------------------------------5.ARCH ARCH23CLOSING6.ARCH ARCH0CONNECTED//归档进程7.ARCH ARCH21CLOSING8.ARCH ARCH0CONNECTED9.RFS ARCH0IDLE10.RFS UNKNOWN0IDLE11.RFS LGWR24IDLE//归档传输进程12.RFS UNKNOWN0IDLE13.MRP0N/A24APPLYING_LOG//日志应用进程14.15.9rows selected.10、查看数据库的保护模式:[sql]view plain copy print?1.#primary端查看,我们可以看到数据库的保护模式为最大性能2.SQL>select database_role,protection_mode,protection_level,open_mode from v$database;3.4.DATABASE_ROLE PROTECTION_MODE PROTECTION_LEVEL OPEN_MODE5.----------------------------------------------------------------------------6.PRIMARY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE READ WRITE7.8.#standby端查看,也是一样的。
ORACLE 10G DATAGUARD实战步骤oracle10gdataguard实战步骤具体步骤如下:一、主库操作方式1、修改主库属性:altersystemforcelogging;##查阅状态selectforce_loggingfromv$database;2、修正数据库为档案模式:archiveloglist;shutdownimmediate;startupmount;alterdatabasearchivelog;(alterdatabasenoarchivelog;关上档案模式)archiveloglist;3、添加standbylogfile(也可以不加)居多数据库嵌入\水泵联机日志文件\,这里必须确保对备日志文件与主库联机日志文件相同大小。
添加备用日志文件是规则:水泵日志最少必须比redolog多一个。
所推荐的备重搞日志数依赖主数据库上的线程数。
(每线程日志文件最大数目+1)*线程数alterdatabaseaddstandbylogfilegroup4('/oracle2/app/oracle/oradata/std_redo04a. log','/oracle2/app/oracle/oradata/std_redo04b.log')size50m,group5('/oracle2/ap p/oracle/oradata/std_redo05a.log','/oracle2/app/oracle/oradata/std_redo05b.log ')size50m,group6('/oracle2/app/oracle/oradata/std_redo06a.log','/oracle2/app/o racle/oradata/std_redo06b.log')size50m,group7('/oracle2/app/oracle/oradata/std _redo07a.log','/oracle2/app/oracle/oradata/std_redo08b.dbf')size50m;否则备库在应用领域时报如下信息:rfs[1]:nostandbyredologfilescreatedrfs[1]:archivedlog:'/oracle2/arch/1_30_633287861.dbf'在主库添加完standbylogfile后,当主库切换后备库后会自动使用备库的redologfile,具体应用信息如下:rfs[1]:successfullyopenedstandbylog4:'/oracle2/app/oracle/oradata/10g/redo04.l og'rfs[1]:successfullyopenedstandbylog4:'/oracle2/app/oracle/oradata/10g/redo0 4.log'4、修改主库参数文件:10g.__db_cache_size=120795955210g.__java_pool_size=1677721610g.__large_pool_si ze=1677721610g.__shared_pool_size=35232153610g.__streams_pool_size=0*.audit_file_dest='/oracle2/app/oracle/admin/10g/adump'*.control_files='/oracle2/app/oracle/oradata/10g/control01.ctl','/oracle2/app/ oracle/oradata/10g/control02.ctl','/oracle2/app/oracle/oradata/10g/control03.c tl'*.core_dump_dest='/oracle2/app/oracle/admin/10g/cdump'*.db_block_size=8192* .db_domain=''*.db_file_multiblock_read_count=16*.db_name='10g'*.db_unique_name='10gpri'###必须定义每个数据库的唯一标识*.log_archive_config='dg_config=(10gpri,10gstandby)'###必须*.log_archive_dest_1='location=/oracle2/arch/valid_for=(all_logfiles,all_roles )'db_unique_name='10gpri'###必须本地的归档路径*.log_archive_dest_2='service=10gstandbyarchasyncvalid_for=(online_logfiles,pr imary_role)db_unique_name=10gstandby'###必须(远程服务器端的档案日志)*.log_archive_dest_state_1=enable*.log_archive_dest_state_2=enable*.fal_server=10gpri###定义fal服务器的oraclenet服务的名称*.fal_client=10gstandby###定义备数据库的oraclenet服务名(这两个参数在主库可有可无,但备库必须有。
环境:主备库都为单实例并且数据库SID相同OS:red hat 6.5Oracle:11.2.0.4.3主库操作1.开启归档模式创建归档目录[root@enn ~]# mkdir -p /u01/archivelog[root@enn ~]# chown -R oracle:oinstall /u01/archivelog[root@enn ~]# chmod 777 /u01/archivelog数据库到mount状态开启归档模式[root@enn ~]# su - oracle[oracle@enn ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Sun Jul 20 23:46:46 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle instance.SQL> startup mountORACLE instance started.Total System Global Area 835104768 bytesFixed Size 2257840 bytesVariable Size 541068368 bytesDatabase Buffers 289406976 bytesRedo Buffers 2371584 bytesDatabase mounted.设置主库归档目录SQL> alter system set log_archive_dest='/u01/archivelog';alter system set log_archive_dest_1='location=/data/oracle/log1/archive_log'; 最后的目录名称需要为archive_log开启归档模式SQL> alter database archivelog;Database altered.查看归档设置SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u01/archivelogOldest online log sequence 2Next log sequence to archive 4Current log sequence 42.启动force_logging模式查看是否force_logging模式SQL> select log_mode,force_logging from v$database;LOG_MODE FOR------------ ---ARCHIVELOG NO开启force_logging模式SQL> alter database force logging;Database altered.3.创建备库日志文件路径查看数据库的日志组个数与大小,因为我们创建standby 日志组的个数是原日志组个数+1 再与thread 的积((2+1)*3),size 不能小于原日志文件的大小。
Oracle-dataguard的3种创建方法Oracle Dataguard的3种创建方法一)总介:1. 冷备法优点:操作比较简单。
缺点:操作过程需要停止主库服务。
简介:停止主库后,直接copy主机的所有数据文件,控制文件,归档日志文件,参数文件(spfile)到备机的相同路径下,再启动主、备库,然后修改相关配置文件完成主备自动同步。
2. 热备法优点:无需停止主库服务。
缺点:操作比较复杂,操作过程对主库性能影响比较大。
简介:在主库开启状态下把主库的数据文件一个一个热备出来,然后连同控制文件,归档日志文件,参数文件(spfile)等一起复制到备机相同路径下,再启动备库并执行recover,然后修改相关配置文件完成主备自动同步。
3. RMAN复制法优点:无需停止主库服务,操作过程对主库性能影响比较小。
缺点:操作比较复杂。
简介:在主库开启状态下运行rman,对主库进行全库备份,然后把备份集与参数文件(spfile)一起复制到备机,再启动备库到nomount状态后利用rman 在备机上进行for standby的duplicate,然后修改相关配置文件完成主备自动同步。
无论上述何种方法,在开始之前,都必须先确认主库已正常运行,备机的操作系统,磁盘分区,oracle版本都必须与主机完全一致,备机上的oracle需要已安装好但不用建库。
主、备机的网络都必须已联通,并能够在客户端使用putty 或其他远程登陆工具通过ssh方式登陆(本文内所讲的“登陆”都是指:使用putty通过ssh方式以oracle账号登陆到主机或者备机的linux系统)。
本文假设主机ip地址是192.168.0.1,备机ip地址是192.168.0.2,oracle的数据文件,控制文件,联机日志文件的存放路径统一为:/opt/oracle/oradata/orcl/,归档日志的存放路径为:/opt/oracle/oradata/orcl/archive/,ORACLE_BASE目录为:/opt/oracle ,ORACLE_HOME目录为:/opt/oracle/product/9ir2,ORACLE_SID=orcl,分区/opt由于要存放oracle的所有文件与备份集,所以其容量要足够大。
Oracle 10g 使用RMAN创建 physical standby2008-05-29 23:361.试验环境SQL> select * from v$version;BANNER---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - ProductionCORE 10.2.0.1.0 ProductionTNS for Linux: Version 10.2.0.1.0 - ProductionNLSRTL Version 10.2.0.1.0 - Production2.确认主库处于归档模式SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /u02/archOldest online log sequence 154Next log sequence to archive 156Current log sequence 1563.创建备库instancewindows平台利用oradim工具创建一个新的instance,unix/linux平台设置新的ORACLE_SID即可4.准备好主备库的参数文件主库:orcl.__db_cache_size=184549376orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=88080384orcl.__streams_pool_size=0*.audit_file_dest='/u01/oracle/admin/orcl/adump'*.background_dump_dest='/u01/oracle/admin/orcl/bdump'*.compatible='10.2.0.1.0'*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle /oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl' *.core_dump_dest='/u01/oracle/admin/orcl/cdump'*.db_block_size=8192*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='orcl'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.job_queue_processes=10*.log_archive_dest_1='LOCATION=/u02/arch'*.log_archive_format='%t_%s_%r.dbf'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=94371840*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=285212672*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='/u01/oracle/admin/orcl/udump'#################################db_unique_name=node1service_names=orcllog_archive_config='dg_config=(node1,node2)'log_archive_dest_2='service=dbstandbyvalid_for=(online_logfiles,primary_role) db_unique_name=node2'log_archive_dest_state_1=enablelog_archive_dest_state_2=enablefal_server=dbstandbystandby_file_management=AUTO备库:orcl.__db_cache_size=184549376orcl.__java_pool_size=4194304orcl.__large_pool_size=4194304orcl.__shared_pool_size=88080384orcl.__streams_pool_size=0*.audit_file_dest='/u01/oracle/admin/orcl/adump'*.background_dump_dest='/u01/oracle/admin/orcl/bdump'*.compatible='10.2.0.1.0'*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle /oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl' *.core_dump_dest='/u01/oracle/admin/orcl/cdump'*.db_block_size=8192*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='orcl'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.job_queue_processes=10*.log_archive_dest_1='LOCATION=/u02/arch'*.log_archive_format='%t_%s_%r.dbf'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=94371840*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=285212672*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='/u01/oracle/admin/orcl/udump'#################################db_unique_name=node2service_names=orcllog_archive_config='dg_config=(node1,node2)'log_archive_dest_2='service=dbprimaryvalid_for=(online_logfiles,primary_role) db_unique_name=node1'log_archive_dest_state_1=enablelog_archive_dest_state_2=enablefal_server=dbprimaryfal_client=dbstandbystandby_file_management=AUTO5.生成password filec:/>orapwd file=d:/oracle/ora92/DATABASE/PWDtest.ORA password=pass 或者直接将主库上的密码文件copy一份到备库上6.配置网络配置主备库的listener.ora,tnsnames.ora。
一、安装环境Windows 2008 SP2 64位企业版Oracle 10.2.0.5 64位企业版主库:HOSTNAME: YM-MES-SRVIP: 10.57.23.2SID:MESDB_UNIQUE_NAME:MESPRI备库:HOSTNAME: YM-MES-SRV02IP: 10.57.23.3SID:MESDB_UNIQUE_NAME:MESSTB主机SQL> ALTER DATABASE FORCE LOGGING;SQL> create pfile from spfile;修改initmes.ora,添加如下信息*.DB_UNIQUE_NAME=mespri*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(mespri,messtb)'*.log_archive_dest_1='location=d:\oracle\archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mespri'*.log_archive_dest_2='SERVICE=messtb arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=messtb'*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER=mespri*.FAL_CLIENT=messtb*.STANDBY_FILE_MANAGEMENT=AUTOSQL> shutdown immediate删除spfilemes.oraSQL> create spfile from pfile;SQL> startupSQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('D:\MES\DATABASE\MES\standby\REDO04.LOG') SIZE 50M;SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('D:\MES\DATABASE\MES\standby\REDO05.LOG') SIZE 50M;SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('D:\MES\DATABASE\MES\standby\REDO06.LOG') SIZE 50M;SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7('D:\MES\DATABASE\MES\standby\REDO07.LOG') SIZE 50M;修改tnsnames.ora,添加如下信息mespri =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.57.23.2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SID = MES)))messtb =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.57.23.3)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SID = MES)))$ rman target / nocatalogRMAN> backup device type disk format 'd:\mes\rmanback\%U' database plus archivelog;RMAN> backup device type disk format 'd:\mes\rmanback\%U' current controlfile for standby;copy文件到从机同名目录下从机从主机获得init文件和pwd文件mes.__db_cache_size=1124073472mes.__java_pool_size=16777216mes.__large_pool_size=16777216mes.__shared_pool_size=436207616mes.__streams_pool_size=0*.audit_file_dest='D:\oracle\product\10.2.0/admin/MES/adump'*.background_dump_dest='D:\oracle\product\10.2.0/admin/MES/bdump'*.compatible='10.2.0.5.0'*.control_files='D:\MES\DATABASE\MES\control01.ctl','D:\MES\DATABASE\MES\control02.ctl','D:\MES\DATABASE\MES\control03.ctl'*.core_dump_dest='D:\oracle\product\10.2.0/admin/MES/cdump'*.db_block_size=8192*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='MES'*.db_recovery_file_dest='D:\oracle\product\10.2.0/flash_recovery_area'*.db_recovery_file_dest_size=2147483648*.dispatchers='(PROTOCOL=TCP) (SERVICE=MESXDB)'*.job_queue_processes=10*.open_cursors=300*.pga_aggregate_target=847249408*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=1610612736*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.user_dump_dest='D:\oracle\product\10.2.0/admin/MES/udump'*.DB_UNIQUE_NAME=messtb*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(mespri,messtb)'*.log_archive_dest_1='location=d:\oracle\archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=messtb'*.log_archive_dest_2='SERVICE=mespri arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=mespri'*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER=mespri*.FAL_CLIENT=messtb*.STANDBY_FILE_MANAGEMENT=AUTO修改tnsnames.ora,添加如下信息mespri =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.57.23.2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SID = MES)))messtb =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.57.23.3)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SID = MES)))启动ORACLE服务(创建实例)D:/>oradim -NEW -SID MESSQL> startup nomount;数据库没有Mount连接数据库,发现:ORA-12528: TNS:listener: all appropriate instances are blocking new connections 修改listener.ora的参数,把动态的参数设置为静态的参数,然后从新启动监听SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = MES)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = MES)))主机上$ rmanRMAN> connect target /RMAN> connect auxiliary sys/aa1234@messtbRMAN> duplicate target database for standby nofilenamecheck ;(不同机器上路径一致的话必须指定NOFILENAMECHECK)从机上SQL> shutdown immediateSQL> startup mountSQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;改为最大可用性方式主机上SQL> alter system set log_archive_dest_2='SERVICE=messtb LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=messtb' scope=both; SQL> alter database set standby database to maximize availability;SQL> alter system set archive_lag_target=1800 scope=both;从机上*.log_archive_dest_2='SERVICE=mespri LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=mespri'在window服务启动时并不启动实例通过Oracle Administration Assistant for Windows NT工具进行设置a.开始->程序->Oracle->Configuration and MigrationTools->Oracle Administration Assistant for Windows NTb.数据库->orcl->启动关闭选项->服务启动时启动例程,把该项取消就可以了从机日常启动SQL> startup mountSQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;备机数据库启动脚本sqlplus /nolog @d:\mes\start_standby.sqlpause>nulstart_standby.sql内容conn / as sysdbashutdown immediate;startup nomount;alter database mount standby database;alter database recover managed standby database disconnect from session;select SEQUENCE#,FIRST_TIME,NEXT_TIME,APPLIED from (select * FROM V$ARCHIVED_LOG where applied='YES' ORDER BY SEQUENCE# desc) where rownum<=10;exit备库归档日志删除脚本del d:\oracle_script\del_arc.batsqlplus /nolog @d:\oracle_script\del_arc.sqld:\oracle_script\del_arc.batexitdel_arc.sql内容conn / as sysdbaset echo offset feedback offset heading offspool d:\oracle_script\del_arc.batselect 'del '||name from v$archived_log where applied='YES'and completion_time>trunc(sysdate-2) and completion_time<trunc(sysdate);exit二、日常维护1、正确打开主库和备库主库:SQL> STARTUP;备库:SQL> STARTUP MOUNT;SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;2、正确关闭顺序备库:SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;SQL> SHUTDOWN IMMEDIATE;主库SQL> SHUTDOWN IMMEDIATE;3、备库Read-Only 模式打开当前主库正常OPEN 状态、备库处于日志传送状态。