关于oracle10g导出命令expdp的疑问

蛋黄车 2010-08-16 03:54:15
废话不多说,直奔主题

在网上搜索了一下数据导出的命令,exp、expdp这两个

我试着用exp导出方案,一点问题都没有,而且生成的*.dmp文件很小

当我用expdp命令导出的时候,却出现了很多的问题,我把的我操作步骤与大家共享

1、sqlplus system/password 进入后创建逻辑目录:create directory dumpdir as 'f:\dump';
在这里需要注意,我是在windows平台上操作的,f:\dump必须是真实的物理磁盘目录,而dumpdir则是一个逻辑上的目录。另外创建目录的时候最好以system用户来创建
2、给要导出的用户赋目录的读写权限:grant read,write on directory dumpdir to scott;(这里要导出的是用户scott)
3、进入cmd下,输入命令(这里有两个版本)
 (1)expdp scott/tiger directory=dumpdir dumpfile=scott.dmp schemas=scott;网上的这个版本,命令执行时提示参数值无效,方案表达式'scott;'与任何方案不对应。所以这一个,无解。。。
 (2)expdp scott/tiger directory=dumpdir dumpfile=scott.dmp schemas=system,scott;这是另外一个版本,命令执行了导出操作,但是导出的是system的,还提示一个错误:未找到方案scott。这不是我想要的结果。所以我对它进行了一些修改,如下:
  expdp scott/tiger directory=dumpdir dumpfile=scott.dmp schemas=scott,system;这样的执行结果是把scott的导出,但同样是报一个错误:未找到方案scott。由此,我发现,schemas参数后面的值,只导逗号前的方案,后面的方案提示未找到。这个同样是无解。。。

总结:expdp命令使用中schemas到底要怎么设置才能真正导出自已想要导出的方案,而且还不报错呢?
...全文
589 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
minitoy 2010-08-16
  • 打赏
  • 举报
回复
呵呵,多谢,我第一次知道有expdb
蛋黄车 2010-08-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 wildwave 的回复:]

方案表达式'scott;'与任何方案不对应
这个提示得很清楚
将;号去掉
这操作系统命令而不是sql
[/Quote]

果然@_@ 晕呼呼!!不加分号就成功了,哇卡卡!!

谢谢minitoy以及狂浪的关注撒!!问题解决了
蛋黄车 2010-08-16
  • 打赏
  • 举报
回复
首先谢谢minitoy的关注,scott是存在的,不过这里的scott好像只能是大写才可以在all_users中查到
minitoy 2010-08-16
  • 打赏
  • 举报
回复
汗,是这样。。
[Quote=引用 7 楼 wildwave 的回复:]
方案表达式'scott;'与任何方案不对应
这个提示得很清楚
将;号去掉
这操作系统命令而不是sql
[/Quote]
小灰狼W 2010-08-16
  • 打赏
  • 举报
回复
方案表达式'scott;'与任何方案不对应
这个提示得很清楚
将;号去掉
这操作系统命令而不是sql
minitoy 2010-08-16
  • 打赏
  • 举报
回复
SELECT * FROM all_users t WHERE t.username='SCOTT';
minitoy 2010-08-16
  • 打赏
  • 举报
回复
确认scott存在?
我刚才导出自己的数据没问题。另外查了下manual。
CREATE OR REPLACE DIRECTORY dmtest AS 'c:\oracle\product\10.2.0\dmining';
GRANT ALL ON DIRECTORY dmtest TO dmuser1;
GRANT EXP_FULL_DATABASE TO dmuser1;
GRANT IMP_FULL_DATABASE TO dmuser1;
SQL> EXECUTE DBMS_DATA_MINING.EXPORT_MODEL('allmodels.dmp','DMTEST');
PL/SQL procedure successfully completed.
确认scott有EXP_FULL_DATABASE和IMP_FULL_DATABASE权限?
蛋黄车 2010-08-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 minitoy 的回复:]

在c盘下新建目录dump,然后alter system set utl_file_dir="c:/dump" scope=spfile
再expdp tds/wellhope@orcl dumpfile=scott.dmp schemas=scott
[/Quote]
参解释一下第一句命令的作用吗?

我按照你的进行了操作,还是提示错误:方案表达式"scott;"与任何方案均不对应
minitoy 2010-08-16
  • 打赏
  • 举报
回复
directory好像是用的是utl_file_dir对应的目录。
minitoy 2010-08-16
  • 打赏
  • 举报
回复
再expdp scott/tiger@sid dumpfile=scott.dmp schemas=scott
minitoy 2010-08-16
  • 打赏
  • 举报
回复
在c盘下新建目录dump,然后alter system set utl_file_dir="c:/dump" scope=spfile
再expdp tds/wellhope@orcl dumpfile=scott.dmp schemas=scott

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧