Oracle 21c XE(Windows11):SQLPlus含@字符密码的连接问题
Windows 11下Oracle 21c XE含@密码的连接问题解决办法
问题原因解析
- ORA-12154错误:SQLPlus中
@是连接标识符(如TNS别名)的分隔符,密码里的@会被系统误解析为连接标识符的起始,导致无法识别正确的TNS配置。 - ORA-28009错误:SYS是Oracle超级管理员用户,连接时必须显式指定
SYSDBA或SYSOPER权限,否则会触发权限验证错误。
具体解决步骤
1. 普通用户(非SYS/SYSTEM)带@密码连接
直接用双引号包裹密码,同时指定连接标识符即可:
connect 用户名/"带@的密码"@xe
示例:
connect scott/"xxxxxa@"@xe
2. SYS用户带@密码连接
必须在命令末尾加上as sysdba或as sysoper,同时用双引号包裹密码:
connect sys/"带@的密码"@xe as sysdba
示例:
connect sys/"123456a@"@xe as sysdba
3. 交互模式连接(避免命令行转义问题)
如果觉得命令行转义麻烦,可以先进入无登录模式,再通过交互输入密码:
- 打开命令提示符,执行:
sqlplus /nolog
- 在SQLPlus交互界面中执行连接命令(无需包裹密码):
connect sys@xe
- 当提示输入密码时,直接输入带
@的密码即可。
内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ
相关产品推荐
相关产品推荐

