1、创建用户
CREATED USER user_name IDENTIFIED BY password
[DEFAULT TABLESPACE default_tablespace ]
[TEMPORARY TABLESPACE temporary_tablespace ];
user_name:用户名
password:密码
default_tablespace:存储数据库对象使用的默认表空间。如果忽略默认表空间,则默认使用system表空间。
temporary_tablespace:保存临时对象所使用的默认表空间。若忽略,则使用system表空间。
2、修改用户密码
ALTER USER user_name IDENTIFIED BY password;
3、删除用户
DROP USER user_name;
4、给用户授权
- 系统特权
系统特权 | 允许执行的操作 |
CREATE SESSION | 连接到数据库上 |
CREATE SEQUENCE | 创建序列 |
CREATE SYNONYM | 创建同名对象 |
CREATE TABLE | 在用户模式中创建表 |
CREATE ANY TABLE | 在任何模式中创建表 |
DROP TABLE | 删除用户模式中的表 |
DROP ANY TABLE | 删除任何模式中的表 |
CRATE PROCEDURE | 创建存储过程 |
EXECUTE ANY PROCEDURE | 执行任何模式中的存储过程 |
CREATE USER | 创建用户 |
DROP USER | 删除用户 |
CREATE VIEW | 创建视图 |
给用户授予系统特权:
GRANT create user TO user_name;
查询授予用户的系统特权:
SELECT * FROM user_sys_privs;
撤销用户的系统特权:
REVOKE CREATE TABLE FROM user_name;
- 对象特权
常用对象特权:SELECT INSERT UPDATE DELETE EXECUTE
给用户授予对象特权:
GRANT SELECT ON table_name TO user_name;
查询已授予的对象特权:
SELECT * FROM user_tab_privs_made where table_name='users';
查询用户被授予的对象特权:
SELECT *FROM user_tab_privs_recd;
撤销用户的对象特权:
REVOKE INSERT ON users FROM user_name;
5、角色
创建角色:
CREATE ROLE role_name;
为角色授权:
GRANT SELECT ON employees TO role_name;
将角色授予用户:
GRANT role_name TO user_name;
查询授予用户的角色:
SELECT * FROM user_role_privs;
查询授予角色的系统特权:
SELECT * FROM role_sys_privs;
查询授予角色的对象特权:
SELECT * FROM role_tab_privs WHERE role='role_name';
撤销角色:
REVOKE role_name FROM user_name;
从角色中撤销特权:
REVOKE ALL ON table_name FROM role_name;
删除角色:
DROP ROLE role_name;