Oracle 用戶管理
阿新 • • 發佈:2017-11-04
es2017 unlock from 訪問權限 改密碼 sqlplus 功能 pan 上一個
在 Oracle 中可以對用戶進行建立及授權的操作。
- 創建用戶的語法:
CREATE USER 用戶名 IDENTIFIED BY 密碼 ;
範例:創建一個 test 用戶,密碼是 test123
CREATE USER test IDENTIFIED BY test123 ;
如果要想創建用戶,則首先應該使用管理員進行登陸,創建用戶之後,開啟一個新的 sqlplusw 窗口,並使用此用戶進行登陸,出現以下的錯誤提示:
提示 test 用戶沒有創建 session 的操作權限,沒有 session 的權限就意味著無法登陸。
- 為用戶授權可以使用如下的格式:
GRANT 權限 1,權限 2,... TO 用戶
範例:將創建 SESSION 的權限給 test 用戶
GRANT CREATE SESSION TO test ;
再使用 test 用戶進行連接,就可以連接上數據庫,就表示創建了一個 SESSION。
範例:建立 tab 表
CREATE TABLE tab( id NUMBER PRIMARY KEY NOT NULL , name VARCHAR2(30) ) ;
實際上一個新的用戶所有的權限都要分別賦予,如果現在假設要想把多個權限一次性賦予一個用戶,可以將這些權限定義成一組角色。
- 在 Oracle 中提供了兩個主要角色:CONNECT、RESOURCE,可以直接把這兩個角色賦予 test 用戶
GRANT CONNECT,RESOURCE TO test ;
- 修改一個用戶的密碼,格式如下:
ALTER USER 用戶名 IDENTIFIYED BY 密碼
- 在一般的系統中存在,在用戶第一次登陸的時候可以修改密碼,所以要想完成此功能,可以手工讓一個密碼失效,格式如下:
ALTER USER 用戶名 PASSWORD EXPIRE ;
- 鎖定用戶:
ALTER USER 用戶名 ACCOUNT LOCK ;
- 解鎖用戶:
ALTER USER 用戶名 ACCOUNT UNLOCK ;
要訪問其他用戶的表,需要授予此張表的訪問權限。
範例:將 scott 用戶下的 emp 表的查詢及刪除權限給 test 用戶
GRANT SELECT,DELETE ON scott.emp TO test ;
回收權限使用 REVOKE 語法:
REVOKE 權限 ON 用戶.表名稱 FROM 用戶 ;
範例:回收 test 用戶的 SELECT 及 DELETE 權限
REVOKE SELECT,DELETE ON scott.emp FROM test ;
Oracle 用戶管理