您的位置:首页 > 数据库 > Oracle

impdp + dblink 导入数据

2018-03-03 16:26 816 查看
Oracle 通过逻辑方式导出数据,当导出的数据量比较大的时候,磁盘存储空间不够时可以使用

impdp + dblink 方式实现,这样省去了expdp 导出的过程,不过这种方式不支持 long 类型的字段

会报错:

ORA-31679: and longs can not be loaded/unloaded using a network link


实现前提:

在目标数据库必须要开启 streams_pool_size 参数

否则会报错:

UDI-31623: operation generated ORACLE error 31623

ORA-31623: a job is not attached to this session via the specified handle

ORA-06512: at "SYS.DBMS_DATAPUMP", line 3326

ORA-06512: at "SYS.DBMS_DATAPUMP", line 4551

ORA-06512: at line 1


查看是否开启

show parameter stream


开启 streams_pool_size

alter system set sga_max_size=2200m scope=spfile;


startup force;


alter system set streams_pool_size=1200M scope=spfile;


2.如果impdp 时指定了 logfile选项,则需要在Oracle 创建directory 对象

查询当前数据库中所有的directory 对象

select * from dba_directories;


如果查询出来的路径在操作系统上面不存在则需要创建

否则会报错

ORA-39002: invalid operation

ORA-39070: Unable to open the log file.

ORA-29283: invalid file operation

ORA-06512: at "SYS.UTL_FILE", line 475

ORA-29283: invalid file operation


解决:

select * from dba_directories;


查询到当前数据库的所有 directory 对象, 如果directory 对象指向的路径在操作系统不存在,则需要创建

3.如果导出的数据量比较大,比如上百G则需要需要设置临时表空间为自动增长,因为impdp 导入数据时需要用到临时表空间

查询临时表空间的路径

select TABLESPACE_NAME,FILE_NAME from dba_temp_files;


设置临时表空间自动增长:

alter database tempfile 'D:\ORACLE\ORADATA\DBA\TEMP01.DBF' autoextend on next 20m;


4.如果导入的数据量比较大,则最好将目标用户的表空间设置为bigfile 否则当表空间增长导32G时 由于文件系统的限制,则无法继续增长导致导出失败

5.为了提高导入效率。需要增加日志组

查询当前有多少日志组

select * from v$logfile;


查询日志组大小

select GROUP#  ,BYTES/1024/1024 size_M,STATUS,ARCHIVED from v$log;


增加日志组

alter database add logfile group 4 ('/tmp/192.168.1.52/share/imp2/u01/app/oracle/oradata/abc/redo04.dbf') size 200M;


创建 dblink

create /* public */ database link mylink  connect to duni_exp identified by duni_exp  using \

'(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.190)(PORT = 1521))) \

"(CONNECT_DATA =(SID = orcl)))';


导入数据,指定使用dblink

impdp \'/ as sysdba\' nologfile=y tables=TEST table_exists_action=skip parallel=10 \

remap_schema=TEST:ORCL cluster=no network_link=mylink remap_tablespace=USERS:SYSTEM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息