- 论坛徽章:
- 0
|
主、备机器环境:REDHAT AS3
ORACLE 9.2.0.4
1.创建备用数据库的参数文件和控制文件.
[oracle@test]$ sqlplus "/ as sysdba"
SQL> create pfile from spfile;(后面需要对参数文件进行修改)
SQL>alter database create standby controlfile as ‘/oracle/control_sta01.ctl’;
通过网络或其他方式将这两个文件复制到备机上.
2.修改数据库模式为归档模式。(主备数据库都必须是归档模式)
主数据库参数文件:(红色需要填加或修改)
*.background_dump_dest='/oracle/admin/db/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/oracle/oradata/db/control01.ctl','/oracle/oradata/db/control02.ctl','/oracle/oradata/db/control03.ctl'
*.core_dump_dest='/oracle/admin/db/cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='db'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='db'
*.java_pool_size=0
*.large_pool_size=8388608
*.log_archive_dest_1='LOCATION=/oracle/oradata/db/archive'
*.log_archive_format='%t_%s.arc'
*.log_archive_start=true
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/admin/db/udump'
*.remote_archive_enable=true
如果对归档模式不熟悉的,请到这里.
3.配置网络连接.
在TNSNAMES.ORA文件中添加以下内容: (主备机上都需要修改)
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.2)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db)
)
)
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = db)
)
)
修改完毕后,重启LSNRCTL.测试 tnsping standby和tnsping primary.(必须通过.否则会影响日志传输)
4.主数据归档模式修改完毕后.通过冷备份或者RMAN的形式获取备用数据库数据文件资料.
备数据库参数文件:(红色需要填加或修改)
*.background_dump_dest='/oracle/admin/db/bdump'
*.compatible='9.2.0.0.0'
*.control_files='/oracle/control_sta01.ctl ' #(可以多复制几份)
*.core_dump_dest='/oracle/admin/db/cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='db'
*.fast_start_mttr_target=300
*.hash_join_enabled=TRUE
*.instance_name='db'
*.java_pool_size=0
*.large_pool_size=8388608
*.log_archive_dest_1='LOCATION=/oracle/oradata/db/archive'
*.log_archive_format='%t_%s.arc'
*.log_archive_start=true
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=83886080
*.sort_area_size=524288
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/admin/db/udump'
*.remote_archive_enable=true
*.standby_file_management=AUTO
*.standby_archive_dest='/oracle/oradata/db/archive'
*.fal_server='DBPRIMARY'
*.fal_client='DBSTANDBY'
/*可选参数(只对备用数据库)*/
1.db_file_name_convert(主数据库和备用数据的数据文件的目录不一样就需要设置这个参数)
EXP:
*.db_file_name_convert='/oracle/oradata/db/', '/oracle/oradata/data/'
2.log_file_name_convert(同上)
5.启动备用数据库
[oracle@test]$ sqlplus "/ as sysdba"
SQL>startup nomount pfile=../dbs/init[SID].ora
SQL>alter database mount standby database;
SQL>alter database recover managed standby database disconnect from session;
启动恢复模式.如果一切都正常.dataguard就安装好了.
通过以下方法你也监控到备用机器是否接收主数据库的归档日志.
cd /oracle/admin/[sid]/bdump
tail -f alert_[SID].log
如果看到类似于:
...............
...............
Media Recovery Waiting from thread 1seq# 5
Completed : alter database recover managed standby database di
Media Recovery Log /oracle/oradata/db/archive/1_5.arc
Media Recovery Waiting from thread 1seq# 6
这就说明Data Guard已经正常运行了。 |
|