安装规范数据库RACDataGuard实施文档.docx
《安装规范数据库RACDataGuard实施文档.docx》由会员分享,可在线阅读,更多相关《安装规范数据库RACDataGuard实施文档.docx(18页珍藏版)》请在冰豆网上搜索。
安装规范数据库RACDataGuard实施文档
文档标识
文件状态:
[]草稿
[√]正式发布
[]正在修改
OracleRACDataguard
实施文档
版本:
1.0.0
编制
周光晖
2015年6月7日
审核
批准
年月日
生效日期:
年月日
修订历史记录
日期
版本
修订说明
作者
**.编写目的4
**.定义、首字母缩写词和缩略语4
**.安装前规划4
**.修改/etc/hosts(主、备)4
**.检查并建立相关目录(主、备)5
**.数据文件目录5
**.归档日志文件目录5
**.临时备份文件目录5
**.做好数据备份6
**.sqlplus登录主库,修改为强制归档模式,并修改相关参数6
**.重启主库至open状态并开启归档模式7
**.编辑主库及备库的tnsname.ora文件7
**.在主库上生成备库的参数文件8
**.复制参数文件及密码文件8
**.在主库上生成“造目录”文件8
**.在主库8
**.在备库9
**.在备库上更改参数文件fapdbwb.pfile,修改其中主备库相关参数9
**.在主库进入rman模式10
**.oracle11g10
**.监听注册备库监听11
**.将备库启动至nomount状态11
**.主库执行duplicatefromactivedatabase11
**.oracle10g12
**.将主库rman生产的备份文件、控制文件拷贝至备库12
**.在备库上将standby控制文件拷到参数文件中所指位置12
**.在备库上使用修改的参数文件启动备库数据库12
**.在备库上用rman恢复备份12
**.在备库上创建spfile文件13
**.在主库和备库上增加standbyredologfile文件13
**.变更主库保护模式14
**.在备节点开启DG同步状态14
**.主备库查询比对15
第一章引言
一.1.编写目的
本文档描述了配置OracleRACDataguard的详细步骤,编写的目的是为了使用者能够快速进行ORACLERAC到单机的DataGuard的配置,以便实现数据的容灾或其他查询等目的。
文档包括oracle10g2,11gr2的RAC到单机的dataguard实施。
涉及到版本间的区别将会特别说明。
一.2.定义、首字母缩写词和缩略语
第二章安装主、备库Oracle软件
二.1.安装前规划
主库RAC(DB1,2)
备库(DB3)
**/60
**
db_unique_name=fapdbwb
db_unique_name=fapdbwb70
ORACLE_SID=fapdbwb
Orale10gr2:
MaximumAvailabilityOracle11gr2:
MaxPerformance
在搭建DataGuard之前需要先在主、备库上安装好oracle10gr2/11gr2软件,并在主库上创建好实例。
安装流程请参考
《安装规范_数据库_Oracle_10gR2_RAC(Linux5.x&6.x).doc》
《安装规范_数据库_Oracle_11gR2_RAC(Linux5.x&6.x).doc》
由于RAC中的db_unique_name在OCR中有记录,修改db_unique_name需要同时更新ocr里面的信息否则对维护可能造成一定的影响。
建议在搭建rac的dataguard环境的时候不要去修改db_unique_name的值。
备库作为单机库,其db_unique_name的值可以参考公司规范即db_name{hostip}。
二.2.修改/etc/hosts(主、备)
#PublicNetwork-(eth0)
**fapdbwb1
**fapdbwb2
#PublicVirtualInterconnect-(eth0:
1)
**fapdbwb1-vip
**fapdbwb2-vip
#PrivateInterconnect-(eth1)
**fapdbwb1-priv
**fapdbwb2-priv
#SingleClientAcessName(oracle11gr2only)
**fapdbwb-scan
#dataguard
二.3.**fapdbwb70
检查并建立相关目录(主、备)
目录必须主备都有,且须确保空间够用、权限正确
二.3.1.数据文件目录
在主库通过SQL查询
#su-oracle
$sqlplus/assysdba
SQL>selectname
fromv$datafile
unionall
selectname
fromv$tempfile
unionall
selectname
fromv$controlfile
unionall
selectmemberfromv$logfile;
按照恒生的规划。
一般oracle10gr2rac的数据文件是放在rawdevices上。
oracle11gr2rac数据文件统一放置在+datadg的asm磁盘组上。
对于个别情况上面查询出现所有文件不在用一个路径下的需要在下面做路径转换的时候加以调整。
在备库
#mkdir-p/u02/oradata/fapdbwb
#chown-Roracle:
oinstall/u02/oradata/fapdbwb
二.3.2.归档日志文件目录
#mkdir-p/u02/arch(依实际情况修改)
#chown-Roracle:
oinstall/u02/arch
二.3.3.临时备份文件目录
#mkdir-p/u02/rmans
#chown-Roracle:
oinstall/u02/rmans
由于oracle10g并没有duplicatedatabasefromactive功能。
对于rman的备份需要落地并传输到备库,然后执行duplicatedatabase或者手动restore。
需要保证两边存在同样的备份路径。
否则恢复的时候需要手动catlog注册备份集到控制文件中。
11gr2中使用duplicatedatabasefromactivedatabase则没有这个限制。
fromactivedatabase的方式同时也不需要备份落地极大的提升了dataguard的部署效率。
二.4.做好数据备份
正式配置之前做好数据备份工作
第三章DataGuard配置
三.1.sqlplus登录主库,修改为强制归档模式,并修改相关参数
相关参数说明请参数最后的参数说明部分注意部分参数在10g和11g中配置有较大出入
在实施的时候请注意选择。
Oracle10g
#su–oracle
$sqlplus/assysdba
SQL>ALTERDATABASEFORCELOGGING;
altersystemsetlog_archive_config='DG_CONFIG=(fapdbwb,fapdbwb70)'scope=spfile;
altersystemsetlog_archive_dest_1='LOCATION=/u02/arch1VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=fapdbwb'scope=spfilesid='fapdbwb1';
altersystemsetlog_archive_dest_1='LOCATION=/u02/arch2VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=fapdbwb'scope=spfilesid='fapdbwb2';
altersystemsetlog_archive_dest_2='SERVICE=fapdbwb70OPTIONALLGWRASYNCNOAFFIRMREOPEN=60VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=fapdbwb70'scope=spfile;
altersystemsetlog_archive_dest_state_1='ENABLE'scope=spfile;
altersystemsetlog_archive_dest_state_2='ENABLE'scope=spfile;
altersystemsetfal_server='fapdbwb70'scope=spfile;
altersystemsetfal_client='fapdbwb'scope=spfile;
altersystemsetstandby_file_management=autoscope=spfile;
altersystemsetremote_login_passwordfile='EXCLUSIVE'scope=spfile;
altersystemsetPARALLEL_EXECUTION_MESSAGE_SIZE=8192scope=spfile;
altersystemsetdb_file_name_convert='/u02/oradata/fapdbwb','/dev/raw'scope=spfile;
altersystemsetlog_file_name_convert='/u02/oradata/fapdbwb','/dev/raw'scope=spfile;
Oracle11g
#su–oracle
$sqlplus/assysdba
SQL>ALTERDATABASEFORCELOGGING;
altersystemsetlog_archive_config='DG_CONFIG=(fapdbwb,fapdbwb70)'scope=spfile;
altersystemsetlog_archive_dest_1='LOCATION=+archdg/fapdbwbVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=fapdbwb'scope=spfile;
altersystemsetlog_archive_dest_2='SERVICE=fapdbwb70ASYNCNOAFFIRMREOPEN=60VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=fapdbwb70'scope=spfile;
altersystemsetlog_archive_dest_state_1='ENABLE'scope=spfile;
altersystemsetlog_archive_dest_state_2='ENABLE'scope=spfile;
altersystemsetfal_server='fapdbwb70'scope=spfile;
altersystemsetstandby_file_management=autoscope=spfile;
altersystemsetremote_login_passwordfile='EXCLUSIVE'scope=spfile;
altersystemsetPARALLEL_EXECUTION_MESSAGE_SIZE=8192scope=spfile;
altersystemsetdb_file_name_convert='/u02/oradata/fapdbwb','+datadg/fapdbwb'scope=spfile;
altersystemsetlog_file_name_convert='/u02/oradata/fapdbwb','+datadg/fapdbwb'scope=spfile;
SQL>archiveloglist;
DatabaselogmodeNoArchiveMode
AutomaticarchivalDisabled
Archivedestination/archivelog
Oldestonlinelogsequence443
Currentlogsequence444
三.2.重启主库至open状态并开启归档模式
$srvctlstopdatabase–dfapdbwb
$srvctlstartdatabase-dfapdbwb-omount
SQL>alterdatabasearchivelog;(如果已经开启,此步可略)
$srvctlstopdatabase–dfapdbwb
$srvctlstartdatabase-dfapdbwb
三.3.编辑主库及备库的tnsname.ora文件
11gr2rac中监听虽然默认受到GI管理但是tnsnames.ora文件配置依然需要到$ORACLE_HOME
这里的tnsname别名在参数文件中多次被引用到
$cd$ORACLE_HOME/network/admin
$vitnsnames.ora
fapdbwb=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.51)(PORT=1521))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.61)(PORT=1521))
(LOAD_BALANCE=no)
(FAILOVER=yes)
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=fapdbwb)
(FAILOVER_MODE=
(TYPE=SELECT)
(METHOD=BASIC)
(RETRIES=180)
(DELAY=5)
)
)
)
fapdbwb70=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.70)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SID=fapdbwb)
)
)
三.4.在主库上生成备库的参数文件
$sqlplus/assysdba
createpfile='/u02/rmans/fapdbwb.pfile'fromspfile;
三.5.复制参数文件及密码文件
在rac+dg的架构中需要保持rac的两个节点及备库使用的是同一份密码文件,且需要保证密码文件的命名正确性。
scp-P22$ORACLE_HOME/dbs/orapwfapdbwb1192.168.56.70:
$ORACLE_HOME/dbs/orapwfapdbwb
$scp–P22fapdbwb.pfile192.168.56.70:
/u02/rmans
三.6.在主库上生成“造目录”文件
三.6.1.在主库
oracle11g中默认的user_dump_dest目录在$ORACLE_BASE/diag/rdbms下。
请实施的时候自行替换脚本。
$su-oracle
$fordin`find/u01/app/oracle/admin-typed-namefapdbwb`;dofind$d-typed|sed-e's/fapdbwb/fapdbwb70/g'-e's/^/mkdir-p/g'>>md;done;
将md文件拷到备库
$scp-P22md192.168.56.70:
/u02/rmans
三.6.2.在备库
#su-oracle
$cd/u02/rmans
$shmd
三.7.在备库上更改参数文件fapdbwb.pfile,修改其中主备库相关参数
#su-oracle
$cd/u02/rmans
$vifapdbwb.pfile
涉及的参数有:
1.log_archive_dest_1
2.log_archive_dest_2
3.control_files
4.db_unique_name
5.db_file_name_convert
6.log_file_name_convert
7.fal_server
8.fal_client该参数在11gdataguard中已经被废弃
9.*.log_archive_dest_state_2
10.内存大小相关设置结合备库硬件环境做调整
fapdbwb.__db_cache_size=XX
fapdbwb.__java_pool_size=134217728
fapdbwb.__large_pool_size=67108864
fapdbwb.__oracle_base='/u01/app/oracle'#ORACLE_BASEsetfromenvironment
fapdbwb.__pga_aggregate_target=4294967296
fapdbwb.__sga_target=XX
fapdbwb.__shared_io_pool_size=0
fapdbwb.__shared_pool_size=1778384896
fapdbwb.__streams_pool_size=0
*._enable_automatic_sqltune=FALSE
*._enable_NUMA_optimization=FALSE
*._optim_peek_user_binds=FALSE
*.audit_file_dest='/u01/app/oracle/admin/fapdbwb/adump'
*.audit_trail='NONE'
*.compatible='11.2.0.4.0'
*.control_files='/u02/oradata/fapdbwb/control01.ctl','/u02/oradata/fapdbwb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='fapdbwb'
*.db_unique_name='fapdbwb41'
*.db_writer_processes=4
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/u01/app/oracle'
*.fal_server='fapdbwb'
*.fal_client=’fapdbw41’
*.log_archive_config='DG_CONFIG=(fapdbwb,fapdbwb41)'
*.log_archive_dest_1='LOCATION=/u02/archVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=fapdbwb41'
*.log_archive_dest_2='SERVICE=fapdbwbOPTIONALLGWRASYNCNOAFFIRMREOPEN=60VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=fapdbwb'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='DEFER'
*.max_dump_file_size='10G'
(for10g)
*.db_file_name_convert='/dev/raw,/u02/oradata/fapdbwb'
*.log_file_name_convert='/dev/raw,/u02/oradata/fapdbwb'
(for11g)
*.db_file_name_convert=’+DATADG/fapdbwb/datafile,/u02/oradata/fapdbwb,+DATADG/fapdbwb/tempfile,/u02/oradata/fapdbwb’
*.log_file_name_convert=’+DATADG/fapdbwb,/u02/oradata/fapdbwb’
*.memory_target=0
*.open_cursors=32000
*.optimizer_dynamic_sampling=5
*.optimizer_index_cost_adj=10
*.optimizer_mode='ALL_ROWS'
*.parallel_execution_message_size=8192
*.pga_aggregate_target=4294967296
*.processes=2000
*.recyclebin='ON'
*.remote_login_passwordfile='EXCLUSIVE'
*.result_cache_max_result=5
*.result_cache_max_size=62914560
*.result_cache_mode='AUTO'
*.sec_case_sensitive_logon=FALSE
*.session_cached_cursors=150
*.sga_max_size=XX
*.sga_target=XX
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
三.8.在主库进入rman模式
三.8.1.oracle11g
oracle11g实施dataguard使用duplicatedatabasefromactivedatabase的方式。
三.8.1.1.监听注册备库监听
使用duplicatefromactivedatabase需要数据库启动到nomount状态下。
备库需要静态注册监听,否则执行duplicate会报错。
向$ORACLE_HOME/network/admin/listener.ora文件中添加静态注册内容:
SID_LIST_LISTENER_T=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=fapdbwb)
(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db)
(SID_