Oracle数据库导出丢失的表

时间:2015-04-26 06:57:25

标签: database oracle oracle11g database-backups

我已经导出了一个Oracle 11g数据库实例(完整版)而没有将其关闭,只是发现有400多个表丢失(未导出)。 该数据库由应用程序使用,可能还有用户。

我使用的命令是

exp SYSTEM@db1 FULL=y FILE="C:\backup.dmp" GRANTS=y ROWS=y log="C:\backup.log" 

在导出之前不会关闭它使它跳过所有这些表吗?

2 个答案:

答案 0 :(得分:2)

exp无法理解deferred segment creation,可能不包含这些表格:

select owner, table_name from dba_tables where segment_created = 'NO' order by 1, 2;

您是否尝试过expdp? {10}已弃用exp,但新工具存在漏洞,解决方法通常是使用exp。如果您确实需要使用exp,则可能需要在表上运行此命令:

alter table unexported_table allocate extent;

答案 1 :(得分:0)

我有同样的问题。在我的情况下,问题是表空间没有更多的可用空间(并且它没有自动扩展)。

解决方案是使用以下命令增加表空间大小

ALTER DATABASE DATAFILE' ../ stuff01.dbf'调整100M;

查看此link了解详情。

RECOMENDATIONS

  • 对表空间使用AUTOEXTEND ON。
  • 将来使用expdp和impdp命令以便在日志中包含更多详细信息。