一 配置规划 名 称 ip 监听 端 口 sid db_name db_unique_name service name 主机 127.0.0.1 listener1 1521 test1
一 配置规划
名 称ip监听端 口siddb_namedb_unique_nameservice name
主机
127.0.0.1
listener1
1521test1test1test1test1 备机
127.0.0.1
listener12
1522test2test1test1test1 二 具体步骤
1 主库操作
---确认主库在归档模式
sql>archive log list
更改:
sql>startup mount
sql>alter database archive log
---置为force logging 模式
sql>alter database force logging;
---创建主库密码文件
orapwd file=’d:\oracle\product\10.2.0\db_1\database\pwdtest1.ora’ password= entries=5
---创建从库控制文件
sql> alter database create standby controlfile as ' d:\oracle\product\10.2.0\db_1\oradata\test2\control01.ctl ';
---创建主库二进制参数文件
sql>create pfile=’d:\inittest1.ora’ from spfile;
---更改主库的二进制参数文件
添加
db_name=test1
db_unique_name=test1
log_archive_config='dg_config=(test1,test2)'
*.compatible='10.2.0.1.0'
*.control_files='d:\oracle\product\10.2.0\oradata\test1\control01.ctl','d:\oracle\product\10.2.0\oradata\test1\control02.ctl','d:\oracle\product\10.2.0\oradata\test1\control03.ctl'
log_archive_dest_1='location=d:\oracle\product\10.2.0\oradata\test1\archive1 valid_for=(all_logfiles,all_roles) db_unique_name=test1'
#log_archive_dest_2='service=test2 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=test2'
log_archive_dest_2='service=test2 db_unique_name=test2'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
remote_login_passwordfile=exclusive
log_archive_format=%t_%s_%r.arc
#log_archive_max_processes=30
fal_server=test2
fal_client=test1
db_file_name_convert='d:\oracle\product\10.2.0\oradata\test2\','d:\oracle\product\10.2.0\oradata\test1\'
log_file_name_convert='d:\oracle\product\10.2.0\oradata\test2\','d:\oracle\product\10.2.0\oradata\test1\'
standby_file_management=auto
---用inittest1.ora生成spfiletest1.ora
sql>shutdown immediate
sql>startup pfile=’d:\inittest1.ora’
sql>create spfile=’d:\oracle\product\10.2.0\db_1\dbs\spfiletest1.ora’ from pfile
2 从库操作
---创建服务
oradim -new -sid test2
--- 创建密码文件
orapwd file=‘d:\oracle\product\10.2.0\db_1\database\pwdtest2.ora password= entries=5
----拷贝相关文件
a $oraclebase\oradata\test1\拷贝到$oraclebase\oradata\test\2
日志文件,,控制文件,归档文件除外
其中控制文件收主库操作中生成的文件复制成另外两个
b $oraclebase\admin\test1\拷贝到$oraclebase\admin\test2\
----copy inittest1.ora inittest2.ora
----更改inittest2.ora
db_name=test1
db_unique_name=test2
log_archive_config='dg_config=(test1,test2)'
*.compatible='10.2.0.1.0'
*.control_files='d:\oracle\product\10.2.0\oradata\test2\control01.ctl','d:\oracle\product\10.2.0\oradata\test2\control02.ctl','d:\oracle\product\10.2.0\oradata\test2\control03.ctl'
log_archive_dest_1='location=d:\oracle\product\10.2.0\oradata\test2\archive2 valid_for=(all_logfiles,all_roles) db_unique_name=test2'
#log_archive_dest_2='service=test2 lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=test1'
log_archive_dest_2='service=test1 db_unique_name=test1'
log_archive_dest_state_1=enable
log_archive_dest_state_2=enable
remote_login_passwordfile=exclusive
log_archive_format=%t_%s_%r.arc
#log_archive_max_processes=30
fal_server=test1
fal_client=test2
db_file_name_convert='d:\oracle\product\10.2.0\oradata\test1\','d:\oracle\product\10.2.0\oradata\test2\'
log_file_name_convert='d:\oracle\product\10.2.0\oradata\test1\','d:\oracle\product\10.2.0\oradata\test2\'
standby_file_management=auto
3 配置主从监听
listener2 =
(description =
(address = (protocol = tcp)(host = 192.168.0.69)(port = 1522))
)
listener1 =
(description =
(address = (protocol = tcp)(host = 192.168.0.69)(port = 1521))
)
sid_list_listener2 =
(sid_list =
(sid_desc =
(global_dbname = test2)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(sid_name = test2)
)
)
sid_list_listener1 =
(sid_list =
(sid_desc =
(global_dbname = test1)
(oracle_home = d:\oracle\product\10.2.0\db_1)
(sid_name = test1)
)
)
4 配置主从tnsnames.ora
test1 =
(description =
(address = (protocol = tcp)(host = ltan.epoa.com)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = test1)
)
)
test2 =
(description =
(address = (protocol = tcp)(host = ltan.epoa.com)(port = 1522))
(connect_data =
(server = dedicated)
(service_name = test2)
)
)
5 启用redo应用
sql>startup mount pfile=’d:\inittest2.ora’
sql> alter database recover managed standby database disconnect from session;