oracle权限管理(笔记)

 

登陆:

       普通用户登陆用户名/密码 例如: chai/chailiu

       管理员登陆:     用户名/密码 as sysdba

设置显示宽度:

       Set linesize 800;

******************************************************************************

创建表空间:

Create tablespace mytablespace      --表空间名

datafile ‘c:/oracle/mytablespace.dbf’  --指定存放路径

size 10m                                           –指定表空间大小

autoextend on;                                 --自动增长 

 

删除表空间(前提是表空间中无数据):

       drop tablespace mytablespace

创建用户并指定表空间:

Create user zhangsan            –创建用户

Identified by  123                --指定密码

Default tablespace mytablespace  --指定表空间

Temporary tablespace temp      --指定临时表空间

******************************************************************************

为角色赋予权限(管理员身份[sys])关键字(grant):

第一套(grant 权限 to 用户):

       --授予用户zhangsan取得session的权限

              Grant create session to zhangsan  

       --授予用户zhangsan创建表的权限,如果用户想要创建表必须取得此权限

Grant create table to zhangsan 

--授予用户ulimited tablespace权限:一个用户要想创建表,只拥有create table权限是不够的,还必须拥有使用表空间的权限

              Grant unlimited tablespace to zhangsan

第二套):

       --授予用户lisi取得连接的权限,拥有此权限就可以连接到数据库了

              Grant connect to lisi

      --授予用户lisi获得资源的权限,用户拥有此权限就可以使用表空间并且可以创建表

              Grant resource to lisi

角色权限收回,关键字(revoke)( (revoke 权限 from 用户):

       --撤销用户zhangsan创建表的权限

              Revoke create table from zhangsan

       --撤销用户zhangsan取得session的权限

              Revoke create session from zhangsan

级联删除,关键字(cascade):

       Drop user zhangsan cascade

      当对一个用户进行删除操作时,如果该用户使用了表空间,则不能直接删除,需要先删除当前用户所创建的所有表,然后才能删除当前用户;

 

用户间权限授予:

              --查询[其他用户][当前表字段]的操作权限

用户zhangsan创建tb_student

              create table tb_student(

stu_id int primary key,

stu_name varchar(20)

);

 

用户lisi创建tb_user

create table tb_user(

user_id int primary key,

user_name varchar(20)

);

授权操作(grant CRUD操作 on 表名 to 用户名)

撤销权限操作(revoke CRUD操作 on 表名 from 用户名)

       --用户zhangsan授予用户lisi插入值的权限

              Grant insert on tb_student to lisi;--对应操作àinsert into zhangsan.tb_student values(…);

       --用户zhangsan授予用户lisi查询表的权限

              Grant select on tb_student to lisi;--对应操作àselect * from zhangsan.tb_student;

--用户zhangsan授予用户lisi 删除表内容的权限

       Grant delete on tb_student to lisi;--对应操作àdelete from zhangsan.tb_student where stu_id=?

--用户zhangsan授予用户lisi修改表内容的权限

       Grant update on tb_student to lisi;-对应操作àupdater zhangsan.tb_student set stu_name=? where stu_id=?

 

权限的传递(系统权限)

Grant create session to 用户 with admin option:

权限的传递(用户权限)

Grant create session to 用户 with grant option;

当管理员授予给一个用户某个权限(执行如上语句),那么被授权的用户可以将此权限再传递给另一个用户(也可以使用如上语句进行无限往下传递)

 

角色的创建以及角色对用户的赋予:

       创建一个角色:

                     Create role manager ---创建一个经理角色

              为角色赋予权限:

                     Grant connect to manger

                     Grant resource to manger

       创建一个用户

                     Create user chailiu   --创建用户

identified by chailiu     --指定密码

default tablespace mytablespace; --分配表空间

       将角色授予用户

                     Grant manger to chailiu

 

表的复制(备份表,tb_user为模板创建一张同样的表)

Create table tb_user2 as select * from tb_user;

 

用户的锁定和解锁

Alter user 用户名 account lock;

Alter user 用户名 account unlock;

posted @ 2013-03-14 09:38  九果子  阅读(636)  评论(1编辑  收藏  举报