导航

oracle 建立视图,创建用户并授予查询权限

Posted on 2015-06-01 11:31  寒宵飞飞  阅读(10184)  评论(0编辑  收藏  举报

一、需求

数据库有个表car,需要为这个表建立一个视图view_car,并新建一个用户user01,赋予查询这个视图的权限

 

二、实施步骤

1、以管理员clgl登陆数据库,新建视图view_car:

create or replace view view_car as select * from CAR;

2、新建用户user01

create user user01
identified by "123456";

3、授予用户user01权限

grant select on view_car_runtime_b to user01;    //查询视图权限
grant connect to user01;                                   //连接数据库权限
grant create synonym to user01;                        //新建同义词权限

4、以用户user01登陆数据库,可以访问到视图view_car的信息

select * from clgl.view_car;      //查询视图view_car的信息,由于每次都需要加上用户前缀clgl.,十分不方便,因此设置一个同义词方便查询

5、为视图clgl.view_car新建一个别名car

create synonym car for clgl.view_car;    //设置clgl.view_car的别名为car

select * from car;    //用户可以直接输入car查询数据

6、以clgl登陆数据库,设置用户user01的允许访问会话数

alter system set resource_limit=true scope=both sid='*';     //使用resource_limit及profile限制用户连接
create profile user01_profile limit SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS unlimited;   //新建一个user profile:user01_profile 
alter user user01 profile user01_profile;    //更改用户user01的profile为user01_profile
alter profile user01_profile limit SESSIONS_PER_USER 2;  //限定用户user01的连接数为2

当user01的访问连接数超过三个时,会提示错误:ora-02391:exceeded simultaneous sessions_per_user limit