繁体   English   中英

Oracle导出:表不存在

[英]Oracle export: table doesn't exist

我想在oracle 11g中导出数据

exp user/password file=dump.dmp tables = (table1)

通过sqlplus。

我收到以下错误:

即将通过常规路径导出指定的表格...
EXP-00011:USER.TABLE1不存在
导出已成功终止并显示警告。

但是,当我检查谁是这个表的所有者时:

SELECT owner, table_name from dba_tables where table_name = 'TABLE1';

我得到TABLE1的所有者是USER

我该怎么做才能导出这张桌子?

UPDATE

实际上,我找到了解决方案。 我希望它会帮助别人。 从版本11g开始,Oracle引入了一种称为延迟段创建的新功能。 因此,如果现在有行,oracle不会创建表段。 所以我重新创建了我的表,选项'segment creation immediate'

实际上,我找到了解决方案。 我希望它会帮助别人。 从版本11g开始,Oracle引入了一种称为延迟段创建的新功能。 因此,如果没有行,oracle不会创建表段。 而我的表格中没有任何数据。 所以我重新创建了我的表,选项'segment creation immediate'

解决方案在这里找到。 有更多的选择如何解决问题,并解释为什么这件事恰好在oracle 11g中。 :)

除了Olivia发布的答案,我想添加一些代码:

SELECT 'alter table ' ||  table_name || ' allocate extent;'
from dba_tables where SEGMENT_CREATED = 'NO';

再次执行输出和exp。 将导出您的架构,包括空表。

编辑: 这里有类似的问题,也许你会在那里找到你的解决方案。

改变这个:

exp user/password file=dump.dmp tables = (table1);

对此:

exp user/password tables = (table1) file=dump.dmp;

您可以使用以下查询从特定用户获取表级别导出。

exp user/password file=dump.dmp tables = user.table1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM