我是 Oracle 新手。我有一个新手问题。如何将表(在 Oracle 中)转储到平面文件?我需要特别导出两个数据表。到目前为止,我有这个但有点困惑。
exp userName/Password @DBName file=filename.dmp tables=tablename rows=y indexes=n triggers=n grants=n
file = filename.dmp 下面是什么?什么文件名?那是语法的一部分吗?任何帮助表示赞赏!
您有关于如何通过 PL SQL 执行此操作的详细信息。
答案转载自 WIKI - ORAFAQ
执行以下命令创建数据库目录。此目录必须指向与数据库相同的服务器上的有效目录:
CREATE DIRECTORY DMPDIR AS '/opt/oracle';
GRANT READ, WRITE ON DIRECTORY DMPDIR TO SCOTT;
PS:Oracle从10g R2引入了一个默认目录,叫做DATA_PUMP_DIR,可以使用:
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
您指定的路径是数据库服务器上的路径,而不是本地硬盘驱动器上的路径。您必须连接到服务器的机器并获取文件。
我不确定你可以用 exp 做到这一点。尝试在 sqlplus 中使用 spool
Spool c:\output.txt
select * from tablename;
Spool off