oracle查看所有用户和密码(查看oracle数据库用户)

在测试、开发环境,我们通常为了防止修改数据,会对数据库密码保密,但是还是需要查询数据库中的数据。此时,怎么做呢?通常情况,会新建一个新用户,将所有表,视图查询权限赋给这个用户。把这个用户账号密码告诉大家。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数据库用户)

发表评论

登录后才能评论