1 /**
2 * Project Name : Oracle_Database_11g_Study_Notes
3 * File Name : 2.User_Management.sql
4 * Author : Alex刺客
5 * Date : June 21,2010
6 */
7
8 一.創建用戶
9
10 /*創建用戶語法*/
11 CREATE USER user_name IDENTIFIED BY password
12 [DEFAULT TABLESPACE def_tabspace]
13 [TEMPORARY TABLESPACE temp_tabspace];
14
15 1.user_name 用戶名
16 2.password 密碼
17 3.def_tabspace 指定存儲對象使用的默認表空間,如果忽略默認使用users表空間
18 4.temp_tabspace 指定臨時存儲對象使用的默認表空間,如果忽略默認使用temp表空間
19
20 /*以DBA(system)登錄sqlplus*/
21 [oracle@localhost ~]$ sqlplus system/123456
22
23 CREATE USER alexassassin IDENTIFIED BY 123456;
24
25 /*除用戶名以外此SQL語句執行結果結沒什么不同因為默認指定的表空間就是users,臨時表空間就是temp*/
26 CREATE USER alexninjia IDENTIFIED BY 123456
27 DEFAULT TABLESPACE users
28 TEMPORARY TABLESPACE temp;
29
30 二.授予用戶權限
31
32 GRANT [角色 | 系統權限] to user_name1, user_name2;
33
34 /*把創建會話系統權限授予alexassassin*/
35 GRANT CREATE SESSION TO alexassassin;
36 現在就可以用alexassassin用戶連接數據庫了
37
38 去EM上看看
39 
40
41 /*平常我都開發的時候都授權這兩個角色*/
42 GRANT CONNECT, RESOURCE TO alexninjia;
43
44 
45
46 /*以下是兩個角色的系統權限*/
47 CONNECT 角色: -- 是授予最終用戶的典型權利,最基本的
48 CREATE SESSION -- 建立會話
49
50 RESOURCE 角色: -- 是授予開發人員的
51 CREATE CLUSTER -- 建立聚簇
52 CREATE INDEXTYPE -- 創建索引類型
53 CREATE OPERATOR -- 創建操作者
54 CREATE PROCEDURE -- 建立過程
55 CREATE SEQUENCE -- 建立序列
56 CREATE TABLE -- 創建表
57 CREATE TRIGGER -- 建立觸發器
58 CREATE TYPE -- 建立類型
59
60 UNLIMITED TABLESPACE -- 再送上一個無限制的表空間系統權限^_^
61
62 三.修改用戶密碼
63
64 -- DBA修改低權限用戶密碼
65 ALTER USER alexninjia IDENTIFIED BY alex;
66
67 -- 修改當前用戶密碼
68 PASSWORD
69
70 四.刪除用戶
71
72 -- 以DBA登錄執行
73 DROP USER user_name;
74 DROP USER user_name CASCADE; -- 刪除此用戶跟此用戶創建的所有對象(函數,過程,表,觸發器,序列,等等....)