Oracle数据泵导出(expdp)锁表(或类似内容)

Oracle数据泵导出(expdp)锁表(或类似内容),oracle,oracle11g,database-partitioning,table-locking,Oracle,Oracle11g,Database Partitioning,Table Locking,我必须从具有全局索引的分区表中导出数据,全局索引必须始终处于联机状态,但我在这样做时遇到了麻烦。 对于数据导出,我使用数据泵导出-expdp,并且只导出一个分区。最老的一个,不是活动的一个 我的expdp命令导出正确的数据,如下所示: expdp user/pass@SID DIRECTORY=EXP_DIR DUMPFILE=part23.dmp TABLES=SCHEMA_NAME.TABLE_NAME:TABLE_PARTITION_23` 使用数据库的应用程序的连接超时为10秒。无法

我必须从具有全局索引的分区表中导出数据,全局索引必须始终处于联机状态,但我在这样做时遇到了麻烦。 对于数据导出,我使用数据泵导出-expdp,并且只导出一个分区。最老的一个,不是活动的一个

我的expdp命令导出正确的数据,如下所示:

expdp user/pass@SID DIRECTORY=EXP_DIR 
DUMPFILE=part23.dmp TABLES=SCHEMA_NAME.TABLE_NAME:TABLE_PARTITION_23`
使用数据库的应用程序的连接超时为10秒。无法更改此参数。如果插入查询未在10秒内完成,则数据将写入备份文件

我的问题是,在持续几分钟的导出过程中,一些数据最终会出现在备份文件中,而不是数据库中。我想知道为什么,并避免它

分区每周组织一次,我保持4个分区处于活动状态(过去4周)。每个分区最多可达3 GB


我正在使用Oracle 11.2

您是否获得使用AWR的许可?如果是,在超时发生时是否有快照的AWR报告

Oracle阅读器不会阻止写入程序,导出过程也没有理由锁定任何会影响新插入的内容

这是一个超时为10秒的单次插入操作(即在单次插入语句中插入大量行)?或者这是一批单独的插入,使得一些插入可以在10秒的窗口内成功,而另一些可能失败?您说“一些数据最终会出现在备份文件中”,但我不确定哪种情况更准确

在正常操作期间,您离10秒超时有多近


是否有可能系统是I/O绑定的,并且执行导出会增加I/O系统上的负载,从而导致所有操作都变慢?如果您遇到I/O瓶颈,并且您添加了一个导出进程,该进程必须读取一个3 GB分区并将该数据写入磁盘(可能也在数据库服务器上),那么肯定会导致总体速度减慢。如果你已经相当接近10秒的超时时间,那肯定会把你推到边缘。

我将能够在周一检查我们是否有AWR许可证。但我相信,在我测试出口程序的开发系统上,它是不可用的。应用程序生成一批单独的插入。我无法更改应用程序逻辑。@lvica-如果您没有可用的AWR,是否可以查看是否有可用的Statspack?在正常操作期间,插入事务在不到1秒的时间内完成。超时设置为10秒,因为一些SELECT语句连接到多个表上。到目前为止,我没有注意到I/O系统上有任何问题。在周一的导出过程中,我还将检查I/O系统的行为。感谢快速响应。数据库安装没有AWR许可证,并且没有安装Statspack。我会尽快安装它。