Oracle主从手动切换
(switchover模式)
前言
声明:oracle主库:192.168.19.128 oracle从库:192.168.19.129
目的:将192.168.19.129变成主库192.168.19.128变成从库
由于考虑到备库服务器配置略低,使用从库存在风险,switchover是可逆操作,继续将192.168.19.128设置成主库,将192.168.19.129设置为从库
一、主从查看打开状态:(192.168.19.128和192.168.19.129)
(一)先将当前用户切换至oracle用户
[root@oracle-01 ~]# su - oracle
(二)设置数据库语言模式可以跳过
export NLS_LANG=“AMERICAN_AMERICA.AL32UTF8”
[oracle@orcl_pd ~]$ source .bash_profile
(三)以管理员身份登录数据库
[oracle@oracle-01 ~]$ sqlplus / as sysdba
(四)查看状态
SQL> select open_mode from v$database;
主库:192.168.19.128
从库:192.168.19.129
二、校验主数据库执行切换的前提条件:
(一)主库执行:(192.168.19.128);
ALTER SYSTEM ARCHIVE LOG CURRENT;
(二)主备库查看日志状态
主库日志状态(192.168.19.128)
SQL> select THREAD#,sequence#,FIRST_TIME, NEXT_TIME from v$archived_log where DEST_ID=1 order by FIRST_TIME;
备库日志状态:(192.168.19.129)
SQL> Set linesize 200
SQL> select THREAD#,sequence#,FIRST_TIME, NEXT_TIME from v$archived_log where DEST_ID=1 order by FIRST_TIME;
核对主备输出结果.(很重要保证数据同步)
(三)主库数据库重启
在主库上执行:(在此之前关闭所以数据库连接)(192.168.19.128)
在主库执行:(192.168.19.128)
SQL> SELECT SWITCHOVER_STATUS FROM V D A T A B A S E ; 期望输出结果为: T O S T A N D B Y 或 S E S S I O N S A C T I V E 说明:如果该列值为 " T O S T A N D B Y " 则表示 p r i m a r y 数据库支持转换为 s t a n d b y 角色,否则的话你就需要重新检查一下 D a t a G u a r d 配置,比如看看 L O G A R C H I V E D E S T n 之类参数值是否正确有效等等。 R E S O L V A B L E G A P 此状态需要等待,过几分钟之后再次执行 S E L E C T S W I T C H O V E R S T A T U