oracle外部表使用详解,详解Oracle外部表的一次维护(图文)

在执行Oracle数据库的导出导入操作时遇到错误,原因是外部表EXP_USERID对应的目录EX_DATA丢失。外部表用于将操作系统文件加载到数据库中以便查询,但不允许修改。解决方案包括:先创建目录EX_DATA,然后删除EXP_USERID表,最后删除目录EX_DATA以完成清理工作。此问题可能是由于前任DBA的操作不当导致。
摘要由CSDN通过智能技术生成

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

821f74945ad07b3678c98c94c9239494.png

在查看数据库中关于外部表的视图中相关信息:select * from dba_directoriesSelect * from select * from dba_external_tables

发现EXP_USERID表存在而目录EX_DATA不存在了!

正常的情况下是先创建一个目录在创建外部表,,

现在是目录丢失了,表还存在,所以查询的时候会报告错误如下:

594e77c7fd962eb37c76665c2770608c.png

数据库的逻辑错误出现了。真不知道但是的前任DBA是怎么操作的??

咨询了一下技术经理,才知道原来有大批的会员资料需要导入到库中做测试用

外部表其实是将数据库中外部的文件(操作系统)加载再到数据库中,只能查询操作不允许修改,

这样很方便的将外部数据在数据库中使用。

解决方法:

先创建目录EX_DATASQL> create directory EX_DATA as '/home/oracle';

Directory created.

再删除表EXP_MAIL_PERSONSQL> drop table EXP_MAIL_PERSON;

Table dropped.

删除表EXP_USERIDSQL> drop table EXP_USERIDTable dropped.

最后删除目录EX_DATASQL> drop directory EX_DATA;

Directory dropped.

完成清理!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值