正文
oracle怎么授权视图 oracle如何授权
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
oracle给视图分配权限怎么解决
1.创建视图:grant create view to test_user2.只修改自己oracle怎么授权视图的视图oracle怎么授权视图,就不要把DBA等大权限给他,并且别oracle怎么授权视图的user创建的view不要赋修改权限给他这2点足以满足
如何实现Oracle中用户B只能访问用户A的视图
们有这样一个需求:在数据库中建立两个用户,用户A 用于创建一些视图,直接访问自己数据库中一个模式下的表,以及通过数据库链路访问其他数据库中的表;另一个用户B 能访问到这个用户A 中的视图,并且只能访问视图,且访问连接数有限制。
这个用户B 是用来给其他系统访问的,因此对权限和资源使用都需要有限制条件。
这种需求在很多行业的应用中都很常见。假如这是一道面试题,您该如何去回答呢?
我采用下面的方法来回答这个问题。
第一步,创建新用户A 和B 。
这里用户名称分别为ryd_interface_src 和ryd_interface ,对这两个用户都授予非常有限的权限。
drop user ryd_interface_src cascade;
create user ryd_interface_src identified by ryd_interface_src;
grant connect,create view to ryd_interface_src;
drop user ryd_interface cascade;
create user ryd_interface identified by ryd_interface;
grant connect,create synonym to ryd_interface;
第二步,登录数据库一个模式中,授权给用户A ,使得用户A 能创建视图
conn qlzqclient/qlzqclient
grant select on INVEST_CLOCK to ryd_interface_src with grant option;
grant select on INVEST_LOG to ryd_interface_src with grant option;
这里授权方法加了一个with grant option ,请注意。
第三步,登录数据库用户A 中,创建视图
conn ryd_interface_src/ryd_interface_src
create or replace view run_views as
select id as doc_id, title,fbsj as upload_date,'' as branch_code from qlzq.runs_lantern@CLIENT_QLZQWEB
where EXT1='1' and sysdate START_TIME
and sysdate SOLID_TIME
union
select a.doc_id,a.title,a.upload_date,a.branch_code from qlzq.cms_doc_single_attr@CLIENT_QLZQWEB a
left join qlzq.cms_doc_category_map@CLIENT_QLZQWEB b on a.doc_id=b.doc_id
where
a.state =1 and a.is_delete =0
and a.upload_date sysdate-90
and b.cat_id=4;
create or replace view INVEST_CLOCK_VIEWS as
select * from qlzqclient.INVEST_CLOCK;
create or replace view INVEST_LOG_VIEWS as
select * from qlzqclient.INVEST_LOG;
Oracle 授权另外一个用户拥有创建视图的权限
在另外一个用户登录的账号内输入这三条命令
grant create view to ds_leader;
grant select any table to ds_leader;
grant select any dictionary to ds_leader;
然后创建视图
create or replace view t_dm_ay as
select zdxbm bh,
zdxbm dm,
mc,
px xh,
sfyx yxbz,
0 scbz,
cjsj sjc,
KZSX0 jz,
KZSX1 qc,
fzdxid sjbh
from DSPORTAL.t_tyqx_ywzdx
where zddybm = 'BASIC_AY'
and fzdxid is null
union all
select b.zdxbm bh,
b.zdxbm dm,
b.mc,
b.px xh,
b.sfyx yxbz,
0 scbz,
b.cjsj sjc,
b.KZSX0 jz,
b.KZSX1 qc,
a.zdxbm sjbh
from (select zdxid, zdxbm, fzdxid, mc, px, sfyx, cjsj, KZSX0, KZSX1
from DSPORTAL.t_tyqx_ywzdx
where zddybm = 'BASIC_AY') a,
(select zdxid, zdxbm, fzdxid, mc, px, sfyx, cjsj, KZSX0, KZSX1
from DSPORTAL.t_tyqx_ywzdx
where zddybm = 'BASIC_AY') b
where a.zdxid = b.fzdxid;
oracle中创建一个用户,只能查看指定的视图,如何授权
create user A identified by Apassword,
grant connect to A
grant select on test to A
ORACLE中怎样赋予用户查询视图的权限
以sys或system或视图拥有者的身份 指令: grant select on 视图名 to 用户名。。。
同理 赋予 插入 更改 的权限 只要把 select 换成 insert 或update 就好了
Oracle创建只读用户,授予视图/同义词/会话权限
--创建用户 test,密码123456
create user test identified by 123456;
--授权登录
grant connect to test;
--授权同义词
grant create synonym to test;
--授权会话
grant create session to test;
--授权视图
grant create view to test;
--授权读取权限
(1)select 'grant select on '||owner||'.'||object_name||' to test;'
from dba_objects
where owner in ('USER1','USER2')
and object_type='TABLE';
---当(1)无效时使用(2)
select 'Grant all on '||table_name||'to 创建的用户 ;' from all_tables
where owner = upper('当前用户');
关于oracle怎么授权视图和oracle如何授权的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。