在linux环境上对oracle数据库的数据泵导入导出操作

Posted muxi0000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在linux环境上对oracle数据库的数据泵导入导出操作相关的知识,希望对你有一定的参考价值。

需求:公司搭建的报表库环境数据来自于生产环境oracle数据,因此需要使用kettle将oracle数据每天定时导入到报表数据库中(本文不讨论如何用kettle导数据,不赘述),若要导数据我们需要一套完善的生产oracle数据库的表结构。同时环境搭建以及oracle数据库都在linux环境下部署,因此,需要在linux环境下使用数据泵技术将数据完成导入导出

以上为需求概述

具体实现(即:操作步骤):

su - root --切换root用户(由于不知道oracle用户的密码使用root来登录oracle用户)
su - oracle --在root用户下切换oracle数据库
ps -ef|grep smon ---查看数据库实例
export ORACLE_SID=实例名 ----oracle实例
sqlplus sys/manager as sysdba; ----登录数据库用户数据库连接
select * from dba_directories -----查看数据库虚拟目录(导出数据存放的位置)

Grant read,write on directory 虚拟目录名 to 数据库用户名;------为用户赋予读写的权限
Grant imp_full_database,exp_full_database to 数据库用户名;-----为用户赋予导入导出的权限

-----------从用户导出的两种形式
expdp 用户名/数据库名  schemas=用户名 dumpfile=dmp文件名.dmp directory=虚拟目录名 logfile=日志名.log
expdp 数据库名 directory=虚拟目录名 dumpfile=dmp文件名.dmp logfile=日志.log schemas=用户名

----------从用户导入的两种形式

impdp 用户名/密码 directory=虚拟目录名 dumpfile=dmp文件名.dmp logfile=日志名.log schemas=用户名

impdp 数据库名 directory=虚拟路径名 dumpfile=导入文件名.dmp logfile=日志名.log remap_schema=导出源数据库用户名:导入源数据库用户名;

以上为数据泵导入导出数据的大概步骤,可能步骤太过粗糙,以后再做完善吧,也希望大家可以提出好的改进建议,共同学习

 









以上是关于在linux环境上对oracle数据库的数据泵导入导出操作的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据泵导入导出需要同一个用户么

oracle 12C版本用数据泵导出的数据,要导入到11g版本中,应该怎么进行,不太会用数据泵,求救!!!

玩转Oracle之12c 可插拔数据库数据泵功能体验

Oracle11g使用数据泵方式导入出现ORA-39151错误

oracle数据泵导入导出数据

数据泵导出导入