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