目录

一、下载镜像二、DG环境初始化三、主库做闪回数据库操作四、备库做闪回操作五、查询主备库是否实时同步六、总结
 

本文介绍一下,在DG环境中,若主库做了闪回数据库的操作后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。

主备库均已开启闪回数据库特性。

 

一、下载镜像

小麦苗DG环境的hub地址:
https://hub.docker.com/r/lhrbest/dg_pri_11.2.0.4/tags
https://hub.docker.com/r/lhrbest/dg_phy_11.2.0.4/tags

1nohup docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4:1.0 &
2nohup docker pull registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_pri_11.2.0.4:1.0 &
 

查看镜像:

1[root@docker36 ~]# docker images | grep dg
2registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4                1.0                 f2ea019fe540        15 hours ago        10.7GB
3registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_pri_11.2.0.4                1.0                 b7fae2029b40        15 hours ago        10.8GB
 

给镜像打tag:

1[root@docker36 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4:1.0 lhrbest/dg_phy_11.2.0.4:1.0
2[root@docker36 ~]# docker tag registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_pri_11.2.0.4:1.0 lhrbest/dg_pri_11.2.0.4:1.0
3
4[root@docker36 ~]# docker images | grep dg
5lhrbest/dg_phy_11.2.0.4                                                  1.0                 f2ea019fe540        15 hours ago        10.7GB
6registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_phy_11.2.0.4                1.0                 f2ea019fe540        15 hours ago        10.7GB
7lhrbest/dg_pri_11.2.0.4                                                  1.0                 b7fae2029b40        15 hours ago        10.8GB
8registry.cn-hangzhou.aliyuncs.com/lhrbest/dg_pri_11.2.0.4                1.0                 b7fae2029b40        15 hours ago        10.8GB
   

二、DG环境初始化

DG环境情况见下表:

项目主库物理备库
db 类型单实例单实例
db version11.2.0.4.011.2.0.4.0
db 存储FSFS
OS版本RHEL7.6 64位CentOS7.6 64位
OS hostnameLHR11GLHR11GDG
IP地址192.168.68.68192.168.68.69
ORACLE_SIDLHR11GLHR11GDG
db_name/GLOBAL_DBNAMELHR11GLHR11G
db_unique_nameLHR11GLHR11GDG
TNS_NAMELHR11GLHR11GDG
监听端口15211521
映射的主机端口15281529
ORACLE_HOME/u01/app/oracle/product/11.2.0.4/dbhome_1/u01/app/oracle/product/11.2.0.4/dbhome_1
dbid20079475512007947551
 1-- 创建DG的网络
2docker network create --subnet=192.168.68.0/16 mhalhr
3docker network inspect mhalhr
4
5-- 分别初始化主库和备库
6docker run -itd --name LHR11G -h LHR11G \
7  -p 1528:1521 -p 1128:1158 -p 228:22 -p 3398:3389 \
8  --network mhalhr --ip 192.168.68.68 \
9  --privileged=true \
10  lhrbest/dg_pri_11.2.0.4:1.0 init
11
12
13docker run -itd --name LHR11GDG -h LHR11GDG \
14  -p 1529:1521 -p 1129:1158 -p 229:22 -p 3399:3389 \
15  --network mhalhr --ip 192.168.68.69 \
16  --privileged=true \
17  lhrbest/dg_phy_11.2.0.4:1.0 init
18
19
20 -- 添加网卡
21docker network connect bridge LHR11G
22docker network connect bridge LHR11GDG
23
24
25-- 进入容器
26docker exec -it LHR11G bash
27docker exec -it LHR11GDG bash
28
29-- 分别启动主库、备库和监听
30su - oracle
31lsnrctl start
32sas
33startup 
 

查询目前DG的同步情况:

 1-- 查询目前DG部署
2DGMGRL> show configuration
3
4Configuration - LHR11G
5
6  Protection Mode: MaxPerformance
7  Databases:
8    LHR11G   - Primary database
9    LHR11GDG - Physical standby database
10
11Fast-Start Failover: DISABLED
12
13Configuration Status:
14SUCCESS
15
16-- 主库
17SYS@LHR11G> select flashback_on,db_unique_name,database_role from v$database;
18
19FLASHBACK_ON                         DB_UNIQUE_NAME                                               DATABASE_ROLE
20------------------------------------ ------------------------------------------------------------ --------------------------------
21YES                                  LHR11G                                                       PRIMARY
22
23SYS@LHR11G> alter system switch logfile ;
24
25System altered.
26
27SYS@LHR11G> create table lhr.emp1 as select * from scott.emp;
28
29Table created.
30
31SYS@LHR11G> select count(*) from lhr.emp1;
32
33  COUNT(*)
34----------
35        14
36
37SYS@LHR11G> select current_scn from v$database;
38
39CURRENT_SCN
40-----------
41    1363331
42
43-- 备库
44
45SYS@LHR11GDG> select flashback_on,db_unique_name,database_role from v$database;
46
47FLASHBACK_ON                         DB_UNIQUE_NAME                                               DATABASE_ROLE
48------------------------------------ ------------------------------------------------------------ --------------------------------
49YES                                  LHR11GDG                                                     PHYSICAL STANDBY
50
51
52SYS@LHR11GDG> select count(*) from lhr.emp1;
53
54  COUNT(*)
55----------
56        14
57
58SYS@LHR11GDG> select current_scn from v$database;
59
60CURRENT_SCN
61-----------
62    1363340
   

三、主库做闪回数据库操作

 1SYS@LHR11G> select current_scn from v$database;
2
3CURRENT_SCN
4-----------
5    1363438
6
7SYS@LHR11G> create table lhr.emp2 as select * from scott.emp;
8
9Table created.
10
11SYS@LHR11G> startup force mount
12ORACLE instance started.
13
14Total System Global Area  325685248 bytes
15Fixed Size                  2252944 bytes
16Variable Size             188747632 bytes
17Database Buffers          130023424 bytes
18Redo Buffers                4661248 bytes
19Database mounted.
20SYS@LHR11G> flashback database to scn 1363438;
21
22Flashback complete.
23
24SYS@LHR11G> alter database open resetlogs;
25
26Database altered.
27
28SYS@LHR11G> create table lhr.emp3 as select * from scott.emp;
29
30Table created.
   

四、备库做闪回操作

 1SYS@LHR11GDG> select count(*) from lhr.emp3;
2select count(*) from lhr.emp3
3                         *
4ERROR at line 1:
5ORA-00942table or view does not exist
6
7
8SYS@LHR11GDG> select count(*) from lhr.emp2;
9
10  COUNT(*)
11----------
12        14
13
14SYS@LHR11GDG>  select current_scn from v$database;
15
16CURRENT_SCN
17-----------
18    1363462
19
20SYS@LHR11GDG>  select current_scn from v$database;
21
22CURRENT_SCN
23-----------
24    1363462
 

可见,主备关系已经断掉。接下来,对备库进行闪回。

 1SYS@LHR11GDG> startup force mount
2ORACLE instance started.
3
4Total System Global Area  346562560 bytes
5Fixed Size                  2253144 bytes
6Variable Size             209718952 bytes
7Database Buffers          130023424 bytes
8Redo Buffers                4567040 bytes
9Database mounted.
10SYS@LHR11GDG> flashback database to scn 1363438;
11flashback database to scn 1363438
12*
13ERROR at line 1:
14ORA-38754: FLASHBACK DATABASE not started; required redo log is not available
15ORA-38762: redo logs needed for SCN 1363064 to SCN 1363438
16ORA-38761: redo log sequence 9 in thread 1, incarnation 7 could not be accessed
17
18SYS@LHR11GDG> select * from v$flashback_database_log;
19
20OLDEST_FLASHBACK_SCN OLDEST_FLASHBACK_TI RETENTION_TARGET FLASHBACK_SIZE ESTIMATED_FLASHBACK_SIZE
21-------------------- ------------------- ---------------- -------------- ------------------------
22             1232930 2020-10-27 16:21:36             1440      104857600                        0
23
24SYS@LHR11GDG>  flashback database to scn 1361000;
25
26Flashback complete.
27
28SYS@LHR11GDG> alter database open;
29
30Database altered.
31
32SYS@LHR11GDG> alter database recover managed standby database using current logfile disconnect from session;
33
34Database altered.
35
36SYS@LHR11GDG> select count(*) from lhr.emp3;
37
38  COUNT(*)
39----------
40        14
41
42SYS@LHR11GDG> select count(*) from lhr.emp2;
43select count(*) from lhr.emp2
44                         *
45ERROR at line 1:
46ORA-00942table or view does not exist
47
48
49SYS@LHR11GDG> select current_scn from v$database;
50
51CURRENT_SCN
52-----------
53    1365917             
   

五、查询主备库是否实时同步

 1[oracle@lhr11g ~]$ dgmgrl /
2DGMGRL for Linux: Version 11.2.0.4.0 - 64bit Production
3
4Copyright (c) 2000, 2009, Oracle. All rights reserved.
5
6Welcome to DGMGRL, type "help" for information.
7Connected.
8DGMGRL> show configuration
9
10Configuration - LHR11G
11
12  Protection Mode: MaxPerformance
13  Databases:
14    LHR11G   - Primary database
15    LHR11GDG - Physical standby database
16
17Fast-Start Failover: DISABLED
18
19Configuration Status:
20SUCCESS
21
22
23-- 主库建表
24SYS@LHR11G> create table lhr.emp4 as select * from scott.emp;
25
26Table created.
27
28-- 备库查询
29SYS@LHR11GDG> select count(*) from lhr.emp4;
30
31  COUNT(*)
32----------
33        14
34

 

DG环境恢复正常。

 

六、总结

1、在DG环境中,建议对主库和备库都开启闪回数据库的特性,并且设置比较大的闪回恢复区(db_recovery_file_dest_size)。

2、在DG环境中,若主库做了闪回数据库的操作,那么备库必须做相关的闪回操作才能恢复DG的同步关系。

本文结束。


• 微信公众号:DB宝,作者:小麦苗
• 作者博客地址:http://blog.itpub.net/26736162/
• 作者微信:db_bao

• 作者QQ:646634621,QQ群:230161599、618766405
• 提供Oracle OCP、OCM、高可用(rac+dg+ogg)和MySQL DBA培训
• 版权所有,欢迎分享本文,转载请保留出处

• 若有侵权请联系小麦苗删除

★DB宝分享的IT资料:https://mp.weixin.qq.com/s/Iwsy-zkzwgs8nYkcMz29ag★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
 

长按下图识别二维码,关注小麦苗的微信公众号:DB宝,学习最实用的数据库技术。


本文分享自微信公众号 - DB宝(lhrdba)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. js基础知识:JS对DOM元素的基本操作,遍历、增删改查。
  2. pandas的dataFrame输出不换行
  3. Linux格式化报错mkfs.ext4: undefined symbol: ext2fs_numeric_p
  4. Java 读写文件操作
  5. WireShark 自带工具 editcap 和 text2pcap 配合完成改包操作
  6. 运行项目报错:java.sql.SQLException: Before start of result se
  7. MySQL中日期转换 FROM_UNIXTIME和UNIX_TIMESTAMP
  8. 【转载】 MySQL数据库“十宗罪”(十大经典错误案例)
  9. MySQL之mysqlcheck、check、optimize和analyze

随机推荐

  1. Android(安卓)SDK Manager无法安装Androi
  2. Hierarchy Viewer 帮你分析应用程序UI布
  3. Android(安卓)开源项目维护者宣布退出
  4. 关于android Widgets桌面小插件的开发大
  5. 【Android】用Android(安卓)Studio创建第
  6. 两篇关于Android App Widgets 的文章
  7. Android ContentProvider的使用
  8. Android源码编译make的错误处理
  9. Android RadioButton 文字在左边
  10. GCM(5)Working with MAVEN and Android O