有时候密码包含了@等特殊字符导致disql或者是逻辑备份(dexp/dimp)无法直接连接和运行。需要通过转义符来处理。
disql转义符使用如下:
- –在windows下,需要使用双引号将密码包含进来,同时对双引号使用\进行转移,具体例子如下:
disql SYSDBA/\"abcd@efgh\"@localhost
- –linux下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转移,具体例子如下:
disql SYSDBA/'"abcd@efgh"'@localhost
逻辑备份(dexp/dimp)转义符使用如下:
转义符逻辑如下密码为 aaa/aaa,首先,dexp要求对含有特殊字符的密码内部进行转义(外加一层双引号),写成"aaa/aaa"。其次,要将转义后的内容作为一个整体传给dexp(外加一层双引号),写成"“aaa/aaa”"。最后,整个内容需要作为一个整体传给操作系统(外加一层双引号),因此写成""“aaa/aaa”""
例如,使用上面的规则举例,密码为 SYSDBA/,@.:,端口号为 5236 的本地服务器,USERID 可写成如下所示:
dexp SYSDBA/"""SYSDBA/,@.:"""@LOCALHOST:5236