我在加载大数据文件时得到ORA-00054(~10 gb) 在前一个文件之后加载新文件时会发生错误。 我有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
一种可能的情况。
这是直接路径加载吗?如果是这样,请检查v $ locked_object视图,看看在加载过程中是否被某人锁定。
select dbao.object_name
from v$locked_object vlo,
dba_objects dbao
where vlo.object_id = dbao.object_id
and dbao.object_name = 'Table that you are trying to load...'
来自http://download.oracle.com/docs/cd/B10500_01/server.920/a96524/c21dlins.htm
的Oracle文档使用锁定注意事项 直接路径插入
在直接路径INSERT期间,Oracle 获取表上的独占锁 (或在分区的所有分区上 表)。结果,用户不能 执行任何并发插入,更新, 或删除表上的操作,和 并发索引创建和构建 不允许进行操作。 然而,并发查询是 支持,但查询将返回 只有插入之前的信息 操作
答案 1 :(得分:0)
这可能与表空间数据文件大小,表大小有关,因为ORA-00054通常在运行ALTER语句时出现。
我不假装就在这里。
答案 2 :(得分:0)
检查这些观点。
DBA_BLOCKERS - 显示等待锁等待的非等待会话
DBA_DDL_LOCKS - 显示所有持有或被请求的DDL锁
DBA_DML_LOCKS - 显示所有持有或被请求的DML锁
DBA_LOCK_INTERNAL - 为持有或被请求的每个锁或闩锁显示1行,其中包含谁持有锁的用户名
DBA_LOCKS - 显示所有持有或被请求的锁或锁存
DBA_WAITERS - 显示所有等待但未等待锁定的会话
答案 3 :(得分:0)
您的桌子似乎已被锁定:ORA-00054 这可能是因为Oracle驱动程序处理BLOB类型的方式(驱动程序锁定记录,打开流以写入二进制数据,并需要“一些帮助”来释放记录)。 我会尝试下一个安全措施: