有一张表有上千万的数据,数据库不是安装在本机,普通的导出非常慢,则用数据泵:
expdp eis/[email protected] TABLES=prod_runlog_run_rec_detail dumpfile=expdp.dmp DIRECTORY=exp_dir
1. 导出的文件在数据库服务器上,需要把文件导出到本地
解决:create database link TOLINK
connect to eis identified by test
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.5.240)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)';
2. 网上搜了一下,在本地数据上建一个dblink,然后用本地的用户导出,使用下列导出,报错
C:\Documents and Settings\guogang>expdp test/test TABLES=prod_runlog_run_rec_detail dumpfile=expdp.dmp DIRECTO
RY=exp_dir network_link=TOLINK
Export: Release 10.2.0.1.0 - Production on 星期一, 30 7月, 2012 14:44:07
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
UDE-00008: 操作产生了 ORACLE 错误 31623
ORA-31623: 作业没有通过指定的句柄连接到此会话
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 2745
ORA-06512: 在 "SYS.DBMS_DATAPUMP", line 3712
ORA-06512: 在 line 1
解决方法:执行catproc.sql(我的数据库版本是10.2.0.1.0),就可以了。