oracle dmp导出和导入

1.数据导出 

cmd 执行命令 (sqlplus 执行的话  要$imp.....)

exp 用户名/密码@实例名(通常是orcl) file=D:\example.dmp

cmd 导入(sqlplus 执行的话  要$imp.....)

imp '用户名/密码 as sysdba' file=D:\example.dmp full=y ignore=y

从一个用户导入到另一个用户下

imp 用户名/密码@实例 file=E:\要导入的.dmp  ignore=n fromuser=导出用户 touser=导入用户 


报错:经由常规路径由 EXPORT:V10.02.01 创建的导出文件
已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
IMP-00024: 只能指定一种模式 (TABLES, FROMUSER 或 FULL)
IMP-00000: 未成功终止导入

选择了FROMUSER 就不能选择full=y 删除full=y

常见问题

只有DBA才能导入由其他DBA导出的文件

授权即可 grant  dba to 用户名

 

 

 --删除空的表空间,但是不包含物理文件
drop tablespace tablespace_name;
--删除非空表空间,但是不包含物理文件
drop tablespace tablespace_name including contents;
--删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
--删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;


     在一个数据库里把一个用户A的在表空间AA上的表用exp导出到exp.dmp文件中,再把它导入到另一台机器上的数据库里,这时她用的是用户B,默认表空间是BB,但是用imp导入时我们发现表是导入到了B用户下,但是还是存在了AA表空间里面,但是她需要导入到BB里

SQL> create user myhuang identified by myhuang default tablespace myhuang;//先创建一个用户
SQL> grant resource,connect to myhuang;
SQL> grant dba to myhuang;//赋DBA权限
SQL> revoke unlimited tablespace from myhuang;//撤销此权限
SQL> alter user myhuang quota 0 on system;//将用户在System表空间的配额置为0

SQL> alter user myhuang quota unlimited on myhuang;//设置在用户在myhuang表空间配额不受限。

经过上述设置后,就可以用imp导入数据,数据将会进入指定的myhuang表空间

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值