安装Oracle 19c未提示设置账号密码 如何登录sqlplus
Oracle 19c 安装后未设置密码无法登录sqlplus 解决方法
Oracle 19c 典型/桌面模式安装时不会弹出交互提示要求设置内置用户密码,默认启用本地操作系统认证规则,属于安装流程的默认设计,不是安装异常。按以下步骤操作即可正常登录:
1. 切换到具备dba权限的操作系统用户
- Linux/Unix环境:直接切换到Oracle安装时创建的专属
oracle用户,执行命令:
su - oracle
- Windows环境:直接使用安装Oracle时所用的Windows本地管理员账号打开命令提示符/ PowerShell即可,不需要额外切换用户。
校验规则:只有属于操作系统
dba用户组(Windows下为ORA_DBA组)的账号,才能走本地免密认证通道登录数据库。
2. 通过操作系统认证免密登录sqlplus
在对应账号的命令行窗口执行以下命令,不需要输入任何密码即可直接进入sqlplus命令行:
sqlplus / as sysdba
之前尝试登录被要求输入密码,是因为登录时未使用
/ as sysdba的本地认证语法,触发了密码文件/数据库密码校验逻辑,而此时内置用户未设置自定义密码,自然无法通过校验。
3. 重置内置sys、system用户密码
成功进入sqlplus后,依次执行以下SQL语句为sys、system用户设置自定义密码:
-- 设置SYS用户密码 ALTER USER sys IDENTIFIED BY 你的自定义密码; -- 设置SYSTEM用户密码 ALTER USER system IDENTIFIED BY 你的自定义密码;
语句执行返回User altered.即代表密码修改生效。
4. 登录验证
密码设置完成后,后续可直接通过用户名+密码的方式正常登录,示例:
-- SYS用户登录(必须带as sysdba后缀) sqlplus sys/你设置的自定义密码 as sysdba -- SYSTEM用户登录 sqlplus system/你设置的自定义密码
常见异常排查
- 若执行
sqlplus / as sysdba提示权限不足:Linux环境执行id oracle确认oracle用户是否属于dba组,不存在则用root执行usermod -aG dba oracle后重新切换用户重试;Windows环境确认当前登录账号是否在ORA_DBA本地组内,不在则手动加入后重启命令窗口重试。 - 若Windows环境加组后仍无法免密登录:找到Oracle安装目录下
network/admin/sqlnet.ora文件,确认配置项SQLNET.AUTHENTICATION_SERVICES= (NTS)存在,缺失则手动追加后保存重试。 - Oracle 19c不存在通用默认内置密码,不要反复尝试网上流传的旧版本默认密码,无效。
内容的提问来源于stack exchange,提问作者Brwells
相关产品推荐
相关产品推荐

