Oracle 11g DataGuard 物理备库配置及Active DataGuard测试.docx
《Oracle 11g DataGuard 物理备库配置及Active DataGuard测试.docx》由会员分享,可在线阅读,更多相关《Oracle 11g DataGuard 物理备库配置及Active DataGuard测试.docx(11页珍藏版)》请在冰豆网上搜索。
Oracle11gDataGuard物理备库配置及ActiveDataGuard测试
Oracle11gDataGuard物理备库配置及ActiveDataGuard测试
说明:
本文安装配置了Oracle 11gDataguard物理备库,并测试了11gDataguard物理备库新特性ActiveDataGuard,是OracleDatabaseEnterpriseEdition的一个功能,需要额外授权,本文只用于测试。
相关阅读:
配置Oracle11g的Dataguard测试,创建物理备库(PhysicalStandbyDatabase)
有关DG的相关概念,可参考:
OracleDataGuardConceptsandAdministration
有关配置DG的参数描述,可参考:
OracleDataGuard重要配置参数
基于同一主机配置Oracle11gDataGuard
一、环境介绍
1.主数据库环境
操作系统版本:
OEL5.8x64
数据库版本 :
Oracle11.2.0.3x64
数据库sid名:
orcl
2.备库环境
操作系统版本:
OEL5.8x64
数据库版本 :
Oracle11.2.0.3x64(只安装oracle数据库软件,nonetcadbca)
数据库sid名:
orcl
3.DataGuard启动顺序
启动顺序:
先启备库,后启主库
关闭顺序:
先关主库,后关备库
二、主数据库配置
1.配置hosts文件
#vi/etc/hosts
192.168.233.200 rman
192.168.233.150 slave
2.修改配置lisener监听文件
$cat/u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.200)(PORT=1521))
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=orcl)
)
)
3.修改配置tnsname.ora文件
说明:
ORCL是主库的服务名,DG是备库的服务名。
$vi/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
ORCL=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.200)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
DG=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.150)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=abc)
)
)
4.修改配置成规档模式
1)、检查数据库是否处于归档状态
SQL>archiveloglist;
SQL>shutdownimmediate;
SQL>startupmount;
SQL>alterdatabasearchivelog;
SQL>alterdatabaseopen;
2)、将主库设置为FORCELOGGING模式
SQL>alterdatabaseforcelogging;
SQL>selectforce_loggingfromv$database;
FORCE_LOG
———
YES
5.修改参数文件
SQL>
altersystemsetdb_unique_name='ORCL'scope=spfile;
altersystemsetlog_archive_config='DG_CONFIG=(ORCL,DG)';
altersystemsetlog_archive_dest_1='LOCATION=/u01/archivelog/valid_for=(all_logfiles,all_roles)
db_unique_name=ORCL'scope=spfile;
altersystemsetlog_archive_dest_2='SERVICE=DGlgwrasyncvalid_for=(online_logfile,primary_role)
db_unique_name=DG';
altersystemsetfal_client='ORCL';
altersystemsetfal_server='DG';
altersystemsetstandby_file_management=auto;
alterdatabaseaddstandbylogfilegroup4'/u01/app/oracle/oradata/orcl/standby_redo04.log'size50M;alterdatabaseaddstandbylogfilegroup5'/u01/app/oracle/oradata/orcl/standby_redo05.log'size50M;
alterdatabaseaddstandbylogfilegroup6'/u01/app/oracle/oradata/orcl/standby_redo06.log'size50M;alterdatabaseaddstandbylogfilegroup7'/u01/app/oracle/oradata/orcl/standby_redo07.log'size50M;
shutdownimmediate
startup
createpfilefromspfile;
6.将pfile文件拷贝到备库。
$scp/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora192.168.233.150:
/home/oracle/
三、备库配置
1.配置hosts文件
#vi/etc/hosts
192.168.233.200 rman
192.168.233.150 slave
2.修改配置lisener监听文件
$vi/u01/app/Oracle/product/11.2.0/db_1/network/admin/listener.ora
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.150)(PORT=1521))
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=orcl
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=orcl)
)
(SID_DESC=
(GLOBAL_DBNAME=orcl)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)
(SID_NAME=orcl)
)
)
注意:
这里配置的是静态监听,下面在duplicate数据库时启动到nomount状态,nomount状态下数据库不动态去注册监听。
3.修改配置tnsname.ora文件
说明:
ORCL是主库的服务名,DG是备库的服务名。
$vi/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
ORCL=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.200)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
DG=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.233.150)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
测试服务名连通性:
tnspingORCL
tnspingDG
4.创建11g数据库基本目录
#su-oracle
mkdir-p/u01/app/oracle/admin/orcl/{adump,dpdump,pfile,scripts}
mkdir-p/u01/app/oracle/oradata/orcl
mkdir-p/u01/app/oracle/fast_recovery_area/orcl
mkdir-p/u01/archivelog
5.修改pfile参数文件
$vi/home/oracle/initorcl.ora
orcl.__db_cache_size=314572800
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASEsetfromenvironment
orcl.__pga_aggregate_target=339738624
orcl.__sga_target=503316480
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=167772160
orcl.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4322230272
*.db_unique_name='DG'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)'
*.fal_client='DG'
*.fal_server='ORCL'
*.log_archive_config='DG_CONFIG=(ORCL,DG)'
*.log_archive_dest_1='LOCATION=/u01/archivelog/valid_for=(all_logfiles,all_roles)db_unique_name=DG'
*.log_archive_dest_2='SERVICE=ORCLlgwrasyncvalid_for=(online_logfile,primary_role)db_unique_name=ORCL'
*.memory_target=842006528
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
说明:
修改DG相关配置参数。
6.创建口令文件
#su-oracle
$orapwdfile='/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl'password=oracleentries=10
7.启动到nomount状态
$sqlplus/nolog
SQL>conn/assysdba;
SQL>createspfilefrompfile='/home/oracle/initorcl.ora';
SQL>startupnomount;
四、开始在RMANduplicate数据库
1.RMAN同进连接主库与备库
$rmantarget sys/oracle@ORCL auxiliary sys/oracle@DG
恢复管理器:
Release11.2.0.3.0-Productionon星期日8月400:
53:
402013
Copyright(c)1982,2011, Oracle and/oritsaffiliates. Allrightsreserved.
已连接到目标数据库:
ORCL(DBID=1350215700)
已连接到辅助数据库:
ORCL(未装载)
2.开始duplicate数据库
RMAN>duplicatetargetdatabaseforstandbynofilenamecheckfromactivedatabase;
启动DuplicateDb于04-8月-13
使用目标数据库控制文件替代恢复目录
分配的通道:
ORA_AUX_DISK_1
通道ORA_AUX_DISK_1:
SID=19设备类型=DISK
内存脚本的内容:
{
backupascopyreuse
targetfile '/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl'auxiliaryformat
'/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl' ;
}
正在执行内存脚本
启动backup于04-8月-13
分配的通道:
ORA_DISK_1
通道ORA_DISK_1:
SID=21设备类型=DISK
完成backup于04-8月-13
内存脚本的内容:
{
backupascopycurrentcontrolfileforstandbyauxiliaryformat '/u01/app/oracle/oradata/orcl/control01.ctl';
restoreclonecontrolfileto '/u01/app/oracle/fast_recovery_area/orcl/control02.ctl'from
'/u01/app/oracle/oradata/orcl/control01.ctl';
}
正在执行内存脚本
启动backup于04-8月-13
使用通道ORA_DISK_1
通道ORA_DISK_1:
启动数据文件副本
复制备用控制文件
输出文件名=/u01/app/oracle/product/11.2.0/db_1/dbs/snapcf_orcl.f标记=TAG20130804T005344RECID=7STAMP=822531224
通道ORA_DISK_1:
数据文件复制完毕,经过时间:
00:
00:
01
完成backup于04-8月-13
启动restore于04-8月-13
使用通道ORA_AUX_DISK_1
通道ORA_AUX_DISK_1:
已复制控制文件副本
完成restore于04-8月-13
内存脚本的内容:
{
sqlclone'alterdatabasemountstandbydatabase';
}
正在执行内存脚本
sql语句:
alterdatabasemountstandbydatabase
内存脚本的内容:
{
setnewnamefortempfile 1to
"/u01/app/oracle/oradata/orcl/temp01.dbf";
switchclonetempfileall;
setnewnamefordatafile 1to
"/u01/app/oracle/oradata/orcl/system01.dbf";
setnewnamefordatafile 2to
"/u01/app/oracle/oradata/orcl/sysaux01.dbf";
setnewnamefordatafile 3to
"/u01/app/oracle/oradata/orcl/undotbs01.dbf";
setnewnamefordatafile 4to
"/u01/app/oracle/oradata/orcl/users01.dbf";
backupascopyreuse
datafile 1auxiliaryformat
"/u01/app/oracle/oradata/orcl/system01.dbf" datafile
2auxiliaryformat
"/u01/app/oracle/oradata/orcl/sysaux01.dbf" datafile
3auxiliaryformat
"/u01/app/oracle/oradata/orcl/undotbs01.dbf" datafile
4auxiliaryformat
"/u01/app/oracle/oradata/orcl/users01.dbf" ;
sql'altersystemarchivelogcurrent';
}
正在执行内存脚本
正在执行命令:
SETNEWNAME
临时文件1在控制文件中已重命名为/u01/app/oracle/oradata/orcl/temp01.dbf
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
正在执行命令:
SETNEWNAME
启动backup于04-8月-13
使用通道ORA_DISK_1
通道ORA_DISK_1:
启动数据文件副本
输入数据文件:
文件号=00001名称=/u01/app/oracle/oradata/orcl/system01.dbf
输出文件名=/u01/app/oracle/oradata/orcl/system01.dbf标记=TAG20130804T005352
通道ORA_DISK_1:
数据文件复制完毕,经过时间:
00:
09:
20
通道ORA_DISK_1:
启动数据文件副本
输入数据文件:
文件号=00002名称=/u01/app/oracle/oradata/orcl/sysaux01.dbf
输出文件名=/u01/app/oracle/oradata/orcl/sysaux01.dbf标记=TAG20130804T005352
通道ORA_DISK_1:
数据文件复制完毕,经过时间:
00:
03:
48
通道ORA_DISK_1:
启动数据文件副本
输入数据文件:
文件号=00003名称=/u01/app/oracle/oradata/orcl/undotbs01.dbf
输出文件名=/u01/app/oracle/oradata/orcl/undotbs01.dbf标记=TAG20130804T005352
通道ORA_DISK_1:
数据文件复制完毕,经过时间:
00:
00:
25
通道ORA_DISK_1:
启动数据文件副本
输入数据文件:
文件号=00004名称=/u01/app/oracle/oradata/orcl/users01.dbf
输出文件名=/u01/app/oracle/oradata/orcl/users01.dbf标记=TAG20130804T005352
通道ORA_DISK_1:
数据文件复制完毕,经过时间:
00:
00:
03
完成backup于04-8月-13
sql语句:
altersystemarchivelogcurrent
内存脚本的内容:
{
switchclonedatafileall;
}
正在执行内存脚本
数据文件1已转换成数据文件副本
输入数据文件副本RECID=7STAMP=822532054文件名=/u01/app/oracle/oradata/