You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSO2 API Manager 3.2.0运行worker和dashboard后指定库表未生成问题

WSO2 API Manager 3.2.0 连接Oracle数据库后指定表未创建的常见原因
  • 数据库用户权限不足
    你配置的4个数据库对应用户(WSO2_DASHBOARD_DB、BUSINESS_RULES_DB、WSO2_PERMISSIONS_DB、WSO2_METRICS_DB)需要拥有CREATE TABLE、CREATE SEQUENCE、CREATE INDEX的基础权限,同时需要分配对应表空间的写入配额,权限或配额不足会直接导致建表失败。
  • 自动建表配置未开启
    WSO2默认不会开启生产环境的自动建表逻辑,你需要确认deployment.toml配置中[database_configuration]下的enable_auto_creation = true已配置,同时dashboard、worker组件的单独配置中没有关闭自动DDL执行的参数。
  • 数据源配置不完整或异常
    你需要确认4个数据库都已完成对应数据源配置,且配置的JNDI名称和组件引用的名称完全一致;另外需确认Oracle驱动包ojdbc8.jar已同时放到APIM服务根目录的lib文件夹、dashboard组件的lib文件夹、worker组件的lib文件夹下,缺少任意一处的驱动包都会导致对应组件无法连接数据库建表。
    你提供的WSO2_PERMISSIONS_DB数据源配置参考:
    name: WSO2_PERMISSIONS_DB
    description: The datasource used for permission feature
    jndiConfig:
      name: jdbc/PERMISSION_DB
      useJndiReference: true
    definition:
      type: RDBMS
      configuration:
        jdbcUrl: 'jdbc:oracle:thin:@apigwdb-scan.shoperation.net:1521/APIGWDB'
        username: 'WSO2_PERMISSIONS_DB'
        password: 'apigw14'
        driverClassName: oracle.jdbc.driver.OracleDriver
        maxPoolSize: 10
        idleTimeout: 60000
        connectionTestQuery: SELECT 1 FROM DUAL
        validationTimeout: 30000
        isAutoCommit: false
        connectionInitSql: alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
    
  • 自动提交参数冲突
    你的配置中isAutoCommit设为false,WSO2部分组件的自动建表逻辑不会主动提交DDL操作,会导致建表操作直接回滚,你可以临时将该参数改为true,启动一次完成建表后再改回false即可。
  • Oracle版本兼容性问题
    12c之前的Oracle版本对标识符长度限制为30字符,WSO2部分表名超过该长度会直接建表失败;你可以手动执行<APIM_HOME>/dbscripts目录下对应数据库的Oracle DDL脚本,排查具体报错。

内容的提问来源于stack exchange,提问作者Tohid Makari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 09:15:03