搭建HA的基础设施环境:
两台Windows Server 2016的服务器A和B;
A的内网IP为internal_ipaddress1,外网IP为external_ipaddress1;
B的内网IP为internal_ipaddress2,外网IP为external_ipaddress2;
一台Windows Server 2016数据库服务器C,内网IP为internal_ipaddress3;
一台负载均衡Load Balancer,外网IP为external_ipaddress4;
一台Windows Server作为文件共享服务器D,外网IP为external_ipaddress5;
一、安装Oracle数据库(Windows)
1、以管理员身份运行安装程序;
2、打开安装程序后,跟着安装向导,选默认选择“创建并配置单实例数据库”,下一步;
3、选择安装桌面类,下一步;
4、选择使用虚拟账户,下一步;
5、设置基目录,文件目录,也可以选择默认,设置口令。注意:不能勾选“创建为容器数据库”;
6、接下来一步一步默认执行即可。
二、配置Oracle数据库
1、检查监听端口1521是否打开
打开防火墙的入站规则 TCP 1521端口;
用管理员身份运行CMD命令行;
执行lsnctl status命令,查看监听端口;
执行netstat -ano | findstr 1521命令,检查是否端口已经启动;
如果监听端口有错误,可以手工启动Oracle Net Configuration Assistant程序,删除原有的监听配置,再手工新增一个监听配置。修改后,使用lsnrctl stop和lsnrctl start命令,重启监听服务。
2、建立数据库表空间、用户及用户权限
用管理员身份运行CMD命令行,运行sqlplus / as sysdba命令,进入SQL命令状态。执行命令行,创建两个数据库空间和用户,一个是为了control Room,一个是为了Bot Insight:
Control Room的表空间和用户,假定表空间名为crdb1,用户名和密码都为crdb1
create bigfile TABLESPACE crdb1 datafile 'C:\INSTALL\ORADATA\ORCL\crdb1.dbf' SIZE 4096M;
create user crdb1 identified by crdb1 default tablespace CRDB1;
grant connect to crdb1;
grant resource to crdb1;
grant select any dictionary to crdb1;
grant select any dictionary to crdb1;
grant select any table to crdb1;
grant select any table to crdb1;
grant flashback any table to crdb1;
grant alter any table to crdb1;
grant alter session to crdb1;
grant execute on dbms_flashback to crdb1;
grant execute any procedure to crdb1;
grant execute any procedure to crdb1;
grant create any procedure to crdb1;
grant create session to crdb1;
grant create sequence to crdb1;
grant create synonym to crdb1;
grant create any table to crdb1;
grant create user to crdb1;
grant create view to crdb1;
grant execute_catalog_role,select_catalog_role to crdb1;
grant aq_user_role,aq_administrator_role to crdb1;
grant drop any table to crdb1;
grant drop user to crdb1;
grant dba to crdb1;
Bot Insight的表空间和用户,假定表空间名为bidb1,用户名和密码都为bidb1
create bigfile TABLESPACE bidb1 datafile 'C:\INSTALL\ORADATA\ORCL\bidb1.dbf' SIZE 4096M;
create user bidb1 identified by bidb1 default tablespace bidb1;
grant connect to bidb1;
grant resource to bidb1;
grant select any dictionary to bidb1;
grant select any dictionary to bidb1;
grant select any table to bidb1;
grant select any table to bidb1;
grant flashback any table to bidb1;
grant alter any table to bidb1;
grant alter session to bidb1;
grant execute on dbms_flashback to bidb1;
grant execute any procedure to bidb1;
grant execute any procedure to bidb1;
grant create any procedure to bidb1;
grant create session to bidb1;
grant create sequence to bidb1;
grant create synonym to bidb1;
grant create any table to bidb1;
grant create user to bidb1;
grant create view to bidb1;
grant execute_catalog_role,select_catalog_role to bidb1;
grant aq_user_role,aq_administrator_role to bidb1;
grant drop any table to bidb1;
grant drop user to bidb1;
grant dba to bidb1;
最后在提交一下
commit;
三、安装和配置PostgreSQL数据库
由于做AAE的HA需要使用到PostgreSQL
安装PostgreSQL的说明,请参考 https://www.yiibai.com/postgresql/install-postgresql.html
还需要打开防火墙的入站规则 TCP 5432端口
四、在A机器上安装AAE的Control Room
1、使用管理员身份运行AAE11.3.4的安装文件;
2、选择自定义安装方式;
3、选择默认安装目录;
4、在Cluster Configuration页面中,勾选Enable Cluster Setup。在Cluster IP中按照固定顺序输入A和B两台机器的内网IP地址internal_ipaddress1和internal_ipaddress2,在Local IP中选择A机器的内网IP,internal_ipaddress1。
5、设置HTTP端口和HTTPS端口,且确认防火墙已经打开入站规则;
6、设置数据库连接信息,包括C机器的IP地址 internal_ipaddress3,端口 1521,Control Room和Bot Insight的用户名口令;
7、设置PostgreSQL的IP地址和端口,用户名和用户口令;
8、下一步完成安装。
9、检查一下A机器的Contro Room的页面是否可以打开。
五、 在B机器上安装AAE的Control Room
步骤同A机器,只是在在Cluster Configuration页面中,勾选Enable Cluster Setup。在Cluster IP中按照固定顺序输入A和B两台机器的内网IP地址internal_ipaddress1和internal_ipaddress2,输入顺序同A机器安装配置,在Local IP中选择B机器的内网IP,internal_ipaddress2。
注意:数据库的地址和访问方式,与A机器的安装配置一致;PostgreSQL的访问地址和用户名口令与A机器的安装配置一致。
一步一步安装完成后,检查一下B机器的Contro Room的页面是否可以打开。
执行到此步骤,表明A和B机器的Control Room共享了C机器的数据库。
六、 设置负载均衡Load Balancer
在负载均衡设置中,加入A和B的外网IP地址external_ipaddress1和external_ipaddress2。
设置负载均衡的外网IP为external_ipaddress4,端口设为80。
七、 设置文件共享服务器
在Windows服务器D里面配置共享文件可以使用域管理模式,也可以使用NFS文件服务。本次配置中,采用NFS文件服务的方式。
1、在服务器D中安装NFS服务组件
2、设置该共享文件夹的访问权限
3、打开该服务器防火墙的入站规则:端口111(NFS), 2049(NFS02), 及1058(NFS03)
4、在服务器A和B中安装NFS客户端,同第1步,打开“服务器管理器”,在主页仪表板中单击“添加角色和功能” 。
5、测试服务器A和B是否可以访问服务器C的共享目录,\\external_ipaddress5\共享文件夹,并在该目录汇总建立Server Files文件夹作为Control Room的Repository
八、 设置Control Room的初始化配置
在A或B机器的Control Room初始配置页面中,
Repository path输入文件存储的共享目录 \\external_ipaddress5\共享文件夹\Server Files
Control Room Access URL地址中输入http://external_ipaddress4:80,指向负载均衡的IP地址.
由于A和B共享了数据库,所以配置完一台机器的Control Room,另一台机器也就相当于配置好了。
九、 测试已经搭建好的HA环境
尝试使用http://external_ipaddress4:80来访问Control Room,测试连接成功。
接下来可以尝试停掉A或B某台机器的Control Room的Service,不会影响用户访问http://external_ipaddress4:80这个地址。