Oracle外部表的一次维护


在做Oracle数据库的导出导入操作的时候,发现在将导出数据导入到新库过程中报告如下错误:


在查看数据库中关于外部表的视图中相关信息:
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.

完成清理!

相关内容