Oracle 9i 配置备用数据库步骤

1.主库设置成归档模式

2.拷贝主库的表空间文件、Redo、拷贝到备库的对应目录

3.拷贝主库的参数文件到备库
/u02/app/oracle/admin/devdb1/script/init.ora

[@more@]

4.从库生成密码文件
/u01/app/oracle/ora920/bin/orapwd file=/u01/app/oracle/ora920/dbs/orapwdevdb1 password=change_on_install

5.主库生成备用数据库专用控制文件
alter database create standby controlfile as '/u02/oradata/devdb1/stdcotrl.ctl';

6. 将备用数据库专用控制文件拷贝到备用数据库(并复制3份)
cp stdcotrl.ctl stdcotrl01.ctl
cp stdcotrl.ctl stdcotrl02.ctl
cp stdcotrl.ctl stdcotrl03.ctl
rm stdcotrl.ctl

7.修改备用数据库参数文件
cp /u01/app/oracle/admin/devdb1/scripts/init.ora /u01/app/oracle/admin/devdb1/scripts/initstandby.ora
vi /u01/app/oracle/admin/devdb1/scripts/initstandby.ora

将 control_files=("/u02/oradata/devdb1/control01.ctl", "/u02/oradata/devdb1/control02.ctl", "/u02/oradata/devdb1/control03.ctl") 这行注释掉
增加下列行
utl_file_dir='/u01/app/oracle'
standby_archive_dest='/u02/oradata/devdb1/stdarch'
fal_server='PRIMARY'
fal_client='STANDBY'
standby_file_management='AUTO'
control_files=("/u02/oradata/devdb1/stdcotrl01.ctl", "/u02/oradata/devdb1/stdcotrl02.ctl", "/u02/oradata/devdb1/stdcotrl03.ctl")

7.修改主库及备用数据库的TNSNAMES.ora添加下列内容
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.131)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = devdb1.freelynet.com)
)
)


STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.132)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = devdb1.freelynet.com)
)
)

主库备库启动 lsnrctl start
主库测试 TNS
tnsping primary
tnsping standby
备库测试 TNS
tnsping primary
tnsping standby


8. 启动备用数据库
startup nomount pfile="/u01/app/oracle/admin/devdb1/scripts/initstandby.ora";
alter database mount standby database; //切换到备用数据库模式并mount
alter database recover managed standby database disconnect from session; //切换到管理模式,自动应用归档日志



9. 主库设置归档日志路径
alter system set log_archive_dest_2='service=standby mandatory reopen=60';


10. 主库进行日志切换测试

alter system switch logfile;


10. 主库的alter 文件中应有下列内容
Tue Mar 18 05:46:45 2008
ARC0: Evaluating archive log 3 thread 1 sequence 6
ARC0: Beginning to archive log 3 thread 1 sequence 6
Creating archive destination LOG_ARCHIVE_DEST_2: 'standby'
Tue Mar 18 05:46:45 2008
Thread 1 advanced to log sequence 7
Current log# 1 seq# 7 mem# 0: /u02/oradata/devdb1/redo01.log
Tue Mar 18 05:46:45 2008
Creating archive destination LOG_ARCHIVE_DEST_1: '/u02/oradata/devdb1/archive/1_6.dbf'
ARC0: Completed archiving log 3 thread 1 sequence 6

11.备库的alter 文件中应有下列内容
Media Recovery Waiting for thread 1 seq# 6
Media Recovery Log /u02/oradata/devdb1/stdarch/1_6.dbf


12.备库关闭
recover managed standby database cancel; 退出自动应用模式
shutdown immediate

13. 备库切换到只读模式
recover managed standby database cancel; 退出自动应用模式
shutdown immediate

14. 备库从只读回到自动应用
alter database close
alter database recover managed standby database disconnect from session;

15. 主库修改参数文件
cp init.ora initprimary.ora
vi initprimary.ora
添加下列行

utl_file_dir='/u01/app/oracle'
standby_archive_dest='/u02/oradata/devdb1/stdarch'
fal_server='STANDBY'
fal_client='PRIMARY'
standby_file_management='AUTO'


16. 主库切换到备用模式

alter database commit to switchover to physical standby with session shutdown;
shutdown immediate;
startup nomount pfile="/u01/app/oracle/admin/devdb1/scripts/initprimary.ora";
alter database mount standby database;
alter database recover managed standby database disconnect from session;

17. 备库切换到主模式
alter database commit to switchover to primary
shutdown immediate;
startup pfile="/u01/app/oracle/admin/devdb1/scripts/initstandby.ora";


18. 备库切换到主模式后设置归档日志发送路径
alter system set log_archive_dest_2='service=primary mandatory reopen=60'; //将日志发回 主库


19.检查主库、备库的alter 文件

主库
Tue Mar 18 05:58:14 2008
Media Recovery Log /u02/oradata/devdb1/stdarch/1_8.dbf
Media Recovery Waiting for thread 1 seq# 9

备库
Creating archive destination LOG_ARCHIVE_DEST_2: 'primary'
Creating archive destination LOG_ARCHIVE_DEST_1: '/u02/oradata/devdb1/archive/1_8.dbf'
ARC1: Completed archiving log 1 thread 1 sequence 8


20. 备库切换回备用模式
alter database commit to switchover to physical standby with session shutdown;
shutdown immediate;
startup nomount pfile="/u01/app/oracle/admin/devdb1/scripts/initstandby.ora";
alter database mount standby database;
alter database recover managed standby database disconnect from session;


21.主库切换到主模式
alter database commit to switchover to primary
shutdown immediate;
startup pfile="/u01/app/oracle/admin/devdb1/scripts/initprimary.ora";

22. 主库设置归档日志发送路径
alter system set log_archive_dest_2='service=standby mandatory reopen=60';

请使用浏览器的分享功能分享到微信等