如何将oracle表导出为平面文件?

时间:2013-10-18 12:17:39

标签: database oracle oracle11g oracle10g

我是Oracle新手。我有一个新手问题。如何将表(在Oracle中)转储到平面文件?我需要输出两个数据表。到目前为止,我有这个但有点困惑。

exp userName/Password @DBName file=filename.dmp tables=tablename rows=y indexes=n triggers=n grants=n

file = filename.dmp下的内容是什么?文件名是什么?那是语法的一部分吗? 任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:0)

您指定的路径是数据库服务器上的路径,而不是本地硬盘驱动器上的路径。您必须连接到服务器的计算机并获取文件。

答案 1 :(得分:0)

阅读heretherehere

您有关于如何通过PL SQL执行此操作的详细信息。

从WIKI转载的答案 - ORAFAQ

执行以下命令以创建数据库目录。此目录必须指向与数据库在同一服务器上的有效目录:

CREATE DIRECTORY DMPDIR AS '/opt/oracle';
GRANT READ, WRITE ON DIRECTORY DMPDIR TO SCOTT;

PS:Oracle引入了一个名为DATA_PUMP_DIR的10g R2默认目录,可以使用:

SELECT
      DIRECTORY_PATH
FROM
      DBA_DIRECTORIES
WHERE
      DIRECTORY_NAME = 'DATA_PUMP_DIR';

DIRECTORY_PATH
--------------------------------------------------------------------------------
/app/oracle/product/10.2.0/rdbms/log/

现在尝试expdp

expdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp

答案 2 :(得分:0)

我不确定你能用exp来做到这一点。尝试在sqlplus中使用spool

Spool c:\output.txt

select * from tablename;

Spool off