由于项目的需要,建立Oracle读写分离环境,分析了很多种情况,决定使用Oracle 11g自带的Active DataGuard并基于Dockcer搭建Oracle 11g的主从环境。
环境准备
1.CentOS 7.5 X64版本
2.Docker和Docker Compose安装(省略,网上一堆文章)
3.Oracle 11g 企业版镜像(经过参考,我使用了filemon/oracle_11g镜像)
4.防火墙可以关闭(或者把端口放开)
Docker Compose文件准备
version: '2'
services:
oracle:
image: filemon/oracle_11g
volumes:
- /home/oracle/oradata:/u01/app/oracle
ports:
- 11521:1521
注意:为了防止Oracle在Docker容器里面的数据丢失,可以使用Docker cp拷贝到宿主机,也可以使用如配置中的,以后将表空间文件建立到容器的/u01/app/oracle里面。这样,后续的数据库就不会丢失。
使用Active Data Guard进行主从环境搭建
参考:
http://blog.51cto.com/koumm/1263870
注意:每次修改完listerner.ora和tnsnames.ora配置后,使用lsnrctl stop和start一下,然后看下Oracle连接是否正常?具体参考https://www.cnblogs.com/uzipi/p/3823289.html
按照各项步骤,详细大家费点时间就会搭建成功。