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

自治数据库用DBMS_CLOUD.COPY_DATA加载大文件遇ORA-30094错误

解决Oracle自治数据库DBMS_CLOUD.COPY_DATA加载大CSV时的ORA-30094错误

问题根源

ORA-30094表明数据库缺少版本39的时区数据文件,而自治数据库(ADB)作为托管服务,用户无法自行更新时区补丁。大文件加载时触发了并行处理或特定日期解析逻辑,才暴露出版本不匹配问题,小文件因加载模式不同未触发该问题。

可行解决方案

  • 提交Oracle服务请求升级时区数据
    先执行以下语句确认当前数据库的时区文件版本:

    SELECT version FROM v$timezone_file;
    

    如果版本低于39,直接通过Oracle Cloud控制台提交服务请求(SR),要求将你的自治数据库时区数据版本升级至39。ADB的时区补丁由Oracle官方维护,这是彻底解决问题的方法。

  • 临时单线程加载规避
    修改DBMS_CLOUD.COPY_DATA的format参数,强制单线程加载,避免并行处理触发的时区数据依赖:

    DBMS_CLOUD.COPY_DATA(
        table_name =>'test_landing_zone',
        credential_name =>'test2',
        file_uri_list => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/idqt8fo79xkv/b/test-upload/o/2025.csv',
        format => json_object('type' value 'csv', 'ignoremissingcolumns' value 'true', 'trimspaces' value 'lrtrim', 'ignoreblanklines' value 'true', 'delimiter' value ';', 'parallel' value '1')
    );
    
  • 明确日期格式解析规则
    检查CSV中的日期字段是否包含时区信息或非标准格式,若存在,在format参数中指定明确的日期格式,避免数据库自动触发时区转换逻辑:

    DBMS_CLOUD.COPY_DATA(
        table_name =>'test_landing_zone',
        credential_name =>'test2',
        file_uri_list => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/idqt8fo79xkv/b/test-upload/o/2025.csv',
        format => json_object('type' value 'csv', 'ignoremissingcolumns' value 'true', 'trimspaces' value 'lrtrim', 'ignoreblanklines' value 'true', 'delimiter' value ';', 'dateformat' value 'YYYY-MM-DD HH24:MI:SS')
    );
    

    替换dateformat的值为你CSV中实际的日期格式。

内容的提问来源于stack exchange,提问作者Lukas Korous

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:12:43