- 首页 >
- 问答 >
-
智能运维 >
- Ubuntu上WebLogic的数据库连接怎么设置
Ubuntu上WebLogic的数据库连接怎么设置
小樊
43
2025-12-10 18:44:05
Ubuntu上WebLogic数据库连接设置
一 准备与前提
- 确保已安装并启动 WebLogic Server,管理控制台默认访问地址为 http://<服务器IP>:7001/console。Ubuntu 上的安装与启动方式与 Linux 一致,可使用 startWebLogic.sh 启动域。若访问受限,请放通 7001 端口或在内网访问。
- 准备好对应数据库的 JDBC 驱动 JAR,并放置在 WebLogic 的 /lib 目录(例如:/opt/oracle/middleware/user_projects/domains/base_domain/lib/),或确保驱动在目标受管服务器的 classpath 中;放置后需重启 WebLogic 使其生效。
- 规划好 JNDI 名称(应用将通过 JNDI 查找数据源),并确保与应用程序配置一致。
二 在管理控制台创建 JDBC 数据源
- 登录控制台,导航到 服务/环境 → 数据源 → 新建 → 一般数据源,填写:
- 名称 与 JNDI 名称(如:jdbc/MyAppDS)。
- 选择 数据库类型 与 JDBC 驱动类(如:MySQL、Oracle Thin、SQL Server 等)。注意:控制台列出的驱动仅作便捷选择,实际仍需在各受管服务器上安装驱动并使 classpath 生效。
- 配置 连接属性:
- 数据库 URL、用户名、密码。示例:
- MySQL:jdbc:mysql://dbhost:3306/mydb
- Oracle:jdbc:oracle:thin:@//dbhost:1521/service 或 jdbc:oracle:thin:@dbhost:1521:SID
- 可勾选 测试连接 验证连通性。
- 配置 事务选项(关键):
- 使用 XA 驱动 时,系统默认使用 两阶段提交(2PC)。
- 使用 非 XA 驱动 时,可选:
- 支持全局事务(默认勾选):
- Logging Last Resource(LLR):性能较好,安全性高于“模拟两阶段提交”,但有使用限制。
- Emulate Two-Phase Commit:性能更好,但在部分故障场景下存在数据风险。
- One-Phase Commit(1PC):仅当该资源是全局事务中唯一参与者时可用。
- 配置 连接池参数(示例建议值,按负载调整):
- 初始容量:5
- 最大容量:50
- 连接超时:300 秒
- 测试连接语句:如 MySQL:SELECT 1;Oracle 可按需配置。
- 指定 目标(受管服务器/集群),保存并 激活更改。
三 驱动放置与部署方式
- 方式一(推荐):将第三方驱动 JAR 放入 /lib,对所有服务器生效;放置后需 重启 WebLogic。
- 方式二:将驱动放入 WebLogic 安装目录的 lib(如 $WL_HOME/lib),同样需 重启;适用于全局共享。
- 方式三:将驱动打包进应用的 WEB-INF/lib(应用私有),无需服务器级重启,但管理与升级不如前两种集中。
- 注意:驱动放置方式不同,对 classpath 与 服务器重启 的要求不同,请按所选方式执行。
四 应用使用与常见排错
- 在应用中通过 JNDI 获取数据源(示例):
- Java EE 标准方式:
- Context ctx = new InitialContext();
- DataSource ds = (DataSource) ctx.lookup(“jdbc/MyAppDS”);
- Connection conn = ds.getConnection();
- 使用完毕后务必 conn.close(),将连接归还连接池。
- web.xml 资源引用示例(可选,容器管理时):
-
jdbc/MyAppDS
javax.sql.DataSource
Container
- 常见排错要点:
- 驱动未生效:确认 JAR 放置路径正确、目标服务器 classpath 包含该 JAR,并已 重启;必要时在控制台重新 测试连接。
- URL/账号/密码错误:在数据源的 连接属性 中核对,并使用 测试连接 功能。
- 事务不一致:非 XA 驱动若参与全局事务,需选择合适的 LLR/Emulate 2PC/1PC 策略,避免数据一致性问题。
- 连接池耗尽或超时:结合负载调整 初始/最大容量 与 超时,并开启 连接测试语句 保持连接有效性。