【发布时间】:2021-11-22 23:49:31
【问题描述】:
我有一组新的盒子,我需要在其中复制 export , 所有这些机器都有系统用户密码和复杂的东西,比如@等。
例如:
expdp system/yada@yada1233*something @hostname:portnumber/servicename
schemas=soso directory=xyz dumpfile=mydump.dmp logfile=mylog.log
错误: UDE-12154:操作生成 oracle 错误 12154 ORA-12154:TNS: 无法解析指定的连接标识符
是的,我知道这看起来像是服务名称解析问题,但 tnsping 看起来不错并且能够解决我相信这与密码有关@我尝试将密码放在双引号中,将转义字符添加到特殊字符等,但没有工作任何指导都会很棒
我也尝试过没有特殊字符的用户,它工作正常
编辑:正如这里建议的那样,我尝试过但没有奏效,仍然抛出同样的错误
expdp system/'yada@yada1233*something' @hostname:portnumber/servicename
schemas=soso directory=xyz dumpfile=mydump.dmp logfile=mylog.log
expdpsystem/"yada@yada1233*something*"@hostname:portnumber/servicename schemas=soso directory=xyz dumpfile=mydump.dmp logfile=mylog.log
expdp system/\"yada@yada1233*something\" @hostname:portnumber/servicename
schemas=soso directory=xyz dumpfile=mydump.dmp logfile=mylog.log
expdp system/"yada\@yada1233\*something" @hostname:portnumber/servicename
schemas=soso directory=xyz dumpfile=mydump.dmp logfile=mylog.log
【问题讨论】:
-
@DmitryDemin OP声明“我已尝试将密码放在双引号中”。您确定该解决方案也适用于
EXPDP吗?如果您随后投票将其作为重复项关闭;如果您不是,那么 SQL/Plus 的解决方案可能不适用于EXPDP。 -
@GBA_Switch 请edit您的问题显示您尝试使用引号/转义字符的选项。你说它“不起作用”,但如果你把引号放在错误的地方,那可能就是原因。
-
您需要使用双引号并像这样保护特殊字符:\@
-
为什么要让自己扭曲以试图正确地逃避问题角色?只需更改密码,以便其中没有“@”。当您使用它时,请确保它也没有“$”或“%”,因为这些可能会导致 *nix 中的 shell 处理器或 Windblows 中的命令处理器出现问题。当您使用它时,请修改密码复杂性功能以首先禁止这些字符。
标签: oracle passwords oracle12c tnsnames