You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle 21c XE遇ORA-01017无效用户名/密码问题求助

解决Oracle 21c XE ORA-01017 用户名/密码无效问题

Oracle 18c和21c XE的核心认证逻辑差异不大,这个错误大概率不是版本直接导致的,按以下步骤排查:

  • 检查用户名和密码的大小写敏感性
    Oracle 12c及以后默认开启密码大小写敏感,若你用小写密码创建用户,或输入时未区分大小写,会触发该错误。可先尝试大写输入密码,或用DBA权限用户(如SYS、SYSTEM)登录后修改用户密码为大小写不敏感:

    ALTER USER your_username IDENTIFIED BY "your_password" CASE INSENSITIVE;
    
  • 确认用户是否被锁定或过期
    用DBA用户登录后执行命令检查用户状态:

    SELECT username, account_status, lock_date FROM dba_users WHERE username = 'YOUR_USERNAME';
    

    若状态为LOCKED或EXPIRED,执行以下命令解锁并重置密码:

    ALTER USER your_username ACCOUNT UNLOCK;
    ALTER USER your_username IDENTIFIED BY new_password;
    
  • 检查连接字符串格式
    Oracle 21c XE默认服务名为XE,确保连接字符串正确。SQL*Plus连接的正确格式为:

    sqlplus username/password@localhost:1521/XE
    

    省略服务名可能导致连接到错误实例,引发认证失败。

  • 验证SYSTEM/SYS用户登录状态
    若初始安装时设置的SYSTEM或SYS用户也无法登录,说明安装时密码设置存在问题,需重置SYS密码:

    1. 停止Oracle服务(Windows在服务列表中找到OracleServiceXE;Linux执行systemctl stop oracle-xe-21c)
    2. 启动实例到mount状态并重置密码:
      sqlplus /nolog
      CONNECT / AS SYSDBA;
      STARTUP MOUNT;
      ALTER SYSTEM ENABLE RESTRICTED SESSION;
      ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE;
      ALTER USER SYS IDENTIFIED BY new_password;
      ALTER USER SYSTEM IDENTIFIED BY new_password;
      ALTER DATABASE OPEN;
      
    3. 重启Oracle服务。
  • 排查用户名拼写问题
    Oracle用户名默认以大写存储,若创建用户时用小写但未加双引号,实际存储为大写。例如执行CREATE USER test IDENTIFIED BY test;,实际用户名为TEST,登录时输入test会报错,需输入TEST或用双引号括起:"test"。

内容的提问来源于stack exchange,提问作者NewbDataME

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 14:44:57