大家在工作中,应该很多接触各种各样的数据库,笔者在此记录一下,我的一次导出数据经历。
工作环境是oracle+Linux(红帽系统,类似centos)
1.进入linux系统(这里不在赘余)
2.运行sqlplus,建议创建oracle用户 管理数据库,直接输入sqlplus 可能不行,需要修改系统的环境变量,我这里是用的
. /home/oracle/.bash_profile
临时改变系统环境变量
3.在进入sqlplus 中,创建目录路径:输入命令:
create directory my_url as ‘/u01/Backup/oracledata‘
;(注:这里my_url和路径可以修改为自己的)
查看路径是否创建成功;
select * from dba_directories
4.授权 用户
Grant read,write on directory my_url to myusers;
(myusers为数据库用户,没有可创建)
5.数据导出,执行命令:
expdp 用户名/密码@ip地址(不写默认为本地地址)/实例 [属性]
expdp myusers/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=my_url logfile=expdp.log
directory=dmpfile --导出的逻辑目录,务必要在oracle中创建完成的,并且给对应用户授权读写权限
dumpfile=xx.dmp --导出的数据文件的名称,如果想在指定的位置的话可以写成dumpfile=/home/oracle/userxx.dmp
logfile=xx.log --日志文件,如果不写这个参数的话默认名称就是export.log,可以在本地的文件夹中找到
schemas=userxx --使用dblink导出的用户不是本地的用户,需要加上schema来确定导出的用户,类似于exp中的owner,但还有一定的区别
EXCLUDE=TABLE:"IN(‘T1‘,‘T2‘,‘T3‘)" --exclude 可以指定不导出的东西,table,index等,后面加上不想导出的表名
network_link=db_local --这个参数是使用的dblink来远程导出,需要指定dblink的名称
举例 :
expdp lims_data/********************* directory=lims_url dumpfile=data200302.dmp schemas=lims_data logfile=data200302.log