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

在查看数据库中关于外部表的视图中相关信息:
select * from dba_directoriesSelect * 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_USERIDTable dropped.
最后删除目录EX_DATA
SQL> drop directory EX_DATA; Directory dropped.
完成清理!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号