如何使用exp命令导出Oracle DB与不同磁盘位置的文件

时间:2010-09-02 06:47:01

标签: oracle oracle10g backup export

我们在尝试导出Oracle DB时遇到问题。 操作系统: CentOS~5.2 数据库: Oracle 10g。

Exp命令仅在位置导出db文件:

  

/home/oracle/OraHome_1/oradata/master/xxx.dbf

,但工具无法导出不同位置的文件(我们在获取跟踪后知道这些文件),如下所示:

  

'/磁盘1 / dblog06.dbf',   '/home/disk2/system01.dbf',

请告诉我如何获取转储文件。或者说吧。

感谢。

3 个答案:

答案 0 :(得分:1)

我不确定这是否是问题,但exp命令将根据其逻辑架构(用户名,表名)导出数据库对象。数据来自哪个物理数据库文件并不重要。

exp通过Oracle实例工作,该实例需要安装数据文件。

这些其他文件是Oracle数据库的一部分吗?也许另一个数据库您需要找出哪个Oracle服务器使用它们,然后针对该实例运行exp

答案 1 :(得分:1)

EXPORT不是备份工具。它用于将数据从一个数据库传输到另一个数据库,或者可能从一个模式传输到另一个模式。

如果要在数据库崩溃或损坏的情况下恢复数据,则需要使用相应的工具。有一些操作系统解决方案,但Oracle提供了一个复杂的备份和恢复工具:RMAN。 Find out more

答案 2 :(得分:1)

您似乎误解了exp的作用,尤其是file参数的含义。 file是输出转储文件,通常提供.dmp扩展名。导出将数据从数据库实例中取出,它在数据文件的引擎下不起作用 - 您必须告诉它您需要哪些数据(完整,用户,表或表空间)以及放置它的位置,而不是它来自何处

如果你确实尝试exp file=/home/disk2/system01.dbf,那么你实际要求它做的就是丢弃你的数据库;你很幸运它没有覆盖数据文件并导致灾难性的失败。 Oracle似乎已经让你远离了自己,但可能只是因为当时对文件进行了独占锁定。

你需要了解它是如何工作的,看看它是否真的能满足你的需要 - 因为APC注意到它不是备份工具。查看适用于您的版本的Oracle文档,或http://www.orafaq.com/wiki/Import_Export_FAQ之类的内容,并查看使用数据泵而不是exp