RAC环境创建STANDBY数据库.docx

上传人:b****0 文档编号:12570669 上传时间:2023-04-20 格式:DOCX 页数:46 大小:32.45KB
下载 相关 举报
RAC环境创建STANDBY数据库.docx_第1页
第1页 / 共46页
RAC环境创建STANDBY数据库.docx_第2页
第2页 / 共46页
RAC环境创建STANDBY数据库.docx_第3页
第3页 / 共46页
RAC环境创建STANDBY数据库.docx_第4页
第4页 / 共46页
RAC环境创建STANDBY数据库.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

RAC环境创建STANDBY数据库.docx

《RAC环境创建STANDBY数据库.docx》由会员分享,可在线阅读,更多相关《RAC环境创建STANDBY数据库.docx(46页珍藏版)》请在冰豆网上搜索。

RAC环境创建STANDBY数据库.docx

RAC环境创建STANDBY数据库

这篇文章描述为RAC环境创建STANDBY数据库。

由于篇幅限制,加上碰到了很多的bug,只能将文章拆分成多篇。

这章介绍STANDBY数据库的准备和创建过程。

STANDBY数据库同样是RAC环境,不过和主数据库采用VOLUMNCLUSTERMANAGER不同,STANDBY数据库采用ASM。

在源数据库中设置FORCE_LOGGING和相应的初始化参数:

SQL>SELECTDBID,NAME,LOG_MODE,FORCE_LOGGINGFROMV$DATABASE;

DBIDNAMELOG_MODEFOR

----------------------------------

1712482917RAC11GARCHIVELOGNO

SQL>ALTERDATABASEFORCELOGGING;

数据库已更改。

SQL>ALTERSYSTEMSETLOG_ARCHIVE_CONFIG='DG_CONFIG=(rac11g,rac11g_s)';

系统已更改。

SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_1=

2'LOCATION=/data/oracle/oradata/rac11g/archivelog/VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=rac11g';

系统已更改。

SQL>ALTERSYSTEMSETLOG_ARCHIVE_DEST_2='SERVICE=rac11g_sLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=rac11g_s';

系统已更改。

SQL>ALTERSYSTEMSETFAL_SERVER=rac11g_s;

系统已更改。

SQL>ALTERSYSTEMSETFAL_CLIENT=rac11g;

系统已更改。

SQL>ALTERSYSTEMSETSTANDBY_FILE_MANAGEMENT=AUTO;

系统已更改。

手工在源数据库的两个节点分别添加访问STANDBY数据库的服务名,以及在STANDBY数据库恢复过程中临时使用的服务名:

RAC11G_S=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=172.0.2.68)(PORT=1521))

(ADDRESS=(PROTOCOL=TCP)(HOST=172.0.2.69)(PORT=1521))

(LOAD_BALANCE=yes)

(CONNECT_DATA=

(SERVER=DEDICATED)

(SERVICE_NAME=rac11g_)

RAC11G1_S=

(DESCRIPTION=

(ADDRESS=(PROTOCOL=TCP)(HOST=172.0.2.62)(PORT=1521))

(CONNECT_DATA=

(SERVER=DEDICATED)

(SID=rac11g1)

同样,在STANDBY数据库的TNSNAMES.ORA中也要添加STANDBY和PRIMARY数据库的服务名。

STANDBY数据库的Oraclerac环境已经建立,ASM也已经启动,数据库版本时11g,本打算采用FROMACTIVEDATABASE方式创建STANDBY,但是这种方式对于源数据库为裸设备,目标数据库使用ASM的情况存在很多的bug,所以仍然使用备份恢复的方法。

首先检查当前环境:

$env|grepORA

ORACLE_BASE=/data/oracle

ORACLE_HOME=/data/oracle/product/11.1/database

ORACLE_SID=rac11g1

编辑初始化参数,创建spfile,启动AUXILIARY实例:

rac11g1.__db_cache_size=137********

rac11g2.__db_cache_size=136********

rac11g2.__java_pool_size=67108864

rac11g1.__java_pool_size=134217728

rac11g2.__large_pool_size=67108864

rac11g1.__large_pool_size=67108864

rac11g1.__oracle_base='/data/oracle'#ORACLE_BASEsetfromenvironment

rac11g2.__oracle_base='/data/oracle'#ORACLE_BASEsetfromenvironment

rac11g2.__pga_aggregate_target=2147483648

rac11g1.__pga_aggregate_target=2147483648

rac11g2.__sga_target=150********

rac11g1.__sga_target=150********

rac11g2.__shared_io_pool_size=0

rac11g1.__shared_io_pool_size=0

rac11g1.__shared_pool_size=1006632960

rac11g2.__shared_pool_size=1207959552

rac11g2.__streams_pool_size=0

rac11g1.__streams_pool_size=0

*.audit_file_dest='/data/oracle/admin/rac11g/adump'

*.audit_trail='db'

*.cluster_database_instances=2

*.cluster_database=true

*.compatible='11.1.0.0.0'

*.control_files='+DATA/RAC11G/rac11g_control_1','+DATA/RAC11G/rac11g_control_2','+DATA/RAC11G/rac11g_control_3'

*.db_block_size=16384

*.db_domain=''

*.db_name='rac11g'

*.diagnostic_dest='/data/oracle'

*.dispatchers='(PROTOCOL=TCP)(SERVICE=rac11gXDB)'

fal_client='RAC11G_S'

fal_server='RAC11G'

log_archive_dest_1='LOCATION=+DATA/RAC11GVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=rac11g_s'

log_archive_dest_2='SERVICE=rac11gLGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=rac11g'

db_unique_name='rac11g_s'

rac11g2.instance_number=2

rac11g1.instance_number=1

rac11g1.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=172.0.2.62)(PORT=1521))'

rac11g2.local_listener='(ADDRESS=(PROTOCOL=TCP)(HOST=172.0.2.63)(PORT=1521))'

*.log_archive_config='DG_CONFIG=(rac11g,rac11g_s)'

*.log_archive_format='%t_%s_%r.dbf'

*.memory_target=17179869184

*.open_cursors=300

*.pga_aggregate_target=2147483648

*.processes=600

*.remote_listener='LISTENERS_RAC11G'

*.remote_login_passwordfile='exclusive'

*.sessions=600

rac11g1.sga_target=150********

*.sga_target=150********

rac11g2.sga_target=150********

*.standby_file_management='AUTO'

rac11g2.thread=2

rac11g1.thread=1

rac11g2.undo_tablespace='UNDOTBS2'

rac11g1.undo_tablespace='UNDOTBS1'

db_file_name_convert=('/dev/vx/rdsk/datavg','+DATA/RAC11G')

log_file_name_convert=('/dev/vx/rdsk/datavg','+DATA/RAC11G')

下面通过这个初始化参数启动实例:

bash-3.00$sqlplus"/assysdba"

SQL*Plus:

Release11.1.0.6.0-Productionon星期二9月918:

29:

342008

Copyright(c)1982,2007,Oracle.Allrightsreserved.

已连接到空闲例程。

SQL>createspfilefrompfile='/data/initrac11g.ora';

文件已创建。

SQL>startupnomount

ORACLE例程已经启动。

TotalSystemGlobalArea1.7108E+10bytes

FixedSize2101632bytes

VariableSize3344420480bytes

DatabaseBuffers1.3757E+10bytes

RedoBuffers4431872bytes

SQL>exit从OracleDatabase11gEnterpriseEditionRelease11.1.0.6.0-64bitProduction

WiththePartitioning,RealApplicationClusters,OLAP,DataMining

andRealApplicationTestingoptions断开

和DUPLICATERAC环境一样的问题,由于本地备份集是存放在ASM中,因此只能通过CATALOG方式,手工修改CATALOG中BACKUPPIECE的HANDLE记录,将其改为目标数据库上ASM中备份集的全路径:

SQL>conncatalog_user/catalog_user已连接。

SQL>colhandleformata60

SQL>selectbp_key,handlefromrc_backup_piece;

BP_KEYHANDLE

----------------------------------------------------------------------

1475/data/01jpk0bj_1_1

SQL>updaterc_backup_piecesethandle='+DATA/backup/01jpk0bj_1_1'

2wherebp_key=1475;

已更新1行。

SQL>commit;

提交完成。

确保源数据库的归档日志,在STANDBY数据库中的相同目录下可以被访问,然后通过RMAN来执行DUPLICATE命令:

bash-3.00$rmantargetsys/test@172.0.2.54/catalogcatalog_user/catalog_user@172.0.2.61/dbauxiliary/

RecoveryManager:

Release11.1.0.6.0-ProductiononWedSep1010:

02:

152008

Copyright(c)1982,2007,Oracle.Allrightsreserved.

connectedtotargetdatabase:

RAC11G(DBID=1712482917)

connectedtorecoverycatalogdatabase

connectedtoauxiliarydatabase:

RAC11G(notmounted)

RMAN>duplicatetargetdatabaseforstandby

2>dorecover;

StartingDuplicateDbat10-SEP-08

allocatedchannel:

ORA_AUX_DISK_1

channelORA_AUX_DISK_1:

SID=660instance=rac11g1devicetype=DISK

contentsofMemoryScript:

{

setuntilscn29148537;

restoreclonestandbycontrolfile;

sqlclone'alterdatabasemountstandbydatabase';

}

executingMemoryScript

executingcommand:

SETuntilclause

Startingrestoreat10-SEP-08

usingchannelORA_AUX_DISK_1

channelORA_AUX_DISK_1:

restoringcontrolfile

ORA-19625:

erroridentifyingfile/data/oracle/product/11.1/database/dbs/snapcf_rac11g1.f

ORA-27037:

unabletoobtainfilestatus

SVR4Error:

2:

Nosuchfileordirectory

Additionalinformation:

3

ORA-19600:

inputfileiscontrolfile(/data/oracle/product/11.1/database/dbs/snapcf_rac11g1.f)

ORA-19601:

outputfileiscontrolfile(+DATA/rac11g/rac11g_control_1)

failovertopreviousbackup

channelORA_AUX_DISK_1:

startingdatafilebackupsetrestore

channelORA_AUX_DISK_1:

restoringcontrolfile

channelORA_AUX_DISK_1:

readingfrombackuppiece+DATA/backup/01jpk0bj_1_1

channelORA_AUX_DISK_1:

piecehandle=+DATA/backup/01jpk0bj_1_1tag=TAG20080902T204539

channelORA_AUX_DISK_1:

restoredbackuppiece1

channelORA_AUX_DISK_1:

restorecomplete,elapsedtime:

00:

00:

03

outputfilename=+DATA/rac11g/rac11g_control_1

outputfilename=+DATA/rac11g/rac11g_control_2

outputfilename=+DATA/rac11g/rac11g_control_3

Finishedrestoreat10-SEP-08

sqlstatement:

alterdatabasemountstandbydatabase

contentsofMemoryScript:

{

setuntilscn29148537;

setnewnamefortempfile1to

"+DATA/rac11g/rac11g_temp_1_4g";

setnewnamefortempfile2to

"+DATA/rac11g/rac11g_temp_2_16g";

switchclonetempfileall;

setnewnamefordatafile1to

"+DATA/rac11g/rac11g_system_1_1g";

setnewnamefordatafile2to

"+DATA/rac11g/rac11g_sysaux_1_1g";

setnewnamefordatafile3to

"+DATA/rac11g/rac11g_undotbs1_1_4g";

setnewnamefordatafile4to

"+DATA/rac11g/rac11g_undotbs2_1_4g";

setnewnamefordatafile5to

"+DATA/rac11g/rac11g_users_1_4g";

setnewnamefordatafile6to

"+DATA/rac11g/rac11g_ndmain_1_32g";

setnewnamefordatafile7to

"+DATA/rac11g/rac11g_ndmain_2_32g";

setnewnamefordatafile8to

"+DATA/rac11g/rac11g_ndmain_3_32g";

setnewnamefordatafile9to

"+DATA/rac11g/rac11g_ndmain_4_32g";

setnewnamefordatafile10to

"+DATA/rac11g/rac11g_ndmain_5_32g";

setnewnamefordatafile11to

"+DATA/rac11g/rac11g_ndmain_6_32g";

setnewnamefordatafile12to

"+DATA/rac11g/rac11g_undotbs1_2_32g";

setnewnamefordatafile13to

"+DATA/rac11g/rac11g_undotbs2_2_32g";

setnewnamefordatafile14to

"+DATA/rac11g/rac11g_perfstat_1_8g";

restore

clonedatabase

;

}

executingMemoryScript

executingcommand:

SETuntilclause

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

renamedtempfile1to+DATA/rac11g/rac11g_temp_1_4gincontrolfile

renamedtempfile2to+DATA/rac11g/rac11g_temp_2_16gincontrolfile

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

executingcommand:

SETNEWNAME

Startingrestoreat10-SEP-08

usingchannelORA_AUX_DISK_1

channelORA_AUX_DISK_1:

startingdatafilebackupsetrestore

channelORA_AUX_DISK_1:

specifyingdatafile(s)torestorefrombackupset

channelORA_AUX_DISK_1:

restoringdatafile00001to+DATA/rac11g/rac11g_system_1_1g

channelORA_AUX_DISK_1:

restoringdatafile00002to+DATA/rac11g/rac11g_sysaux_1_1g

channelORA_AUX_DISK_1:

restoringdatafile00003to+DATA/rac11g/rac11g_undotbs1_1_4g

channelORA_AUX_DISK_1:

restoringdatafile00004to+DATA/rac11g/rac11g_undotbs2_1_4g

channelORA_AUX_DISK_1:

restoringdatafile00005to+DATA/rac11g/rac11g_users_1_4g

channelORA_AUX_DISK_1:

restoringdatafile00006to+DATA/rac11g/rac11g_ndmain_1_32g

channelORA_AUX_DISK_1:

restoringdatafile00007to+DATA/rac11g/rac11g_ndmain_2_32g

channelORA_AUX_DISK_1:

restoringdatafile00008to

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1