1 概述
又想不起数据库密码了
→_→
-- 查询 数据库中所有的用户:
select * from dba_users t order by t.expiry_date desc;
-- 若 非 sys、system 用户,则以 system 用户登录,执行下列修改密码命令
-- 若 是 system 用户,继续往下看
alter user <username> identified by <password>;
默认用户名/密码:
用户名 | 密码 |
---|---|
sys | change_on_install |
system | manager |
scott | tiger |
2 修改密码
步骤:
1. 打开运行窗口: win + r, 输入 cmd
2. 输入: sqlplus /nolog (无日志登录,避免密码泄露,请注意 /nolog 之间不能留空格)
3. 输入: conn / as sysdba (无用户、密码,最高权限登录. 若报错,见下列解决办法)
4. 修改密码: alter user scott identified by scott;
-- 修改 账户 scott 的密码为 scott
-- 注意 修改你自己的哦
操作截图:
注意项:
- 上述操作能够更改 任何 登录用户的密码,包括
sys
和system
- 一般来说,建议使用
sys
或system
登录,来修改其它登录用户的密码
3 可能遇到的问题
3.1 conn / as sysdba 权限不足
报错截图:
原理解析:
Oracle 数据库有三种登录验证方式
(1) 操作系统身份认证, 如: conn / as sysdba
(2) 数据库认证, 如: username/password@db
(3) 密码文件认证, 如: $ORACLE_HOME/network/admin/sqlnet.ora
-- 比较麻烦,了解即可
原理('操作系统身份认证'):
(1) 当电脑开机时登录的用户,如 "Administrator",
若它在你电脑的 "ora_dba" 组中,可以在 "我的电脑" 点击右键,
找到 "管理",选择 "本地用户和组", 发现有一个组叫 "ora_dba",
双击它,看到成员列表中有 "Administrator"(也就是可以用 conn / as sysdba),
(2) Oracle 会进行操作系统验证,发现你当前登录的用户就属于 "ora_dba" 组,因此才登录成功,
(3) 你也可以吧 "ora_dba" 组中的 "Administrator" 用户删除,
再执行命令 conn / as sysdba, 就发现进不去了
解决办法:
我的电脑 -> 管理 -> 本地用户和组
:查看当前用户是否在 ora_dba 组 中