Oracle数据库系统权限管理

一、开启Oracle监听 sql

C:\Users\Administrator>lsnrctl start session

二、启用Oracle实例 ide

C:\Users\Administrator>oradmin -starup -sid orcl spa

3、用超级管理员身份登录进去 it

C:\Users\Administrator>sqlplus / as sysdba             //用超级管理员身份登录进去 io

出现如下界面表示登录成功 table

C:\Users\Administrator>sqlplus / as sysdba class

SQL*Plus:Release 11.2.0.2.0 Production on 星期六 10月 27 10:58:03 2012 登录

Copyrigth(c) 1982, 2010,Oracle. All rights reserved. select

链接到:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production

SQL>show user;

USER为"SYS"

SQL>

四、用管理员身份建立一个普通用户

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> 

五、使用用户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;

受权成功。

grantOracle权限中的关键字

七、再用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>

 

出现以上提示则表示登录成功。

八、lisi用户建立数据表

SQL>create table mytable (id int);

create table mytable (id int)

*

第一行出现错误:

ORA-01031:权限不足

出现以上提示,表示用户lisi没有建立表的权限。

九、管理员授予lisi建立表的权限

SQL>grant create table to lisi;

受权成功。

十、再用lisi用户建立表

 

SQL>create table mytable (id int);

create table mytable (id int)

*

第一行出现错误:

ORA-01031:对表空间 ‘SYSTEM’ 无权限

 

用户lisi有建立表的权限,没有使用表空间的权限,最终仍是建立不了表,这就比如你有我房间的钥匙,可是没有我家大门的钥匙,你最终仍是进不了个人房间。

十一、管理员授予lisi用户不受上限表空间的使用权限,也就是说给予lisi用户不受限制使用表空间的权限

 

SQL>grant unlimited tablespace  to lisi;

受权成功。

 

十二、再用lisi用户建立表

SQL>create table mytable (id int);

表已建立。

出现以上提示表示建立表成功。

1三、向表mytable插入一列数据

SQL>insert into mytable values (1);

已建立1行。

1四、查询刚才数据

SQL>select*from mytable;

                  ID

-------------------

                   1

1五、删除mytable

SQL>drop table mytable;

表已删除。

当一个用户有使用表空间的权限,就有建立表的权限,那么这个表就属于当前用户的,用户就能够对这个表有增、删、该、查、删除表操做的权限,就不须要对这个表再受权了。

1六、管理员撤销list用户的创表权限

SQL>revoke create table from lisi;

撤销成功。

1七、查看当前lisi用户拥有哪些系统权限

SQL>select*from user_sys_privs;

USERNAME               PRIVILEGE                        ADMIN

------------------------------------------------------------------------

LISI                         CREATE SESSION                NO

LISI                         UNLIMITED TABLESPACE     NO

-----------------------------------------------------------------------

SQL>

以上提示信息表示:lisi用户拥有建立session和无限制使用表空间的权限。

1八、管理员撤销lisi用户不受限制使用表的权限

SQL>revoke unlimited tablespace from lisi;

撤销成功。

相关文章
相关标签/搜索