CREATE USER 用戶名 IDENTIFIED BY 密碼
DEFAULT TABLESPACE 表空間
TEMPORARY TABLESPACE 臨時表空間
QUOTA 空間配額大小 ON 表空間
PASSWORD EXPIRE
ACCOUNT LOCK | UNLOCK
除了用戶名和密碼,其它可選
建議一個用戶對應一個單獨的表空間
修改用戶
-- DBA指定用戶名和密碼
ALTER USER 用戶名 IDENTIFIED BY 新密碼;
-- 當前用戶修改自己的密碼
PASSWORD 用戶名;
-- 鎖定用戶
ALTER USER 用戶名 ACCOUNT LOCK;
-- 修改用戶默認表空間、臨時表空間、配額無限制
ALTER USER 用戶名 DEFAULT TABLESPACE 新表空間名 TEMPORARY TABLESPACE 新臨時表空間名 QUOTA UNLIMITED ON 新表空間名;
刪除用戶
DROP USER 用戶名;
-- 級聯刪除相關數據對象
DROP USER 用戶名 CASCADE;
查詢用戶
-- 查看有哪些用戶及其默認表空間
select username,default_tablespace from dba_users;
-- 查看表空間有哪些用戶
select distinct owner,tablespace_name from dba_segments;
-- 查詢表空間對應的數據文件,用戶和表空間對應關系
select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by file_id;
授權
-- WITH ADMIN OPTION使用戶可以再授權
grant 權限1,權限2, ... TO 用戶1,用戶2, ... [WITH ADMIN OPTION];
-- 指定對象
GRANT 對象權限1,對象權限2, ... ON 對象 TO 用戶1,用戶2, ... [WITH ADMIN OPTION];
撤銷授權
REVOKE 權限1,權限2, ... FROM 用戶1, 用戶2, ...
-- 指定對象
REVOKE 對象權限1,對象權限2, ... ON 對象 FROM 用戶1,用戶2, ... [WITH ADMIN OPTION];
-- 收回所有權限
REVOKE ALL ON 對象 FROM 用戶名;
查看授權
-- 查詢用戶的系統權限
select username,privilege,admin_option from user_sys_privs;
-- 查詢用戶具有的對象權限
select grantee,privilege,grantor,table_name,grantable from dba_tab_privs where grantee='user1';
-- 查看所有角色
select role from dba_roles;
-- 查看用戶所擁有的角色和默認角色
select granted_role,default_role from dba_role_privs where grantee='user_name';
-- 查看指定角色擁有的系統權限
select privilege,admin_option from role_sys_privs where role='role_name';