我们有一个shell脚本,用于将转储文件导入数据库。这个脚本字面上称为impdp实用程序。但在此之前,它会禁用目标数据库上的Archivelog,以便在此操作期间禁用生成的归档redolog文件。
最近,我们无法在impdp(技术要求)之前关闭数据库。这样就无法禁用存档日志模式: - (
我的问题是,即使数据库处于存档日志模式,我们如何能够在导入时减少生成的归档重做日志文件的数量?
我试图将所有永久表空间放在NOLOGGING模式中,但我仍然生成了大量存档的redolog文件....
答案 0 :(得分:2)
使用 Oracle 12c ,您可以禁用重做日志的使用(请参阅Oracle Documentation)
impdp [...] transform=disable_archive_logging:y
This来自" Burleson"的文章为您提供全面的概述。
答案 1 :(得分:0)
禁用每个索引(通过禁用所有主要/唯一约束以及ALTER
将所有索引设置为UNUSABLE
)可以提供帮助。然后,您可以在NOLOGGING
模式下重建所有不可用的索引。
答案 2 :(得分:0)
最后我找到了解决问题的方法。首先,我找到了为什么在NOLOGGING模式下设置tabespace没有任何影响的原因。 实际上,在检查转储文件时,我发现表是使用LOGGING模式创建的。这会覆盖表空间的设置。
解决方案是分两个阶段导入: