昨晚上在做数据库的导出导入操作的时候,发现在将导出数据导入到新库过程中报告如下错误:
在查看数据库中关于外部表的视图中相关信息:
select * from dba_directories
Select * from select * from dba_external_tables
发现EXP_USERID表存在而目录EX_DATA不存在了!
正常的情况下是先创建一个目录在创建外部表,
现在是目录丢失了,表还存在,所以查询的时候会报告错误如下:
数据库的逻辑错误出现了。真不知道但是的前任DBA是怎么操作的??
咨询了一下技术经理,才知道原来有大批的会员资料需要导入到库中做测试用
外部表其实是将数据库中外部的文件(操作系统)加载再到数据库中,只能查询操作不允许修改,
这样很方便的将外部数据在数据库中使用。
解决方法:
先创建目录EX_DATA
SQL> create directory EX_DATA as '/home/oracle';
Directory created.
再删除表EXP_MAIL_PERSON
SQL> drop table EXP_MAIL_PERSON;
Table dropped.
删除表EXP_USERID
SQL> drop table EXP_USERID
Table dropped.
最后删除目录EX_DATA
SQL> drop directory EX_DATA;
Directory dropped.
完成清理!
本文转自andylhz 51CTO博客,原文链接:http://blog.51cto.com/andylhz2009/481709,如需转载请自行联系原作者