以下的文章主要是讲述Oracle数据库对user的相关访问控制的实际操作,以下文章介绍的是在introduction to Oracle 9i SQL student guide的第二卷中看见的,写完才发现之前有过相关、甚至更全面的介绍了。但还是发布吧。
专注于为中小企业提供网站制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业镇安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
1、控制user的访问
主要有以下几方面:
控制database的访问
控制database中特定的对象的访问
授予一定的访问Oracle 数据字典的权限
为database对象创建synonym
database的安全性可以被定义为两类:系统的安全和data的安全。前者包括在system 级别的database的访问与使用,如username和password、给user分配的磁盘空间以及user可执行的系统操作。后者包括对database对象的访问及操作的安全控制。
1)系统权限
主要有:CREATE USER, DROP USER, DROP ANY TABLE, BACKUP ANY TABLE, SELECT ANY TABLE, CREATE ANY TABLE
2)创建users
CREATE USER user IDENTIFIED BY password;
3)授予权限
GRANT privilege [, privilege ...] TO user [, user| role, PUBLIC ...];
对于应用开发者,一般至少会需要下面的权限:
CREATE SESSION, CREATE TABLE, CREATE SEQUENCE, CREATE VIEW, CREATE PROCEDURE
4)修改user的密码
ALTER USER user IDENTIFIED BY nowpassword;
5)对象权限
GRANT object_priv|ALL [(columns)] ON object TO {user | role | PUBLIC} [WITH GRANT OPTION];
其中,ALL表示所有对象权限
2、role
1)role是一组相关权限的集合,可以被一起授予user,从而简化授权和收回权限的操作。一个user可以被授予多个roles,一个role也可以被授予给多个user。
CREATE ROLE role;
随后,可以用grant语句给role授权。PUBLIC表示将对象权限授予所有users。
2)给role授予相应权限的操作和上面讲的给user授权是一致的。
3、获得权限上授予情况信息的视图
4、对象权限的收回
REVOKE {privilege [, privilege ... ] | ALL} ON object FROM {user [, user ... ] | role | PUBLIC} [CASCADE CONSTRAINTS];
其中,CASCADE CONSTRAINTS子句会收回所有通过REFERENCES方法创建的参照完整性约束的权限。在revoke之后,所有由with grant option进行授权的user的相应权限也会被收回。
5、database link(可以使本地user访问远程database)
database link是一个指针,定义了一个Oracle database server与另一个database server进行交互的方法。link 指针实际是一个数据字典表中的实体。为了访问link,必须连接包含该数据字典实体的本地database。
database link的最大的优点是它允许users访问其他user在远程database的objects。
具体创建实例:
CREATE PUBLIC DATABASE LINK hq.acme.com USING ’sales’;
其中,USING子句指明了远程database的service名称。database link创建之后,就可发起如下的访问:
SELECT FROM fred.emp@HO.ACME.COM;
文章标题:Oracle数据库对user的相关访问控制实操
URL分享:http://www.csdahua.cn/qtweb/news0/502550.html
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网