DataGuard物理Standby数据库创建步骤详解

一:物理Standby数据库创建前期工作:

在做DataGuard 物理standby数据库创建之前这些工作要全部完成并配置正确能正常工作。一.软件部分:1.primary数据库,standby数据库服务器操作系统(我们公司用的是windows server 2003)安装好并且补丁打好,并且两台服务器操作系统版本等要完全一致,两台服务器网络配置正确,通信正常。2.oracle 10G正确安装完成(两台服务器的oracle安装目录要一致),并且补丁打好.3.两台服务器的用户名,密码设置一样。4.同步两台服务器的机器时间。二.硬件部分:两台服务器的硬盘,内存的大小,型号要完全一样.

二:创建,配置primary数据库

1. 创建primary数据库(步骤略),设置sysdba密码(很重要)

2. oracleNet Manager中配置primary数据库服务,也可以在C:/oracle/product/10.2.0/db/NETWORK/ADMIN目录下通过tnsnames.ora文件配置。配置完成后用自己的机器,或者另一台服务器的oracle管理平台看是否能正常进入primary数据库(测试是否通畅.

3. C:/oracle/product/10.2.0/db/NETWORK/ADMIN目录下通过listener.ora文件配置primary数据库的监听,然后通过lsnrctl,reload重启监听.

4. 更改参数文件,应用参数文件:连接进入primary数据库,创建PFILE文件sql>create pfile=’e:/lmis.ora’ from spfile;(数据库文件下) 最好用UltraEdit-32编辑lmis.ora文件增加并更改如下部分内容:

*.archive_lag_target=1800同步时间)

*.db_unique_name='whprm'(数据库唯一标识,如syprm)

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(whprm,whstd)' (syprm,systd)

*.LOG_ARCHIVE_DEST_1='LOCATION=E:/LMISWH/ARCHIE(自己创建,归档路径) VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=whprm'

同步

*.LOG_ARCHIVE_DEST_2='SERVICE=whstd LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=whstd'

*.LOG_ARCHIVE_DEST_STATE_1='ENABLE' 表示允许传输服务

*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'

*.log_archive_format='ARC%S_%R.%T'

*.FAL_CLIENT='whprm'

*.FAL_SERVER='whstd'

*.DB_FILE_NAME_CONVERT='E:/LMISWH/DATAFILE','E:/LMISWH/DATAFILE'

*.LOG_FILE_NAME_CONVERT='E:/lmiswh/LOGFILE','E:/lmiswh/LOGFILE'

*.standby_file_management='AUTO'

关闭primary数据库 (shutdown immediate) 后,应用更改过后的lmis.ora文件:SQL>create spfile from pfile=’e:/lmis.ora’(创建和应用的目录得根据实际情况而定),应用过后启动数据库sql>startup

5. 此处可以放在第6更改数据库的归档模式,更改之前首先通过archive log list查看一下数据库原有的归档模式,然后关闭数据库,再启动数据库到mount状态,(如果启动不了,可采用此方法:shutdown immediate---startup restrict---shutdown---startup mount接着改变数据库为归档模式:SQL>alter database archivelog ,然后启动数据库 startup open;

6.

升级oracle

此处可以放在第5数据库升级关闭数据库,然后以upgrade 模式启动数据库SQL>startup upgrade 然后执行这句话进行升级:

SQL>@C:/oracle/product/10.2.0/db/rdbms/admin/catupgrd.sql;完了之后,再以SYSDBA进入数据库(如果不以DBA进去的话,会报error number错误),再执行这句话

SQL> @C:/oracle/product/10.2.0/db/rdbms/admin/catalog.sql 光标停下来处于可编辑状态升级完毕。

7配置primarystandby数据库的全局唯一名服务和创建普通服务一样有两种方法不再重述。在tnsnames.ora文件中服务参数设置如下:

WHPRM =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = jzt-tpaxqrzg3sl)(PORT = 1521))

)

(CONNECT_DATA =

(SID = lmiswh)

) )

WHSTD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = jzt-x6lzak9yshl)(PORT = 1521))

)

(CONNECT_DATA =

(SID = lmiswh)

)

)

7. primary数据库创建standby数据库控制文件:启动数据库,以sysdba进入数据库SQL>alter database create standby controlfile as ‘e:/control01.ctl’;关闭primary数据库,拷贝cotrol01.ctl这个控控制文件到standby数据库服务器e:/lmiswh/pfile/目录下,然后复制两份:cotrol02.ctl,cotrol03.ctl,在拷贝之前先删除这个目录下原有的三个控制文件。到此primary数据库的创建,参数设置已全部完成。

三:创建,配置standby数据库

1. 关闭primary数据库,拷贝primary数据库服务器E:/lmiswh文件夹standby数据库服务器同样的目录下.

2. 拷贝primary数据库服务器c:/oracle/product/10.2.0/db/database/pwdlmiswh.ora, c:/oracle/product/10.2.0/db/database/spfilelmiswh.ora文件到standby数据库服务器相同的目录下.

3.standby服务器上创建standby数据库服务:oradim –new –sid lmiwh –spfile;(若创建失败,可用下方法解决:cd/----oradim –new –sid –lmissy –startmode a –spfile,若还不行,则用oradim –new –sid –lmissy –startmode a –pfile C:/oracle/product/10.2.0/db/database/spfilelmis.ora) 启动服务: oradim –startup –sid lmiswh

4.通过net manager或者通过更改C:/oracle/product/10.2.0/db/NETWORK/ADMIN目录下tnsnames.ora文件,配置standby数据库服务和全局数据库名(服务) tnsnames.ora文件中服务参数设置如下: WHPRM =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = jzt-tpaxqrzg3sl)(PORT = 1521))

)

(CONNECT_DATA =

(SID = lmiswh)

)

)

WHSTD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = jzt-x6lzak9yshl)(PORT = 1521))

)

(CONNECT_DATA =

(SID = lmiswh)

)

)

5C:/oracle/product/10.2.0/db/NETWORK/ADMIN目录下通过listener.ora文件配置primary数据库的监听,然后通过lsnrctl,reload 重新载入监听.

6.更改参数文件并应用参数文件:启动数据库并以sysdba身份进入SQL>create pfile=’e:/lmis.ora’ from spfile; 然后用UltraEdit-32编辑lmis.ora文件,更加参数配置并加入以下内容:(若提示登陆不上,则先创建密码: cd------C:/>orapwd file=C:/oracle/product/10.2.0/db/database/PWDlmissy.ora password=lmissy entries=500

*.db_name='lmiswh'

*.archive_lag_target=1800

*.db_unique_name='whstd'

*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(whprm,whstd)'

*.LOG_ARCHIVE_DEST_1='LOCATION=E:/LMISWH/ARCHIE VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=whstd'

*.log_archive_dest_2='SERVICE=whprm LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=whprm'

*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'

*.LOG_ARCHIVE_DEST_STATE_2='ENABLE'

*.log_archive_format='ARC%S_%R.%T'

*.LOG_FILE_NAME_CONVERT='E:/whlmis/LOGFILE','E:/whlmis/LOGFILE'

*.standby_file_management='AUTO'

*.FAL_CLIENT='whstd'

*.FAL_SERVER='whprm'

*.user_dump_dest='E:/LMISWH/PFILE/udump'

保存后,关闭standby数据库,应用更改过后的lmis.ora文件sql>create spfile from pfile=’e:/lmis.ora’;启动数据库,

7.创建standby数据库日志组文件,启动数据库到mount状态:SQL>下执行以下语句: alter database add standby logfile group 4 ('E:/lmiswh/logfile/STANDBYRD01.LOG') size 50M;

alter database add standby logfile group 5 ('E:/lmiswh/logfile/STANDBYRD02.LOG') size 50M;

alter database add standby logfile group 6 ('E:/lmiswh/logfile/STANDBYRD03.LOG') size 50M;

alter database add standby logfile group 7 ('E:/lmiswh/logfile/STANDBYRD04.LOG') size 50M;

alter database add standby logfile group 8 ('E:/lmiswh/logfile/STANDBYRD05.LOG') size 50M;

alter database add standby logfile group 9 ('E:/lmiswh/logfile/STANDBYRD06.LOG') size 50M;

alter database add standby logfile group 10 ('E:/lmiswh/logfile/STANDBYRD07.LOG') size 50M;最后一个要回车一下;创建完后,select group# from v$standby_log查看是否成功创建了日志组文件.

到此standby数据库的创建,配置全部完成.下面要启动同步应用.看归档日志同步传输情况.

: 启动同步应用

1. 关闭primary数据库,重启数据库,改变primary数据库的保护模式为最高可用模式,SQL>alter database set standby database to maximize availability;

2. 启运standby数据库到mounted 状态,启动同步应用:SQL>alter database recover managed standby database disconnect from session;

接着取消同步应用:alter database recover managed standby database cancel;接着恢复数据库管理:recover managed standby database

查看E:/lmiswh/pfile/bdump/alert_lmiswh.log文件有没有报错信息,如果没有错误信息,文件停止增加的话,接着:取消恢复数据库管理SQl>recover managed standby database cancel(这句话要另开一个窗口)这时候另外一个cmd窗口变成可编辑,改变数据库到open状状.SQL>alter database open;

紧接着再次启动同步应用: SQL>alter database recover managed standby database disconnect from session;观窗日志文件同步情况;

: RMAN备份设置

1. RMAN_SCRIPT_PRIMARY文件夹中已写好的批处理脚文件拷贝到primary数据库服务器F盘目录下.编辑其中的set_env.bat批处文件内容如下:

@SET ORACLE_BASE=C:/oracle/product/10.2.0 C:/oracle/ora92

@SET ORACLE_HOME=C:/oracle/product/10.2.0/db

@SET ORACLE_SID=lmiswh

@SET ARCH_DEST=E:/lmiswh/ARCHIE

@SET DBS_SCRIPT_DIC=F:/RMAN_SCRIPT/PRIMARY要是PRIMARY脚本存在的目录

@SET DBS_BASE=F:/BACKUP

@SET DBS_IP=192.168.90.150primaryIP

@SET BS_IP=192.168.90.149(standby ip )

@SET BS_USER=administrator

@SET BS_PASSWORD=111111计算机设定的密码

2. RMAN_SCRIPT_STANDBY文件夹已写好的批理文件拷贝到standby数据库服器上的F盘目录下,编辑set_env.bat批处理文件内容如下:

@SET ORACLE_BASE=C:/oracle/product/10.2.0

@SET ORACLE_HOME=C:/oracle/product/10.2.0/db

@SET ORACLE_SID=lmiswh

@SET ARCH_DEST=E:/lmiswh/ARCHIE

@SET DBS_SCRIPT_DIC=F:/RMAN_SCRIPT/STANDBY

@SET DBS_BASE=F:/BACKUP

@SET DBS_IP=192.168.90.149

@SET BS_IP=192.168.90.150

@SET BS_USER=administrator

@SET BS_PASSWORD=111111

以上更改都要在F盘下创建backup文件夹,RMAN_SCRIPT_PRIMARY, RMAN_SCRIPT_STANDBY更改为RMAN_SCRIPT文件夹.

3. primary数据库服务器上添加任务计划:任务计划一:中午12:00dmp方式备份,任务计划名:exp_dmp_evenfall(这之前要写好导出的批处理文件,并放置合适的文件夹下)任务计划二:每天的凌晨1:00RMAN全备份(计划任务文件:rman_db_all.bat),任务计划名为:rman_db_all_morning;

4. standby数据库服务器上添加任务计划:任务计划一:每天中午12:00RMAN全备份,取名为:rman_db_all_afternoon,任务计划二:每天的凌晨2:00钟做一次RMAN全备份,任务计划名:rman_db_all_morning ,任务计划三:每天的下午六点钟做exp导出dmp备份,任务计划名:exp_dmp_evening

由于RMAN备份对数据库性能影响比较大,所以一般放在公司业务停或者很小的时候做.

5. 手动运行任务计划,Fbackup目录下的相关日志文件有无报错信息.

到此所有的dataguardDataGuard物理Standby数据库创建步骤完成.

你可能感兴趣的:(dataguard)