expdp中的create directory

使用expdp命令导出用户,表或者表空间的数据的步骤如下:

1. 创建directory(在sqlplus中进行创建)

    create or replace directory wsj_obj_name as '/home/wsj';  #注意这边的/home/wsj目录oracle用户必须是属主

2. 授权

    grant read or write on wsj_obj_name to wsj;# 给wsj这个数据库用户赋予对wsj_obj_name这个路径(即/home/wsj)的读写权限

3. 导出数据

    expdp wsj/wsj directory=wsj_obj_name  dumpfile=exp_wsj.dmp  logfile=exp_wsj.log  parallel=1 schemas=wsj # 导出的exp_wsj.dmp会默认的放在wsj_obj_name这个路径(即/home/wsj)

在上面的1,2步骤中,都是以数据库中的sys用户来执行的,若需要使用普通用来完成1,2步骤,方法如下:

a. 给用户赋予create any directory权限

    grant create any directory to wsj; # 给wsj这个数据库用户赋予create any directory

b. 以普通用户创建directory

    sqlplus wsj/wsj;

    create or replace directory wsj_obj_name as '/home/wsj';

c. 导出数据

    expdp wsj/wsj directory=wsj_obj_name  dumpfile=exp_wsj.dmp  logfile=exp_wsj.log  parallel=1 schemas=wsj # 导出的exp_wsj.dmp会默认的放在wsj_obj_name这个路径(即/home/wsj)

 

    删除directory:

     drop directory wsj_obj_name;

两种方法对比发现:

1. 使用普通用户创建directory不需要再对普通用户自己赋予读写权限,而sys用户需要

2. 不管是普通用户还是sys用户,wsj_obj_name这个directory任何用户都可以使用,只是需要给用户赋予grant read or write 权限(若是自己创建的directory则无需grant read or write,因为自己对自己创建的东西享有任何相关权限,这当然包括read,write)

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值