(1)创建用户(sys用户下操作)
简单创建用户如下:
CREATE USER username IDENTIFIED BY password;
如果需要自定义更多的信息,如用户使用的表空间等,可以使用如下:
CREATE USER mall IDENTIFIED BY 123456
DEFAULT TABLESPACE MALLTABLESPACE
TEMPORARY TABLESPACE temp
QUOTA 100M ON MALLTABLESPACE
PROFILE DEFAULT
ACCOUNT UNLOCK;
1、mall:是用户名,自行替换
2、123456:是密码,自行替换
3、DEFAULT TABLESPACE MALLTABLESPACE:用户默认的表空间是MALLTABLESPACE,如果不设置,会使用数据库的默认表空间设置
4、TEMPORARY TABLESPACE temp:临时表空间为temp
5、QUOTA 100M ON MALLTABLESPACE:quota是限制用户在表空间的空间配额,比如MALLTABLESPACE的表空间的存储还有3g,但如果限额100m,那么用户使用了100m之后,就没有空间可存储了,即使表空间还有多余的空间。如果想给用户无限的授权:可以使用下面的sql修改:
alter user mall quota unlimited on malltablespace;
也可以查dba_ts_quotas看用户配额:MAX_BYTES为-1表示不限额
6、PROFILE DEFAULT:使用默认的资源限制配置文件
7、ACCOUNT UNLOCK:解锁用户账号,默认是解锁的
用户创建后通常需要额外的给用户授予一些权限(请遵循最小授权原则),请参见本篇章的第6点用户授权部分
(2)删除用户(sys用户)
DROP USER username CASCADE;
cascade:表示级联删除,即同时删除用户拥有的所有对象,如表、视图等
(3)查看用户信息
select * from dba_users;
ACCOUNT_STATUS:用户锁定状态,OPEN表示未锁定,LOCKED表示锁定;锁定状态时LOCK_DATA字段会记录锁定时间
DEFAULT_TABLESPACE:就是我们设置的用户默认表空间,用户建的表、索引、视图等都存储在此表空间下。
(4)更改用户
上面我们已经给出了更改quota的sql,更改用户的sql基本都是以alter user username 开头,以下给出几个常见的sql:
--更改密码
ALTER USER username IDENTIFIED BY new_password;
-- 更改默认表空间
ALTER USER username DEFAULT TABLESPACE new_tablespace;
-- 更改临时表空间
ALTER USER username TEMPORARY TABLESPACE new_temp_tablespace;
-- 更改用户角色
ALTER USER username GRANT role TO username;
-- 撤销用户角色
ALTER USER username REVOKE role FROM username;
(5)用户的锁定与解锁(sys用户)
锁定MALL用户:用户锁定后,用户将不能再对数据库进行任何操作
ALTER USER MALL ACCOUNT LOCK;
解锁MALL用户:
ALTER USER MALL ACCOUNT UNLOCK;
(6)用户授权
用户的授权基本语法为:
GRANT privilege TO username;
如:
1、授予用户建表权限
GRANT CREATE TABLE TO 用户名;
2、授予用户创建会话的权限
grant create session to 用户名;
3、将用户SCOTT下的USR_INFO表的查询权限给MALL
GRANT SELECT ON SCOTT.USR_INFO TO MALL;
4、当然我们也可以把所有的权限都给它(当然除非它确实需要,否则不建议):
GRANT ALL PRIVILEGES TO MALL;