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_CLOCKto ryd_interface_src with grant option;
grant select on INVEST_LOGto 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 sysdateSTART_TIME
and sysdateSOLID_TIME
union
select a.doc_id,a.title,a.upload_date,a.branch_codefrom qlzq.cms_doc_single_attr@CLIENT_QLZQWEB a
leftjoin qlzq.cms_doc_category_map@CLIENT_QLZQWEB b on a.doc_id=b.doc_id
where
a.state =1 and a.is_delete =0
anda.upload_date sysdate-90
andb.cat_id=4;
create or replace view INVEST_CLOCK_VIEWS as
select*fromqlzqclient.INVEST_CLOCK;
create or replace view INVEST_LOG_VIEWS as
select*fromqlzqclient.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,
pxxh,
sfyxyxbz,
0scbz,
cjsjsjc,
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.pxxh,
b.sfyxyxbz,
0scbz,
b.cjsjsjc,
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
【oracle怎么授权视图 oracle如何授权】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如何授权的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- oracle删除所有表sql,oracle数据库删除表字段sql
- erp系统绑定商品,erp怎么添加店铺
- 英文直播技巧有哪些,英文直播技巧有哪些方面
- php数据比较 php 比较字符串
- sqlserver2005cmd的简单介绍
- 新式桌面游戏,新式桌面游戏怎么玩
- 网红七阿姨怎么没直播了,网红七阿姨多大了
- linux延迟跑命令 linux设置延迟关机
- 电商罗盘中如何选品,品类罗盘标题优化