1、开启Oracle监听
C:\Users\Administrator>lsnrctl start
2、启用Oracle实例
C:\Users\Administrator>oradmin -starup -sid orcl
3、用超级管理员身份登陆进去
C:\Users\Administrator>sqlplus / as sysdba//用超级管理员身份登陆进去
出现以下界面表示登陆成功
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus:Release 11.2.0.2.0 Production on 星期六 10月 27 10:58:03 2012
Copyrigth(c) 1982, 2010,Oracle. All rights reserved.
连接到:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
SQL>show user;
USER为"SYS"
SQL>
4、用管理员身份创建一个普通用户
SQL>create user lisi;
create user lisi
*
第一行出现错误:
ORA-01938:必须为 CREATE USER 指定 IDENTIFIED BY
提示错误原因是创建lisi用户时没有设置密码,identified为密码的意思。
创建一个用户名为lisi,密码为lisi的用户:
SQL>create user lisi identified by lisi;
用户已创建。
SQL>
5、使用用户lisi进行登录
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus:Release 11.2.0.2.0 Production on 星期六 10月 27 11:27:03 2012
Copyrigth(c) 1982, 2010,Oracle. All rights reserved.
ERROR:
ORA-01045:user LISI lacks CREATE SESSION privilege; logon denied
请输入用户名:
出现以上提示信息:用户lisi没有创建session的权限,登录被决绝了。意思是虽然存在lisi这个用户,但是lisi这个用户没有登录会话这个权限。所以必须要管理员给lisi这个用户授权,lisi这个用户才有登录会话的权限。
6、用超级管理员给lisi用户授予create session的权限
SQL>grant create session to lisi;
授权成功。
grant为Oracle权限中的关键字
7、再用lisi用户登陆一次
C:\Users\Administrator>sqlplus / as sysdba
SQL*Plus:Release 11.2.0.2.0 Production on 星期六 10月 27 11:27:03 2012
Copyrigth(c) 1982, 2010,Oracle. All rights reserved.
连接到:
Oracle Database 11g Express Edition Release 11.2.0.2.0 -Production
SQL>
出现以上提示则表示登陆成功。
8、用lisi用户创建数据表
SQL>create table mytable (id int);
create table mytable (id int)
*
第一行出现错误:
ORA-01031:权限不足
出现以上提示,表示用户lisi没有创建表的权限。
9、管理员授予lisi创建表的权限
SQL>grant create table to lisi;
授权成功。
10、再用lisi用户创建表
SQL>create table mytable (id int);
create table mytable (id int)
*
第一行出现错误:
ORA-01031:对表空间 ‘SYSTEM’ 无权限
用户lisi有创建表的权限,没有使用表空间的权限,最终还是创建不了表,这就好比你有我房间的钥匙,但是没有我家大门的钥匙,你最终还是进不了我的房间。
11、管理员授予lisi用户不受上限表空间的使用权限,也就是说给予lisi用户不受限制使用表空间的权限
SQL>grant unlimited tablespaceto lisi;
授权成功。
12、再用lisi用户创建表
SQL>create table mytable (id int);
表已创建。
出现以上提示表示创建表成功。
13、向表mytable插入一列数据
SQL>insert into mytable values (1);
已创建1行。
14、查询刚才数据
SQL>select*from mytable;
ID
-------------------
1
15、删除mytable表
SQL>drop table mytable;
表已删除。
当一个用户有使用表空间的权限,就有创建表的权限,那么这个表就属于当前用户的,用户就可以对这个表有增、删、该、查、删除表操作的权限,就不需要对这个表再授权了。
16、管理员撤销list用户的创表权限
SQL>revoke create table from lisi;
撤销成功。
17、查看当前lisi用户拥有哪些系统权限
SQL>select*from user_sys_privs;
USERNAME PRIVILEGE ADMIN
------------------------------------------------------------------------
LISI CREATE SESSIONNO
LISI UNLIMITED TABLESPACE NO
-----------------------------------------------------------------------
SQL>
以上提示信息表示:lisi用户拥有创建session和无限制使用表空间的权限。
18、管理员撤销lisi用户不受限制使用表的权限
SQL>revoke unlimited tablespace from lisi;
撤销成功。