关于从linux服务器上的oracle数据库里导出数据

关于“EXP-00056: ORACLE error 12154 encountered”的解决方法:


有用户问到这样一个问题,在进行导出操作时如何转义口令中的@符号?

由于缺省的Oracle会将@符号后面的字串当作服务名来解析,所以不加处理是不行的。

有的企业因为安全规则的需要,口令中都会加入@符号。

假定用户口令如下: 
SQL> alter user eygle identified by " eygle@com";
User altered.
如果缺省导出会出现如下错误:
[ oracle@jumper oracle]$ exp eygle/ eygle@com file=eygle.dmp tables=test

Export: Release 9.2.0.4.0 - Production on Fri Jan 4 11:17:48 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

 EXP-00056: ORACLE error 12154 encountered

ORA-12154: TNS:could not resolve service name

EXP-00000: Export terminated unsuccessfully
通过转义,可以成功导出:
[ oracle@jumper oracle]$ exp eygle/\" eygle@com\" file=eygle.dmp tables=test
Export: Release 9.2.0.4.0 - Production on Fri Jan 4 11:12:10 2008
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set

 About to export specified tables via Conventional Path ...

. . exporting table                          TEST      4136 rows exported

 -The End

从数据库导出数据的语句为:
exp osoadata/888888@fxc file=e:\osoa.dmp owner=osoadata
处理之后为:
exp osoadata/\" 888888@fxc\" file=e:\osoa.dmp owner=osoadata 
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0

exp 用户名/密码@数据库名 file=D:\dmp\exp_sms20110224.dmp log=D:\dmp\exp_smsrun.log

exp osoadata/ 888888@fxc file=e:\osoa.dmp owner=osoadata

exp osoadata/\" 888888@fxc\" file=e:\osoa.dmp owner=osoadata 

exp osoadata/sdjzkhdb!@ @orcl file=/srv/bak_ceshi/osoadata.dmp owner=osoadata log=/srv/bak_ceshi/exp_osoadata.log

exp certCMSUser/ sdjzkhdb!@@orcl file=/srv/bak_ceshi/certCMSUser.dmp owner=certCMSUser log=/srv/bak_ceshi/exp_certCMSUser.log

当前用户目录下的.bash_profile文件中增加export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"保存后,source .bash_profile生效,导出正常
imp certCMSUser/ certCMSUser@ orcl file=/srv/certCMSUser.dmp  fromuser=certCMSUser touser=certCMSUser log=/srv/imp_cert.log
 imp osoadata/ 888888@orcl  file=/srv/osoadata.dmp  fromuser=osoadata touser=osoadata log=/srv/imp_osoa.log

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值