SQL*Loader-605:发生非数据依赖的 ORACLE 错误

bon*_*svr 3 oracle oracle-11g-r2 sql-loader

当我尝试将数据加载到 Oracle 时,我遇到了SQL*Loader-605: Non-data dependent ORACLE error occurred错误。

数据(是?)在.txt文件中,其大小为 95GB。

以下是有关错误的更多详细信息:

用于 ROWS 参数的值从 64 更改为 19

ORA-01653: 无法在表空间 USERS 中将表 M.ECZ 扩展 8192

SQL*Loader-605:发生与数据无关的 ORACLE 错误 -- 加载停止。

继续加载时指定 SKIP=8351926。

表 ECZ:8351925 行已成功加载。0 由于数据错误未加载行。0 行未加载,因为所有 WHEN 子句都失败。0 行未加载,因为所有字段都为空。

为绑定数组分配的空间:245100 字节(19 行)读取缓冲区字节:1048576

跳过的逻辑记录总数:1

拒绝的逻辑记录总数:0

丢弃的逻辑记录总数:0

你有什么建议?谢谢。

Gai*_*ius 5

您只是将数据加载到数据库中的空间不足。尝试:

SQL> select file_name, bytes/1024/1024/1024 as gb from dba_data_files where tablespace_name='USERS';
Run Code Online (Sandbox Code Playgroud)

假设文件是​​“/data/users01.dbf”,大小为 32G。那么你可能会这样做

SQL> alter tablespace users add datafile '/data/users02.dbf' size 1g autoextend on next 1g maxsize unlimited;
Run Code Online (Sandbox Code Playgroud)

这将为您提供另外 32G 的空间。根据需要重复 03、04 等。我不知道您的 95G 文本文件最终会变成多少 Oracle 数据,但您可以看到可用的内容:

SQL> select tablespace_name, sum(bytes)/1024/1024/1024 as Gb from dba_free_space where tablespace_name='USERS' group by tablespace_name;
Run Code Online (Sandbox Code Playgroud)