手工failed over(非dgbroker管理)
环境:
OS:Centos 7
DB:11.2.0.4
一主两从架构:
主库:slnngk
从库1:slavea
从库2:slaveb
1.主从库上开启flashback
这里主从库上都要开启flashback,如果不开启flashback的话,DG就要重新搭建
查看是否开启flashback
SQL> select t.FLASHBACK_ON from v$database t;
FLASHBACK_ON
------------------
YES
具体开启部署请参考:
https://www.cnblogs.com/hxlasky/p/15221695.html
2.由于主库已经不可访问,我们所有的操作都在备库完成
我们假设主库slnngk所在机器已经宕机,我们将从库slavea提升为主库,下面的操作都在从库slavea上操作
SQL> alter database recover managed standby database cancel;
SQL> alter database recover managed standby database finish force;
SQL> select database_role from v$database;
DATABASE_ROLE
----------------
PHYSICAL STANDBY
SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
解决办法:
SQL> alter database commit to switchover to primary with session shutdown;
Database altered.
SQL> alter database open;
3.尝试在新主库上做些操作
比如创建表,并写入数据
connect hxl/oracle
create table tb_test as select * from dba_objects;
4.现在利用flashback重建DG
在现在的主库slavea上执行如下查询,找到standby_became_primary_scn的值,下面原来的主库slnngk恢复后使用该值进行flashbak
SQL> select to_char(standby_became_primary_scn) from v$database;
TO_CHAR(STANDBY_BECAME_PRIMARY_SCN)
----------------------------------------
2662627
5.原来的主库slnngk进行flashback
等原来的主库机器启动后
SQL> startup mount
SQL> flashback database to scn 2662627; ##这个值为在新主库slavea上查询到的SCN值
SQL> alter database convert to physical standby;
SQL> shutdown immediate
SQL> startup
SQL> alter database recover managed standby database using current logfile disconnect from session;
6.检查第二个从库slaveb的日志使用情况
上面slnngk已经变成了从库,那么第二个从库slaveb是什么一个状态呢,我们查询下日志应用情况
SQL> select process,status from v$managed_standby;
PROCESS STATUS
--------- ------------
ARCH CLOSING
ARCH CONNECTED
ARCH CONNECTED
ARCH CLOSING
RFS IDLE
RFS IDLE
RFS IDLE
RFS IDLE
MRP0 APPLYING_LOG
RFS IDLE
RFS IDLE
11 rows selected.
因为从库slabea这里之前设置了如下参数,变成主库后会自动将归档日志应用到从库slaveb
SQL> show parameters log_archive_dest_2;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string service=tnsslnngk async valid_
for=(online_logfiles,primary_r
ole) db_unique_name=slnngk
SQL> show parameters log_archive_dest_3;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_3 string service="tnsslaveb", LGWR ASYN
C NOAFFIRM delay=0 optional co
mpression=disable max_failure=
0 max_connections=1 reopen=300
db_unique_name="slaveb" net_t
imeout=30, valid_for=(all_logf
iles,primary_role)
若是没有设置归档到第二个从库slaveb的情况下,需要在新的主库slavea上执行
alter system set log_archive_dest_3= 'service=tnsslaveb async valid_for=(online_logfiles,primary_role) db_unique_name=slaveb' scope=both;
alter system set log_archive_dest_state_3=enable scope=both;
这个时候第二个从库slaveb会自动应用新主库生成的归档日志.
--The End --
相关文章
- PHP5.6.x SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 解决方案
- MYSQL安装报错 -- 出现Failed to find valid data directory.
- Android ADB server didn't ACK * failed to start daemon * 简单有效的解决方案
- JVM报错:Failed to write core dump. Core dumps have been disabled.
- Jenkins新建项目中源码管理Repository URL使用Git报错:Failed to connect to repository : Command "git ls-remote -h......
- LoadLibrary failed with error 1114:动态链接库(DLL)初始化例程失败 解决方法
- elasticsearch配置文件里的一些坑 [Failed to load settings from [elasticsearch.yml]]
- jnhs-netbeans maven Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.4.1:clean (default-clean) on project
- [arthas] UnsupportedOperationException: class redefinition failed: attempted to change the schema (add/remove fields)
- Linux perl: warning: Setting locale failed.perl: warning: Please check that your locale settings:
- mkdir: Call From lzh/192.168.66.150 to localhost:9000 failed on connection exception:
- INSTALL_FAILED_MISSING_SHARED_LIBRARY
- 已解决Error:java: Compilation failed: internal java compiler error
- SecureCRT链接linux服务器提示Key exchange failed的解决办法
- Failed to install the following Android SDK packages as some licences have not been accepted. bu
- Installation failed with message Failed to finalize session : INSTALL_FAILED_CONFLICTING_PROVIDER已解决
- vue——qiankun环境,vue-cli3子项目本地启动,element无法显示字体和图标,控制台提示:Failed to decode downloaded font: http://localhost:9000/child/xxx-front/font...
- OPatch报错 Prerequisite check "CheckActiveFilesAndExecutables" failed
- ORA-38760: This database instance failed to turn on flashback database 错误解决过程