登录 oracle 数据库有两种方式:
1、使用 用户名和角色 登录:
oracle 安装成功以后,默认会生成一个 超级管理员用户,超级管理员具有最高权限,可以直接登录 oracle;
超级管理员的用户名为 sys,角色为 dba;
以超级管理员的 用户名和角色 登录 oracle 不需要密码,如下所示:
注意:
sqlplus 是 oracle 自带的一个客户端 DOS 界面工具,该工具可以连接到某个数据库的实例上。
斜杠(/)左右两边是用来写 用户名和密码的,由于以 超级管理员 登录不需要密码,所以 / 两边为空,但是 / 必须要写。
sysdba 是超级管理员的 用户名(sys) 和 角色(dba) 合并在一起形成的。
2、使用 用户名和密码 登录:
在上一篇文章 oracle学习笔记(二):安装 oracle 中,第18步 “方案口令” 设置了一个密码(root),如下所示:
因为是学习所用,所以我是对所有账户设置了相同的密码。
此时,我们就可以通过 用户名和密码 来登录 oracle 了,如下所示:system 是用户名,root 是密码。
有一个问题:
按照上面设置的密码来看,超级管理员用户 sys 的密码应该也是 root,但是我以超级管理员用户名和密码登录却报错:
我把 超级管理员用户名写成 sysdba,还是报错:
目前还不知道是什么原因,不知道 超级管理员 的密码是多少;或者能不能以 超级管理员用户名和密码登录。
但是以 超级管理员用户名和角色 是可以正常登录的。
解锁普通用户:
除了管理员用户以外,oracle 还提供了很多普通用户,只不过普通用户默认情况下都是锁定的,不能用来登录数据库;
可以通过管理员用户 对这些普通用户进行解锁,如下所示:
注意:
scott 是 oracle 内置的普通用户,在 1 ~ 11g 的版本有,但是从 12c 以后就没有了。
sql 语句:alter user scott account unlock; 表示对 scott 用户解锁;
sql 语句:alter user scott identified by tiger; 表示为 scott 用户设置密码(tiger)
如果忘记了 scott 用户密码,可以通过 alter user scott identified by 新密码; 重新设置密码
(管理员不需要知道普通用户的原密码,就可以直接设置新密码)
下面,我们就可以通过 scott 的用户名和密码登录 oracle 了,如下所示:
普通用户修改密码:
超级管理员 修改 普通用户的密码,不需要知道原密码,可以直接修改;
但是普通用户自己修改自己的密码,就需要知道原密码了;使用 password关键字 修改密码 如下所示:
其中 show user; 语句用来查看当前连接的 用户;
password 为修改密码的指令:输入密码时是不显示的,直接输入即可。
更改连接的用户:
在已经连接的状态下,可以通过 conn 关键字更改连接的用户,如下所示: