欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > oracle数据泵expdp/impdp导出导入

oracle数据泵expdp/impdp导出导入

2025/4/21 3:21:01 来源:https://blog.csdn.net/su377486/article/details/144709907  浏览:    关键词:oracle数据泵expdp/impdp导出导入

expdp/impdp是一个服务端工具,一般建议直接登录到oracle服务器上执行.执行导出和导入的文件必须存放在oracle服务器上面

和exp和imp不同的是,在导出和导入的时候需要提前在oracle中创建一个directory,此目录指向一个操作系统的目录,用来存放导出和导入的文件(oracle用户需要对此文件具有读写权限)

下面是具体的实例:

1.expdp导出


root登录到需要导出的oracle服务器
##这里创建一个操作系统目录,对应的目录oracle用户需要有读写权限,空间能够存放下导出的文件,这里我们指定/home/oracle/dmp,其它项目根据实际情况修改
mkdir -p /home/oracle/dmp
chown -R oracle:oinstall /home/oracle/dmp

##创建directory

su - oracle
#如果一个服务器上面有多个实例,这里要手工指定一下ORACLE_SID.如果只有一个则不需要指定
export ORACLE_SID=dbserver1
sqlplus / as sysdba 
SQL>drop directory expdir;
SQL>create directory expdir as '/home/oracle/dmp';     --这里的目录和上面的目录保持一致


##导出dmp文件,全库导出
expdp \'/ as sysdba\' directory=expdir dumpfile=his20241223.dmp full=y

这里指定了full=y为全库导出,还可以指定schemas或者tables导出指定的schema和表

还有一些其它的参数可以使用expdp help=y来查看


2.impdp导入


#如果是新的导入需要提前先创建好表空间

(impdp是可以导入表空间的,但是必须路径和导出的一致或者配置表空间路径映射,比较麻烦,所以建议提前在要导入的数据库创建好所有需要的表空间)
root登录到需要导入的oracle服务器
##这里创建一个操作系统目录,对应的目录oracle用户需要有读写权限,空间能够存放下导出的文件,这里我们指定/u01/dmp,其它项目根据实际情况修改
mkdir -p /u01/dmp
chown -R oracle:oinstall /u01/dmp
传输dmp导出文件到指定的/u01/dmp下,保证oracle用户对文件可以读写
scp oracle@192.192.2.101:/home/oracle/dmp/his20241223.dmp /u01/dmp

##创建directory
su - oracle

#如果有多个实例需要手工指定一下实例名,如果只有一个则不需要指定
export ORACLE_SID=dbserver
sqlplus / as sysdba
SQL>drop directory expdir;
SQL>create directory expdir as '/u01/dmp';   ----这里的目录和上面dmp存放的目录保持一致

##导入dmp文件
impdp \'/ as sysdba\' directory=expdir dumpfile=his20241223.dmp full=y table_exists_action=replace
#replace表示如果表已经存在会先把表删除再创建,如果不指定table_exists_action则默认会跳过已经存在的表

特别的,如果是采用的是19c CDB架构,需要通过tnsnames里面的服务命名连接到指定的PDB进行导出和导入,还可以并发导出导入等,详细可以使用help=y来查看帮助


 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词