问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

ORACLE授权用户查询另一个用户下的表与视图

发布网友 发布时间:2024-08-20 22:12

我来回答

1个回答

热心网友 时间:2024-08-29 11:57

一、系统权限说明:
1、用户权限
CREATE SESSIOIN 连接到数据库
CREATE TABLE 在用户的方案中创建表
CREATE SEQUENCE 在用户的方案中创建序列
CREATE VIEW 在用户的方案中创视图
CREATE PROCEDURE在用户的方案中创建存储过程,函数或包
1.1、例子:授予系统权限
DBA能够授予用户指定的系统权限
GRANT create session,create table,
create sequence,create view
TO scott;
二、创建用户只用于查询其它用户库的表和视图
1、创建用户
createuser用户名identifiedby密码;grantconnect,selectanytableto用户名;这样创建的用户就可以连接数据库和只有对任何表有查询权限了grantconnectto用户名//只有连接权限
2、授权查询表与视图权限
2.1、a用户下授权查询所有表给b用户(a用户登录执行下面语句)
select'grantselectona.'||tname||'tob;'fromtab;'GRANTSELECTONA.'||TNAME||'TOB;'------------------------------------------------------grantselectona.VOTE_NUMtob;grantselectona.TMP_MSGtob;grantselectona.VOTE_IPtob;grantselectona.QUESTIONtob;grantselectona.QUESTION_COUNTtob;grantselectona.RECORD_DICTtob;grantselectona.BM_COLUMNtob;grantselectona.BM_COLUMN_CLASSIFY_RELtob;grantselectona.BM_INFO_CLASSIFYtob;grantselectona.BM_MODULEtob;grantselectona.BM_MODULE_AUTHtob;或select'grantselecton'||table_name||'tob;'fromuser_tables;'GRANTSELECTON'||TABLE_NAME||'TOB;'----------------------------------------------------grantselectonVOTE_NUMtob;grantselectonTMP_MSGtob;grantselectonVOTE_IPtob;grantselectonQUESTIONtob;grantselectonQUESTION_COUNTtob;grantselectonRECORD_DICTtob;grantselectonBM_COLUMNtob;grantselectonBM_COLUMN_CLASSIFY_RELtob;说明:在a用户下执行该语句,执行后会生成对所有表的赋权限语句,拷贝出来执行就可以了。
2.2、a用户下授权查询单个表给b用户
grantselectona.tablenametob;
2.3、a用户下授权查询所有序列给b用户
select'grantselecton'||sequence_name||'tob;'fromdba_sequenceswheresequence_owner='A'
2.4、--Oracle查询用户视图
select*fromuser_views;
2.5、a用户下授权查询视图给test11用户
select'grantselectona.'||view_name||'totest11;'fromuser_views;视图查询如下:'GRANTSELECTON'||VIEW_NAME||'TOTEST11;'---------------------------------------------------------grantselectonCONFIRM_RESERVATION_VIEWtotest11;grantselectonDEPARTMENT_RESERVATION_VIEWtotest11;grantselectonDEPART_CANCEL_RESERVATION_VIEWtotest11;grantselectonDOCTOR_CANCEL_RESERVATION_VIEWtotest11;grantselectonDOCTOR_RESERVATION_VIEWtotest11;grantselectonGRPSStotest11;grantselectonHOSPITAL_ALL_SCHEDULE_VIEWtotest11;grantselectonHOSPITAL_DEPARTMENT_VIEWtotest11;grantselectonHOSPITAL_DEP_SCHEDULE_VIEWtotest11;grantselectonHOSPITAL_DOCTOR_VIEWtotest11;grantselectonHOSPITAL_DOC_SCHEDULE_VIEWtotest11;'GRANTSELECTON'||VIEW_NAME||'TOTEST11;'---------------------------------------------------------grantselectonPATIENT_COUNT_RESERVATION_VIEWtotest11;grantselectonPATIENT_RESERVATION_VIEWtotest11;grantselectonPATIENT_RESERVATION_VIEW2totest11;grantselectonPATIENT_RES_VIEWtotest11;grantselectonPRVIEWtotest11;grantselectonRES_VIEWtotest11;grantselectonSStotest11;
备注:授权更新、删除的语法和授权查询类似,只是关键字不同而已。
三、撤消权限
1、授权a用户下取消给b用户删除单个表的权限
revoke delete on a.tablename fromb;
2、授权a用户下取消给b用户更新单个表的权限
revoke update on a.tablename from b;
3、拥有dba权限的用户下取消给b用户创建dblink的权限
revoke create database link from b;
4、拥有dba权限的用户下取消给tes11用户查询任何表的权限
revoke select any table from test11;
四、事例:
1、在rh_test用户下授权查询所有表给wd用户
select'grantselectonrhip_test.'||tname||'towd;'fromtab;'GRANTSELECTONRH_TEST.'||TNAME||'TOWD;'----------------------------------------------------------------grantselectonrh_test.BIZ_CODE_RELtowd;grantselectonrh_test.BIZ_RMIM_DICtowd;grantselectonrh_test.BIZ_RMIM_VERSIONtowd;grantselectonrh_test.BIZ_RMIM_VERSION_DETAILtowd;grantselectonrh_test.BIZ_RMIM_VERSION_SUBDETAILtowd;grantselectonrh_test.BIZ_SYSTEM_LOGINtowd;grantselectonrh_test.BIZ_TREE_PATHtowd;grantselectonrh_test.CLINIC_TRANSFERtowd;grantselectonrh_test.CODE_SYSTEM_DICtowd;'GRANTSELECTONRH_TEST.'||TNAME||'TOWD;'----------------------------------------------------------------grantselectonrh_test.ETL_PATIENT_INDEXtowd;grantselectonrh_test.HOSPITAL_DICtowd;grantselectonrh_test.HOSPITAL_SUBSYSTEMtowd;grantselectonrh_test.MAIL_RECORDtowd;grantselectonrh_test.MEDICAL_RECORDtowd;grantselectonrh_test.PATIENT_INDEXtowd;grantselectonrh_test.RHIP_SYSCONFIGtowd;grantselectonrh_test.SYSTEMLOGINtowd;将上面查出的语句执行一下即可。
2、a用户下授权查询单个表给test11用户
select'GRANTSELECTON'||table_name||'totest11;'fromuser_tables得到的结果如下:GRANTSELECTONWEBSERVICE_USERtotest11GRANTSELECTONUSERLESS_PATIENTtotest11;再把上面得到的结果逐一执行一遍:GRANTSELECTONWEBSERVICE_USERtotest11GRANTSELECTONUSERLESS_PATIENTtotest11;新建的表要想被userA访问,也得执行grant语句:grantselecton新建的表touserA;
3、授权a用户下授权更新单个表给b用户
grant update on a.tablename to b;
4、授权a用户下授权删除单个表给b用户
grant delete on a.tablename to b;
5、拥有dba权限的用户下授权创建dblink给b用户
grant create database link to b;
ORACLE授权用户查询另一个用户下的表与视图
标签:updidewhiteclassioiicausercolorcancel
标签 upd ide white class ioi ica user color cancel
ORACLE授权用户查询另一个用户下的表与视图

2.5、a用户下授权查询视图给test11用户 select'grantselectona.'||view_name||'totest11;'fromuser_views;视图查询如下:'GRANTSELECTON'||VIEW_NAME||'TOTEST11;'---grantselectonCONFIRM_RESERVATION_VIEWtotest11;grantselectonDEPARTMENT_RESERVATION_VIEWtotest11;grantselectonDEPART_CANCEL_RESERVA...

oracle中有没有赋予一个用户查询另一个用户所有表的权限

可以的,在用户1中执行:select 'grant ALL on用户1.'||object_name|| ' to 用户2;'from user_objects where (object_type='TABLE' or object_type='VIEW') ;然后在用户2中把用户1的查询结果运行一遍,就是把用户1的表权限都给用户2,这样用户2就可以查用户1的表和视图了! 在用户2下...

oracle中怎么在一个用户(B)中查询另一个用户(A)的use_tables表?

一.第一种方法,在dba 用户下创建基于dba_tables的视图;1.create view V_A_tables as select * from dba_tables where owner='A';2.grant select on V_A_tables to B;3. 进入用户B, select * from sys.V_A_tables ;二. 第二种方法是在A用户下创建视图并赋权限;如有疑问,请...

oracle中同一个实例里面的两个用户,从另外一个用户的表里面取数据做视图...

用system登录,将用户A的表授权给public或者 B grant select on A.table1 to public;grant select on A.table to B;或者用A登录,将表的select授权给public或者B

Oracle数据库已赋予用户A对sys下3张视图的select权限,但访问的时候有张...

可能有两个原因:1,view1和view3是所有用户都有的,比如user_tables视图等,view2是sys用户独有的 2,view1和view3有建公共同义词,view2没建公共同义词 希望对你有帮助。

oracle数据库,只有访问视图权限,没有访问表权限

视图里边的表也是该用户下的,去掉表的授权,视图不受影响;如果里边的表是其它用户,需要 with grant option;sqlplus / as sysdbacreate table t1(f1 number);create view v1 as select * from t1;create user cc identified by wcycc;grant connect to cc;grant select on v1 to cc;conn cc/wcyccselect *...

oracle 赋予权限后,查询却显示表或视图不存在

使用建表用户名.表名来查询 select * from scott.emp;如果要不带建表用户名,需要建同义词 create public synonym emp for scott.emp;这样用xiaohong 登陆后就可以使用 select * from emp; 来查询数据了

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,     ...

Oracle查看用户下,表下有哪些视图

select * from dba_tab_privs where grantee='user_name'--查看该用户下所有视图信息 select * from dba_dependencies where referenced_name='table_name'--查看该表创建了哪些视图

oracle中怎样把一个用户的所有table的select权限授给另外一个用户

1、双击桌面sqldeveloper软件图标启动软件。2、新建数据库连接,填写登录数据库信息并选择相应角色进行登录。3、登录成功后先查询出hr用户下所有的表名,可直接通过dba_tables来进行查询。4、把查询权限赋给测试用户的方法有两种,一种为当用户下的表比较少的情况下可以直接通过grant select/delete/update ...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
南京大智机电有限公司怎么样? 怎么去南京广维机电设备制造有限公司 南京中心海机电有限公司怎么样? 淘宝88VIP网易云会员的期限是如何的? 淘宝88 vip会员可以用网易云吗? 剪映中不透明度在哪里? ...结果没想到被她给强行按倒在床上了,压的我好 手机剪映怎么把视频背景变透明? 多少天QQ到3个太阳 膝盖怕冷,怕风,夏天也怕冷,感觉有点磨擦,感觉有点闷痛和有点痒似的... 为什么我的微信总是显示忙线中呢? 打对方微信一直忙线中 婆婆给我500块钱我不要+婆婆说你不要+那以后不要来了+拿还是不拿?_百 ... ...in the Deep的那个)发型怎么弄的啊?求专业大师们解答~ 廊坊住房公积金在什么地方 ...我问我男朋友要不要手,他说不收了说他爸也没什么钱了? word文字阴影效果怎么设置 奶奶拿10万块养老钱给孙子买房,孙子该收吗?我们应该如何给老人... 为什么千万别偷老人的钱 婆婆给的钱应该收吗? 山姆卖的巴特利自行车 付个人服务费计入什么科目 人力资源管理费计入什么科目 老公不靠谱公婆的钱可以要吗 婆媳们,公婆的钱能要吗 讨厌死佐助了 最好全身骨折 父亲节对家公的祝福语 如何面对婆婆给的红包,怎么处理? 父亲节写给家公的话 父亲节家公祝福语 **部九小场所规定是指哪些 怎么用生辰八字看五行缺什么 如何看生辰八字呢(什么是生辰八字) 微信无犯罪记录证明怎么办理 我手上的是不是瘊子 有机区分:环戊二烯与1,3-环己二烯的辨别。 打点滴空气进入血管会怎么样 少量空气进入血管怎么办 空气打进血管会怎样 打点滴空气进入血管的危害 空气输进血管的危害 沙上话词汇 金坛话简介 为什么有人特怕吃酸水果有人又特喜欢呢 话梅是酸的吧,为什么有些人不怕这酸,有些人怕酸呢? 怎么样开通微信号? 美的大2匹空调价格一览表 让生活充满欢乐的可爱签名 开心活泼的个性签名2022 安静女孩签名简短可爱,女孩子简单有趣的签名 2匹空调价格一览表
  • 焦点

最新推荐

猜你喜欢

热门推荐