oracle使用命令导出dmp

 

cmd :

exp 用户名/密码@实例名 file=导出的dmp文件存放路径 log=导出日志存放路径

exp test/test@orcl file=c:\test\test.dmp log=c:\test\test.log

 

注意: test.dmp  test.log和所在路径必须先创建好

 

然后cm  导入

imp 用户名/密码@实例名 file=导入的dmp文件路径 full=y

imp aichannel/aichannel@HUST full=y   file= d:/data/newsmgnt.dmp ignore=y

 

解决无法导入binary_double 

解决办法,使用expdp/impdp代替exp/imp

参照:https://blog.csdn.net/ajax_yan/article/details/106646326

如果报错,参照排查错误:https://blog.csdn.net/weixin_30488313/article/details/95850553?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

解决exp导出时少表,空表不导出

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 or num_rows is null

          上述代码可产生批量的修改表extent的SQL语句(有多少张空表就产生多少条),我们只需要将其生成的所有sql代码全部执行(复制出来执行或者导出来执行这些sql),就可以给每一张已经存在的表来分配                segment,就OK了。

          再用exp命令进行导出即可。

解决乱码

首先查询 客户端与服务器端的字符集格式,在有dba权限的用户下使用下面的sql

SQL> select userenv('language') from dual;

查询服务端结果

USERENV('LANGUAGE')

----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK

 

发现服务器端和客户端不一致,使用下面的方法将客户端字符集改成与服务器端一致

--linux客户端
env|grep NLS_LANG
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

--windows客户端

echo %NLS_LANG%
set NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

如果linux环境查询不到NLS_LANG,可以重新设置下客户端字符集环境(export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

励志重写JDK

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值