WSO2 API Manager 3.2.0配置Oracle RAC环境Oracle数据库需选用什么脚本
WSO2 API Manager 3.2.0 Oracle RAC环境数据库配置脚本选择说明
核心结论
在Oracle RAC集群环境下配置WSO2 API Manager 3.2.0的数据库时,必须选择oracle-rac系列脚本,不可使用普通的oracle脚本。
两种脚本的差异说明
- 普通
oracle脚本仅适配单实例Oracle数据库:脚本的表空间初始化逻辑、配套默认JDBC连接配置都是为单节点场景设计的,直接用于RAC环境会出现节点切换时连接中断、事务一致性错误、集群负载均衡失效等问题。 oracle-rac脚本为RAC集群专属优化:- 表空间、用户权限配置适配RAC多节点共享存储架构,避免多节点访问时出现权限冲突
- 配套的配置模板默认支持RAC SCAN IP、多节点地址配置,内置故障转移、负载均衡相关参数
- DDL执行逻辑针对RAC的并行执行、redo日志分配机制做了适配,降低初始化阶段的锁冲突概率
配置注意事项
- 执行
oracle-rac脚本前,需提前确认RAC集群的SCAN IP、服务名(RAC场景禁止使用SID,必须用服务名)、端口信息,替换脚本和部署配置中的对应占位符 - 若之前错误执行过普通
oracle脚本,需先清理所有WSO2相关的表空间、用户、表数据后,再重新执行oracle-rac脚本,避免残留配置导致运行异常 - 配置
deployment.toml中的数据库连接参数时,可参考如下RAC专用的JDBC URL格式:
[database.apim_db] type = "oracle" url = "jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<SCAN_IP1>)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=<SCAN_IP2>)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=<YOUR_RAC_SERVICE_NAME>)))" username = "wso2_apim_user" password = "<your_db_password>" driver = "oracle.jdbc.OracleDriver" validationQuery = "SELECT 1 FROM DUAL"
内容的提问来源于stack exchange,提问作者Tohid Makari
相关产品推荐
相关产品推荐

