「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」。
三. 用户创建 (DCL)
在实际的应用中一般不会建立多个Oracle数据库,一般只建立一个,然后对这个数据库建立不同的用户,给每一个用户授予一定的权限,不同权限的用户只能进行对应的操作。
下面是我在实际开发中得出的一些Oracle用户创建的知识:
1. 用户类型
登录时可以选择的三种账户类型:sysdba,sysoper,normal
它们之间的区别:
| 账户 | 描述 | 功能 |
|---|---|---|
| sysdba | 数据库管理员 | 打开数据库服务器,关闭数据库服务器,备份数据库,恢复数据库,日志归档,会话限制,管理功能,创建数据库 |
| sysoper | 数据库操作员 | 打开数据库服务器,关闭数据库服务器, 备份数据库,恢复数据库,日志归档,会话限制 |
| normal | 普通用户 | 无任何权限(只有通过被授权之后才可以对数据库进行操作) |
2. 用户
2.1 默认解锁账户
| 用户名 | 密码 | 类型 | 描述 |
|---|---|---|---|
| sys | 安装时设置 | sysdba, sysoper | 级别最高的账户 |
| sysdba | 安装时设置 | sysdba | 级别最高的账户 |
| system | 安装时设置 | normal | 虽然是普通用户,但拥有dba角色 |
sysdba,sysoper,dba的区别:sysdba,sysoper不依赖于数据库系统的启动,因为它俩是可以启动和关闭数据库系统的。dba必须依赖于数据库系统,数据库工作正常了dba角色才有了存在的基础。
2.2 创建账户
2.2.1 创建用户
sql格式:
CREATE USER 用户名 IDENTIFIED BY 密码;
例如:CREATE USER nowashing IDENTIFIED BY yujinxiang;
创建了一个用户,用户名是nowashing密码是yujinxiang。
2.2.2 修改任意用 户的 密码
sql格式:
ALTER USER 用户名 IDENTIFIED BY 密码;
例如:ALERT USER scott IDENTIFIED BY tiger;
将scott的密码修改为tiger。
2.2.3 修改当前用 户的 密码
sql格式:
ALTER USER 用户名 IDENTIFIED BY 新密码 REPLACE 旧密码;
2.2.4 删除用户
sql格式:
DROP USER 用户名(CASCADE级联删除拥有对象)
例如:DROP USER nowashing;
删除掉nowashing这个用户,以及这个用户所拥有的所有的数据对象(权限,表,视图,存储过程……)。
2.2.5 查询所有用户
SELECT * FROM all_users;