<<一张导数据的单>>
1、导出源库
导出服务器IP和sid:10.150.33.100
导出用户:ODSPRO
导出对象(表):
ZISCS0001
ZISCS0020
ZISCS0040
ZISCSB168
ZISCS0023
ZISCS0034
EVER_ALL
SB_INFO
NW_MAPPING_CODE_YTH
ZISBI_POWER
ZISFIB052
执行导出时间:2017/04/13
2、导入目标库
导入数据来源:上面导出的数据
导入服务器IP和sid: 10.150.33.241
导入后预估大小: 67G
导入用户:miners
导出日志:不需要
导入时间:2017-04-13
导入要求:目标库中没有导入的表
TABLE_EXISTS_ACTION=SKIP --不处理,保留原来的表
注意,1 如果导入用户存在数据,请自行删除待导入用户的数据
2 如果是提供数据导入,需要提供用数据泵导出的数据
<<一张导数据的单>>
(一)导出库:
1)先抽查其中一张表看是否为该用户的
select OWNER from dba_tables where TABLE_NAME='ZISCS0001';
2)可以通过dba_directories 来查看系统中已创建的目录
select * from dba_directories;
3)对于创建的目录必须授予用户读写目录的权限
grant read,write on directory dump_scott to user;
4)如果没有导出的文件夹路径,就df -h 看看空间,然后新建
create or replace directory expdp_dir as '/home/oradba/expdp_dir';
5)写一个参数文件
$ vi expdp_0413.par
tables=ODSPRO.ZISCS0001
,ODSPRO.ZISCS0020
,ODSPRO.ZISCS0040
,ODSPRO.ZISCSB168
,ODSPRO.ZISCS0023
,ODSPRO.ZISCS0034
,ODSPRO.EVER_ALL
,ODSPRO.SB_INFO
,ODSPRO.NW_MAPPING_CODE_YTH
,ODSPRO.ZISBI_POWER
,ODSPRO.ZISFIB052
6)vi编辑导出命令
expdp "'/ as sysdba'" directory=EXPDP_DIR dumpfile=odspro_%U.dmp logfile=expdp_0427.log parfile=expdp_0413.par PARALLEL=4 COMPRESSION=ALL job_name=0413
--因为数据大,开并行,文件系统自定名_%U,加压缩,job_name一定要加
--大数据导入的时候要时刻注意df -h,有可能归档日志把磁盘撑爆
7)用nohup命令执行
$ nohup sh impdp_miners_20170330.sh > 1.txt &
$ tail -f 1.txt
(二)导入库:
1)$ df -h --确认存放目录空间足够,不然会宕机
2)把导出文件传输到目标库
3)查看用户的默认表空间
SQL> select USERNAME,DEFAULT_TABLESPACE from dba_users where USERNAME='MINERS';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
MINERS TBRSH
4)确保该表空间的大小足够
TABLESPACE_NAME TOTAL(G) USED(G) FREE(G) USED_PCT
------------------------------ --------- --------- --------- ---------
UNDOTBS1 32.00 0.04 31.96 0.13
USERS 0.00 0.00 0.00 20.00
TBRSH 751.00 259.01 491.99 34.49
SYSAUX 0.59 0.25 0.34 42.26
SYSTEM 1.00 0.61 0.39 60.77
--------- --------- ---------
sum 784.59 259.91 524.68
5)vi编辑导入命令
$ vi impdp_miners_20170414.sh
impdp "'/ as sysdba'" directory=impdp dumpfile=odspro.dmp logfile=impdp_20170414.log REMAP_SCHEMA=ODSPRO:miners REMAP_TABLESPACE= other_data:TBRSH,YD_DATA:TBRSHZD_DATA:TBRSH,
PART_DATA:TBRSH TABLE_EXISTS_ACTION=skip job_name=20170414
6)用nohup命令执行
$ nohup sh impdp_miners_20170414.sh > 1.txt &
$ tail -f 1.txt
。
。
ORA-39083: Object type TABLE:"MINERS"."ZISBI_POWER" failed to create with error:
ORA-00959: tablespace 'ZISBI_POWER_2008' does not exist
。
。
--出现报错,停止导入
7)利用ATTACH 重新连接上还在进行的JOB
$ impdp attach=20170414
Import: Release 11.2.0.4.0 - Production on Fri Apr 14 10:48:32 2017
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Username: / as sysdba
。
。
Import> stop
Are you sure you wish to stop this job ([yes]/no): yes
8)重新编辑,把缺少的表空间名加上
$ vi impdp_miners_20170414.sh
impdp "'/ as sysdba'" directory=impdp dumpfile=odspro.dmp logfile=impdp_20160414.log REMAP_SCHEMA=ODSPRO:miners REMAP_TABLESPACE ODS_PRO_DEFAULT:TBRSH, ODS_CS_YX:TBRSH,OPUPW:TBRSH,ZISBI_POWER_2008:TBRSH,PORTION:TBRSH TABLE_EXISTS_ACTION=skip job_name=0414
9)导入完成