创建只读用户

第一步、创建用户。使用有管理员权限的用户创建一个新的用户:
create user 用户名 identified by 密码 default tablespace 表空间;

第二步、赋连接权限:
grant connect to 用户名;

第三步、赋表权限

owner  主用户
grant select on owner.表名 to 用户名;

如果有多表,可以用selece转换批量执行语句:
select ‘grant select on ‘||owner||‘.‘||object_name||‘ to 用户名;‘
from dba_objects
where owner in (‘owner‘)
and object_type=‘TABLE‘;
 

第四步、创建同义词:
create or replace SYNONYM 用户名.表名 FOR owner.表名;
 
如果有多表,可以用selece转换批量执行语句:
SELECT ‘create or replace SYNONYM  用户名.‘||object_name||‘ FOR ‘||owner||‘.‘||object_name||‘;‘  from dba_objects 
where owner in (‘owner‘)
and object_type=‘TABLE‘;

  

原文地址:https://www.cnblogs.com/zhaojingyu/p/11045434.html

时间: 2024-08-30 15:27:54

创建只读用户的相关文章

SQLSERVER创建只读用户

SQLSERVER创建只读用户: 1.进入Sqlserver Management Studio(MSSQL客户端) 2.选择安全性->登录名->右键新建登录名 3.在常规里输入用户名和密码 4.在"用户映射"里"映射到此登录名的用户"选择该用户可以操作的数据库 5.在"数据库角色成员身份"里选择"db_datareader", 6.这样一个只读用户就创建完成了. 服务器角色参考(可以对数据库进行表结构修改操作)

PostgreSQL创建只读用户

创建用户及指定密码: CREATE USER readonly WITH ENCRYPTED PASSWORD 'ropass'; 设置用户默认事务只读: alter user readonly set default_transaction_read_only=on; 赋予用户权限,查看public模式下所有表: GRANT USAGE ON SCHEMA public to readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT S

PostgreSQL数据库创建只读用户总结

好久没有弄,有点忘了,今天有客户问这个问题,发现几个SQL还解决不了,于是总结一下: --以超级用户登录数据库,创建用户: postgres=# create user test_read_only password 'test_read_only'; CREATE ROLE --设置为只读的transaction: postgres=# alter user test_read_only set default_transaction_read_only=on; ALTER ROLE --默认

sql server创建只读用户访问指定表

exec sp_addlogin '用户名','密码','数据库' go use 数据库 exec sp_grantdbaccess '用户名' go use 数据库 grant select on 表名 to "用户名" exec sp_addlogin '用户名','密码','数据库'go use 数据库exec sp_grantdbaccess '用户名'gouse 数据库grant select on 表名to "用户名" 原文地址:https://www.

使用ReadOnlyCollection创建只读集合

转载:http://www.cnblogs.com/abatei/archive/2008/02/04/1064102.html 使用泛型创建只读集合 问题 您希望类中的一个集合里的信息可以被外界访问,但不希望用户改变这个集合. 解决方案 使用ReadOnlyCollection<T>包装就很容易实现只读的集合类.例子如,Lottery类包含了中奖号码,它可以被访问,但不允许被改变: public class Lottery    {        // 创建一个列表.        List

创建MySQL用户及赋予用户权限

创建MySQL用户及赋予用户权限 1.通过help查看grant命令帮助 -- CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass'; GRANT ALL ON db1.* TO 'jeffrey'@'localhost'; GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost'; GRANT USAGE ON *.* TO 'jeffrey'@'localhost' WITH MAX_

oracle中创建一个用户,只能查看指定的视图,如何授权

1.create user A identified by Apassword,创建用户,用户名是A,密码是Apassword2.grant connect to A --授予connect权限3.grant select on test to A --给指定用户的表或者视图授予select(只读)权限,其中test是表名 注意:1.如果是以普通用户(jtg1)身份登录,并创建的用户,查询时要 select * from jtg1.test才能查询出来 2.以管理员身份登录的创建的用户,应该前面

Linux中创建新用户并赋给指定文件权限

工作中用到了,写篇日志总结一下. 创建新的用户: 第一种方式: 创建用户: adduser name 创建密码: passwd name(回车后出现修改密码的提示) 该方式创建的用户目录默认在home下. 第二种方式: useradd -d /usr/disp -m passwd 该方法可以在创建用户时制定该用户的根路径和密码. 通过这种方式创建的用户可以使用ssh登录,但只有只读权限可以浏览下载部分文件无法写和修改. 将该用户加入用户组: useradd -g idsp1 -n idsp 添加

centos创建子用户

#adduser 用户名 #passwd 用户名 设置自己的密码即可 授权 个人用户的权限只可以在本home下有完整权限,其他目录要看别人授权.而经常需要root用户的权限,这时候sudo可以化身为root来操作.我记得我曾经sudo创建了文件,然后发现自己并没有读写权限,因为查看权限是root创建的. 新创建的用户并不能使用sudo命令,需要给他添加授权. sudo命令的授权管理是在sudoers文件里的.可以看看sudoers: [[email protected] ~]# sudoers