在测试、开发环境,我们通常为了防止修改数据,会对数据库密码保密,但是还是需要查询数据库中的数据。此时,怎么做呢?通常情况,会新建一个新用户,将所有表,视图查询权限赋给这个用户。把这个用户账号密码告诉大家。1、创建用户create user 用户名 identified by 密码;参考文章:Oracle新增用户2、授权查询表与视图权限授权语法:grant insert,select,update,delete on tablename to dbusername;方案一grant connect,select any table to 用户名;–这样创建的用户就可以连接数据库和只有对任何表有查询权限了这种方法的缺点是授予的权限过大,userA不仅可以访问scott下的所有表,也可以访问其他用户包括sys,system下的所有。方案二登录需要授权用户的数据库,执行以下语句,生成授权语句:授权表select ‘grant select on ‘|| t.TABLE_NAME ||’ to ”用户名” ;’as sx_sql from user_tables t;授权视图select ‘grant select on ‘|| v.VIEW_NAME ||’ to ”用户名” ;’ as sx_sql from user_views v;授权序列select ‘grant select on ‘ || sequence_name || ‘ to b;’ from dba_sequences where sequence_owner=’用户名’;注意:将生成的语句,复制到命令窗口执行。这种方法的缺点是要执行比较多的语句,如果有100个表,就得执行100个grant语句;另外新建的表不在被授权的范围内,新建的表要想被查询,也得执行grant语句:grant select on 新建的表 to userA;3、撤消权限1、取消给b用户删除单个表的权限revoke delete on a.tablename from b;2、取消给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;
oracle查看所有用户和密码(查看oracle数据库用户)
编辑:众学网
点赞(0)
收藏(0)
相关推荐
什么手机拍照好看像素好(拍照清晰度最好的手机推荐)
对于主流手机品牌来说,3000元档的机型正处于一个中高端定位的层次,就影像能力而言,比起自家品牌旗舰机还有所差距,但也要比一些2000元出头的机型强不少,如果大家预算有限的话,这个档位的机型确实更适合选择。...
编辑:众学网发布时间:2022-07-06 12:13:52中小企业推广平台运营方法(中小企业快速推广获客的技巧)
移动电商怎么做推广这个问题从一年多以前到现在一直是被咨询Top1的问题。所以我再一次根据我们过去的实际经验来谈一下移动电商推广这件事。...
编辑:众学网发布时间:2022-05-10 15:10:12