OracleDataGuard学习笔记(3)物理Standby主从角色切换

2017-01-09 19:25:38来源:作者:人点击

Oracle DataGuard学习笔记(3)物理Standby主从角色切换。

1.主备库角色切换方式:

主备库角色切换有份两种:

Switchovers: 一般是用户有计划的手工触发角色切换,主库切换为备库,被库切换为主库.

Failover: 一般是数据库故障短期无法恢复时,需要切换备库为主库.

2.主备库角色切换前的准备工作.

检查下数据库的初始化参数,归档模式等等是否都正确配置。

在主库上验证主备传输是否有错误或裂隙.

select status, gap_status from v$archive_dest_status where dest_id = 2;

在备库上执行,查看日志应用情况.

select name, value, datum_time from v$dataguard_stats;

3.Switchovers切换.

(1).在主库检查是否可以切换(primary database).

select switchover_status from v$database;

结果为TO STANDBY或SESSIONS ACTIVE时表示可以转换为standby role.

(2).在原主库执行切换语句(primary database),切换为备库(standby database).

alter database commit to switchover to physical standby with session shutdown;

shutdown abort;

startup nomount;

alter database mount standby database;

alter database open read only;

(3).在原备库上执行切换语句(standby database),切换为主库(primary database).

alter database commit to switchover to primary with session shutdown;

alter database open;

(4).在新备库上启动redo实时应用(standby database).

alter database recover managed standby database using current logfile disconnect from session;

(5).查看切换是否成功.

select process,status,thread#,sequence#, block#, blocks from v$managed_standby;

***** 主备库切换后,如果主机的IP调换一下,则客户端的TNS连接不需要修改即可连接新的主库.

4.Failover切换.

(1).将备库保护级别设置为最高性能模式

startup nomount;

alter database mount standby database;

alter database open read only;

alter databse set standby database to maximize performance; -- standby database

(2).如果主库无法打开但可以加载(mount),则将主库的日志刷到备库,在主库执行语句:

alter system flush redo to ; -- primary database

target_db_name即备库的DB_UNIQUE_NAME,如果语句可以成功执行,则可以实现数据零丢失.

alter system flush redo to 'sales_dg';

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台