oracle 单实例DG(切换篇三)
2024-08-31 00:06:07
一,开篇
此篇操作承接上文,必须完成DG实例搭建完成方可有执行以下内容的实例
二,切换物理备库
one. oracle01库命令
select switchover_status from v$database;
alter database commit to switchover to physical standby;
注意: 上面 switchover_status 的值如果是 TO STANDBY,可以直接 switchover,如果是 sessions active,则需要在 switchover 的命 令后面加上 with session shutdown,比如 alter database commit to switchover to physical standby with session shutdown;
select status from v$instance;--检查状态 shutdown immediate startup nomount 切换主库为备库
two.standy端
select sequence#, applied from v$archived_log where applied='YES' order by sequence#;
SQL> select sequence#, applied from v$archived_log where applied='YES' order by sequence#; SEQUENCE# APPLIED
---------- ---------
6 YES
7 YES
8 YES
9 YES
10 YES
11 YES
12 YES
13 YES
14 YES
15 YES
16 YES SEQUENCE# APPLIED
---------- ---------
17 YES
18 YES
19 YES 14 rows selected.
日志同步
SQL> select switchover_status from v$database;
SWITCHOVER_STATUS
--------------------
TO PRIMARY SQL> alter database commit to switchover to primary;
Database altered.
备库切成主库 SQL> select status from v$instance;
STATUS
------------
MOUNTED SQL> shutdown immediate
ORA-01109: database not open Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started. Total System Global Area 2505338880 bytes
Fixed Size 2255832 bytes
Variable Size 603980840 bytes
Database Buffers 1879048192 bytes
Redo Buffers 20054016 bytes
Database mounted.
Database opened.
SQL>
three.oracle01端
创建备日志
alter database add standby logfile ('/u01/app/oracle/oradata/oracle01/standby01.log') size 50m;
alter database add standby logfile('/u01/app/oracle/oradata/oracle01/standby02.log') size 50m;
alter database add standby logfile('/u01/app/oracle/oradata/oracle01/standby03.log') size 50m;
alter database add standby logfile('/u01/app/oracle/oradata/oracle01/standby04.log') size 50m;
执行同步语句:
alter database recover managed standby database using current logfile disconnect from session;
select sequence#, applied from v$archived_log where applied='YES'order by sequence#;
SQL> select sequence#, applied from v$archived_log where applied='YES'order by sequence#; SEQUENCE# APPLIED
---------- ---------
6 YES
6 YES
7 YES
7 YES
8 YES
8 YES
9 YES
9 YES
10 YES
10 YES
11 YES SEQUENCE# APPLIED
---------- ---------
11 YES
12 YES
12 YES
13 YES
13 YES
14 YES
14 YES
15 YES
15 YES
16 YES
16 YES SEQUENCE# APPLIED
---------- ---------
17 YES
17 YES
18 YES
19 YES
20 YES
21 YES 28 rows selected.
four.standby执行创建数据库字段
SQL> insert into dg values(2); 1 row created. SQL> commit ;
Commit complete.
five.oracle01执行
SQL> alter database recover managed standby database cancel; Database altered. SQL> alter database open; Database altered. SQL> select * from dg; ID
----------
1
2 SQL>
切换成功
状态查看:
三,再次切oracle01为主库,standby为备库
one.oracle01端执行
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ ONLY SQL> alter database recover managed standby database using current logfile disconnect from session; Database altered. SQL> select open_mode from v$database; OPEN_MODE
--------------------
READ ONLY WITH APPLY
two.standby端执行
SQL> select switchover_status from v$database; SWITCHOVER_STATUS
--------------------
TO STANDBY SQL> alter database commit to switchover to physical standby; Database altered. SQL> shutdown immediate
ORA-01012: not logged on
SQL> startup nomount
ORACLE instance started. Total System Global Area 2505338880 bytes
Fixed Size 2255832 bytes
Variable Size 603980840 bytes
Database Buffers 1879048192 bytes
Redo Buffers 20054016 bytes
SQL> alter database mount standby database; Database altered. SQL>
three.oracle01端执行
select sequence#, applied from v$archived_log where applied='YES' order by sequence#;
SQL> select sequence#, applied from v$archived_log where applied='YES' order by sequence#; SEQUENCE# APPLIED
---------- ---------
6 YES
6 YES
7 YES
7 YES
8 YES
8 YES
9 YES
9 YES
10 YES
10 YES
11 YES SEQUENCE# APPLIED
---------- ---------
11 YES
12 YES
12 YES
13 YES
13 YES
14 YES
14 YES
15 YES
15 YES
16 YES
16 YES SEQUENCE# APPLIED
---------- ---------
17 YES
17 YES
18 YES
19 YES
20 YES
21 YES
22 YES 29 rows selected. SQL>
select switchover_status from v$database;
alter database commit to switchover to primary;
select status from v$instance;
shutdown immediate
startup
four.standy端执行
alter database recover managed standby database using current logfile disconnect from session;
five.oracle01端.添加数据测试
SQL> insert into dg values(3); 1 row created. SQL> commit; Commit complete. SQL> alter system switch logfile; System altered.
six.standby 数据查看
SQL>
alter database recover managed standby database using current logfile disconnect from session;SQL> Database altered. SQL> alter database recover managed standby database cancel; Database altered. SQL> alter database open; Database altered. SQL> select * from dg; ID
----------
1
2
3 SQL>
最新文章
- Android 手机卫士7--黑名单拦截
- Solr整合Ansj中文分词器
- Maven打包跳过测试
- Javascript学习笔记:9种创建对象的方式
- Erlang 从入门到精通(一) 下载安装
- 参数嗅探(Parameter Sniffing)(2/2)
- Build 2016概览
- Java程序员面试宝典1 ---Java基础部分(该博文为原创,转载请注明出处)
- pthread 实现生产者消费者问题
- swig编译GDAL的C#库时遇到的代码安全问题及解决方法
- 【LeetCode】171. Excel Sheet Column Number
- iOS 视频直播弹幕的实现
- /etc/fstab文件分析(第二版)
- metasploit 教程之基本参数和扫描
- 通过Mybatis原始Dao来实现curd操作
- mysql 架构篇系列 3 复制运行状态监控与选项参数说明
- Redis详解(七)------ AOF 持久化
- Express入门介绍vs实例讲解
- 〖Android〗屏幕触屏事件录制与回放
- Flow中的Switch分析