温馨提示×

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/servicejdbc: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 策略,避免数据一致性问题。
    • 连接池耗尽或超时:结合负载调整 初始/最大容量超时,并开启 连接测试语句 保持连接有效性。

0