数据库用户管理
1. 创建用户
a) 语法
可以使用CREATE USER语句创建用户
语法如下
CREATE USER user_name IDENTIFIED BY password
[DEFAULT TABLESPACE default_tablespace]
[TEMPORARY TABLESPACE temporary_tablespace];
说明
user_name:创建的用户名
password:用户密码
default_tablespace:用户的默认表空间,用于储存数据库对象。如果忽略此参数,则默认存储到SYSTEM表空间
temporary_tablespace:是临时对象默认存储的表空间,包括临时表。如果忽略此参数,则默认存储到SYSTEM表空间
b) 案例
创建jason用户
CREATE USER jason IDENTIFIED BY price;
创建用户,指定默认表空间和临时表空间
CREATE USER henry IDENTIFIED BY hooray
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
2. 给用户授权
a) 如果想让用户在数据库里完成一些任务,需要相应的给用户授予权限
i. 如果想让用户连接到数据库,必须授予用户CREATE SESSION的系统权限。
ii. 授权必须通过一些特殊用户授权(例如SYSTEM),通过GRANT语句来完成
iii. 例如,给用户jason授予CREATE SESSION的权利
GRANT CREATE SESSION TO jason;
b) 下面再创建几个用户,以便后面使用
i. CREATE USER steve IDENTIFIED BY button;
ii. CREATE USER gail IDENTIFIED BY seymour;
iii. GRANT CREATE SESSION TO steve, gail;
3. 修改用户密码
a) 可以使用ALTER USER语句修改用户密码
i. 例如,修改用户jason密码为marcus
ALTER USER jason IDENTIFIED BY marcus;
b) 可以通过PASSWORD命令修改当前登录用户的密码
i. 例如,jason用户登录之后,使用PASSWORD修改密码
CONN jason/marcus
PASSWORD
4. 查询用户
a) 在Oracle数据库中,可以通过DBA_USERS查询出包含与用户和用户特征相关的信息
b) DBA_USERS包含用户名、加密的密码、账户状态以及默认的表空间
c) 例如
SELECT username,user_id,password,default_tablespace
FROM dba_users;
5. 删除用户
a) 可以使用DROP USER语句对用户进行删除操作
i. 例如,删除jason用户
DROP USER jason;
注意事项
在删除用户时,如果用户架构包含对象(如,表),那么在删除用户的时候可以在DROP USER语句的用户名后面使用CASCADE关键字进行级联删除。但是需要注意是的是,要确保用户中的这些对象没有其他用户还需要访问。