Oracle数据库的应用,用户的创建

170 阅读2分钟

「这是我参与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;