设为首页 加入收藏

TOP

Oracle权限设置
2015-07-24 10:35:32 来源: 作者: 【 】 浏览:1
Tags:Oracle 权限 设置

oracle的用户安全管理主要有权限和角色

当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限。

如果用户要访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色

权限:

这里是执行特定的命令和访问对象的权利.包括系统和对象权限

系统权限

是执行特定类型的sql命令.主要是对用户来说的.分类

DBA 全部权限.可以创建数据库结构Resource:只可以创建实体,不可以创建数据库结构Connect:只能登陆,不可创建实体和数据库结构

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限

系统权限授权命令:

[系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)]

授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...;

[普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收]

例:

SQL> connect system/manager
SQL> Create user user50 identified by user50;
SQL> grant connect,resource to user50;?

查询用户拥有哪里权限:

SQL> select * from dba_role_privs;
SQL> select * from dba_sys_privs;
SQL> select * from role_sys_privs;

删除用户:SQL> drop user 用户名 cascade; //加上cascade则将用户连同其创建的东西全部删除

注意:在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其他的用户

或是角色。

例如

//创建用户

sql>create user kenidentified by m123;
sql>create user tomidentified by m123

给用户ken授权

sql>grant create session,create table to ken with admin option;
sql>grant create view to ken;

给用户tom授权

我们可以通过ken给tom授权,因为with admin option是加上的。当然也可以通过DBA给tom授权,这里我们就用ken给tom授权。

sql>grant createsession,create table to tom with admin option;
sql>grantcreate view to tom;——这个是不可以的,因为Ken没有该权限的下放权限。

回收系统权限

一般情况下,回收系统权限是dba来完成的,如果其他的用户来回收系统权限,要求该用户必须具有相应系统权限及转授系统权限

的选项(with admin option)。回收系统权限使用revoke来完成。

当回收了系统权限后,用户就不能执行相应的操作了,但是请注意,系统权限不是级联回收的。

执行以下语句:

sql>revoke create session from ken;

说明:DBA执行了该语句后回收了Ken的登录权限后,Ken自然就不能再登录了,有Ken下放的该权限所有者tom还是可以正常

登录的。

对象权限:

某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

用户可以直接访问自己方案的对象。但是如果要访问别的方案的对象,则必须具有对象的权限。比如Smith用户要访问scott.emp

表(scott:方案,emp:表),则必须在scott.emp表上具有对象的权限。

常用的有

增删改查,改(数据的修改和表结构的修改),索引,执行(execute),all等

grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限
grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限
grant create table to zhangsan;//授予创建表的权限
grante drop table to zhangsan;//授予删除表的权限
grant insert table to zhangsan;//插入表的权限
grant update table to zhangsan;//修改表的权限
grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public)

当然了也包括with授权,权限回收操作。

小结:

刚开始的时候也没看oracle的任何语言就去操作了,感觉无从下手,很难学么。但是当查看了oracle的基本操作后,与sql

的命令大相径庭。只是多了一些命令授权,也是很有意思的。只是在sql中我们没有这样写。因为sql中带有客户端替我们做了这些

工作。所以一些常用的命令我们还是亲自多多写写吧。刚开始熟悉环境还是很有用处的。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇OraclePerformanceTuningOverview.. 下一篇Oracle与SqlServer复制表结构及数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·请问c语言刚入门,该 (2025-12-26 10:21:04)
·python 编程怎么定义 (2025-12-26 10:21:01)
·09-指 针 (一)-c语言 (2025-12-26 10:20:58)
·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)