我有一个在EnterpriseLinux6.6服务器上运行的Oracle 11gr2数据库。
我使用以下命令将expdp转储文件拆分为10G大小的块:
expdp userid=/ DIRECTORY=dmpdir dumpfile=dump%u.dmp filesize=10G schemas=user1这将创建4个文件,我应该移动到另一个服务器(rsync,然后rm)。
当支出开始创建下面的文件时,我能立即移动文件吗?我该怎么做呢?我有这样的想法:虽然(next_file不存在)等待。
谢谢。
发布于 2018-12-28 15:54:46
在导出作业完成之前移动文件是不可取的。原因是在导出时,实用程序“在作业期间构建和维护主表。在导出作业结束时,母版表的内容被写入转储文件集中的文件。”(请参阅Oracle在以下地址的文档:https://docs.oracle.com/database/121/SUTIL/GUID-6BDC1CC8-8596-402D-B016-602985B97AB6.htm#SUTIL814)如果在完成工作之前移动转储文件,则可能会破坏该过程并导致作业失败。
在数据泵工作完成之前,您需要移动文件吗?如果没有,只需等待作业完成即可。虽然能够在文件未使用时立即移动这些文件对于大型导出/导入作业非常有用,但在操作转储文件之前让导出完成将节省大量时间。
发布于 2018-12-28 23:53:26
expdp使用多个转储文件的原因有两个:
在后一种情况下,甲骨文数据库,实用程序,12c第1版(12.1.0.2)中文件大小参数的描述如下
如果达到转储文件集的任何成员的大小,则关闭该文件并尝试创建一个新文件,(.)
在文件关闭后,我希望它不再需要了--可以复制、移动或删除。
因此,如果由于没有设置并行参数,只有一个进程正在导出,则可以在创建下一个转储文件之后将文件移动到另一个服务器。
注意:我没有测试这个,但是从文档中推断了这一点。
发布于 2020-01-17 20:12:32
即使这个帖子是一岁的,也许这个答案会对某人有帮助。
我也面临着同样的问题。我不得不导出一个1.4TB数据库,但是只有600 GB的空闲空间可以在export目录中使用。所以我不得不在导出过程中移动被分割的文件。
我发现您可以移动第01部分期望的所有文件(否则导出将崩溃)。我想这是一种“主文件”,其中有关其他部分的信息存储在导出过程中。所以不要移动第01部分。在创建第03部分之后,您可以移动第02部分,等等。
https://dba.stackexchange.com/questions/224021
复制相似问题