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; -- 删除此用户跟此用户创建的所有对象(函数,过程,表,触发器,序列,等等....)