Oracle 的 sqlplus 中 connect 命令和 imp/exp 程序对密码中包含特殊字符的处理是不一样的。如果找不到对应的方法就无法使用诸如 $ 这样的特殊字符。
如果是 sqlplus 的 connect 命令:
connect db_product/"~!@#$0%"@test
如果是直接给 sqlplus/imp/exp 密码参数:
sqlplus 'db_product/"~!@#$0%"@test';
imp 'db_product/"~!@#$0%"@test';
可以用如下密码进行测试:
什么,你的密码里面还有单引号和双引号?你可以去尝试反斜线转义,但是由此造成的一切头晕、眼花、吐血等后果与本人无关。