数据导出工具EXPDP,IMPDP

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

 

10g中除了常规的导出工具exp/imp外,还有效率更高的EXPDP/IMPDP.

每次要临时写脚本不但容易出错还麻烦。方便后续的工作,写两个脚本。

 

查看帮助:

impdp -help
expdp -help

 

使用EXPDP/IMPDP前必须要创建directory

 

1.创建directory
SQL>create or replace directory  DPUMPDIR as  '/oracle/backup/dmp' ;

2.查询directory
SQL>select * from dba_directories ;

3. 授予read,write 权限给导出用户
SQL>grant read ,write on directory  DPUMP_DIR  to user;

 

 

4.导出脚本expdp.sh


#!/usr/bin/ksh
#. /home/oracle/.profile;
echo "***********************************************";
echo "*  NAME    : expdp_newclaim.sh                                          *";
echo "*  SUBJECT : SAA  PRODUCT BACKUP                                   *";
echo "*  DATE    : 2010-11-12                                                        *";
echo "*  AUTHOR  : LIANG WEI                                                       *";
echo "*                                                                                           *";
echo "*                                                                                           *";
echo "***********************************************";
expdpDate=$(date +%Y%m%d);
userid="user/password";
cd /arch01/oracle/backup/dmp
echo "  ***** bakup time ${expdpDate} ******* "
filename="newclaim${expdpDate}.dmp"
expdp ${userid}  directory=dpump_dir  dumpfile=${filename} parallel=4   job_name=myjob4 logfile=newclaim${expdpDate}.log

 

参数说明:

               1.userid中指明了导出用户的用户名和密码

               2./arch01/oracle/backup/dmp为备份路径

               3.filename 为备份文件名

               4.directory指授予该用户拥有read,write权限的directory

               5. dumpfile为备份的文件名

               6.parallel 指定并行度为4

               7.job_name 为job名,可以随便起

               8.logfile为日志文件名

 

 

 

 

5.导入脚本impdp.sh

impdpDate=$(date +%Y%m%d);
userid="newuser/newpassword";
cd  /home/oracle/ca_data
echo "  ***** bakup time ${impdpDate} ******* "
filename="newclaim${impdpDate}.dmp"
impdp ${userid} directory=dpump_dir dumpfile=${filename} REMAP_SCHEMA=user:newuser remap_tablespace=tbs_old:tbs_new  job_name=j2 logfile=1.log

 

参数说明:

 

如果导出和导入的用户名不一致可以指定remap_schema参数。

user为原用户名,newuser为新用户名。

 

如果导出和导入的表空间不一致可以指定remap_tablespace参数。

tbs_old为原表空间名。tbs_new为新表空间名。

 

 

 

 

上述脚本可以简化如下:

导出命令:

expdp  user/password directory=dump_dir dumpfile=test.dmp parallel=4 job_name=myjob logfile=test.log

 

导入命令:

impdp newuser/newpassword directory=dump_dir dumpfile=test.dmp  remap_schema=user:newuser

remap_tablespace=tbs_old:tbs_new

 

你可能感兴趣的:(Date,schema,脚本,user,工具,parallel)