主库的配置
将数据库变更为归档模式,同时强制日志写
1.shutdown immediate
startup mount;
alter database archivelog;
alter database force logging;
2.为备库创建三组日志文件
alter database add standby logfile group 4 ('E:\log\stand04.log') size 50M;
alter database add standby logfile group 5 ('E:\log\stand05.log') size 50M;
alter database add standby logfile group 6 ('E:\log\stand06.log') size 50M;
3.创建standby控制文件
alter database create standby controlfile as 'd:\standby.ctl';
4.创建参数文件
create pfile='D:\INITcashcard.ORA' from spfile
编辑参数文件要增加的内容
*.db_unique_name='primary'
*.archive_lag_target=1800
*.fal_client='standby'
*.fal_server='primary'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='LOCATION=e:\log VALID_FOR=(all_logfiles,all_roles) db_unique_name=primary'
*.log_archive_dest_2='service=standby arch async valid_for=(online_logfiles,primary_role) db_unique_name=standby'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_format='%t_%s_%r.dbf'
*.DB_FILE_NAME_CONVERT---可以没有,如果主备库路径不一致,需要写
*.LOG_FILE_NAME_CONVERT---可以没有,如果主备库路径不一致,需要写
*.standby_file_management='auto'
5用修改过的参数启动
startup pfile='D:\INITcashcard.ORA' nomount;
create spfile from pfile='D:\INITcashcard.ORA';
shutdown immediate ;
startup
6.创建密码文件--就是sys的密码,主备库的密码一定要一致
这个目录下直接找到C:\oracle\product\10.2.0\db_1\database PWDCASHCARD.ora
也可以自己创建
orapwd file= password= entries=10
7.配置listener.ora
在SID_LIST_LISTENER下增加
(SID_DESC =
(GLOBAL_DBNAME = cashcard.springland)
(ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
(SID_NAME = cashcard)
)
同时LISTENER=下把计算机名改成本机IP 192.168.1.60
8.修改tnsnames.ora
添加内容
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.60)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cashcard)
)
)
standby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.61)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = cashcard)
)
)
----至此 主库的内容修改完毕
C:\oracle\product\10.2.0\admin整个目录
D:\oradata D:\INITcashcard.ora D:\STANDBY.ctl
E:\log
E:\flash_recovery_area
密码文件 C:\oracle\product\10.2.0\db_1\database\PWDcashcard.ora 这个一定要有
同时将拷贝过来的STANDBY.ctl复制到D:\oradata\cashcard 三份 分别命名control01.ctl,control02.ctl,control03.ctl
注册oracle实例服务
oradim -new -sid cashcard
修改 D:\INITcashcard.ORA
*.fal_client='primary'
*.fal_server='standby'
*.log_archive_config='DG_CONFIG=(primary,standby)'
*.log_archive_dest_1='LOCATION=e:\log\arch VALID_FOR=(all_logfiles,all_roles) db_unique_name=standby'
*.log_archive_dest_2='service=primary arch async valid_for=(online_logfiles,primary_role) db_unique_name=primary'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_format='%t_%s_%r.dbf'
*.standby_file_management='auto'
startup nomount pfile='D:\INITcashcard.ORA';
create spfile from pfile='D:\INITcashcard.ORA';
shutdown immediate;
startup nomount;
加载数据库为备用数据库模式
alter database mount standby database;
开启备用库应用重做
alter database recover managed standby database disconnect from session;
---关闭应用重做
---alter database recover managed standby database cancel;
---配置实时应用重做
---alter database recover managed standby database using current logfile;
察看切换状态
select switchover_status from v$database;
查看日至是否同步
select sequence#,applied from v$archived_log order by sequence#;