oracle权限怎么分配,oracle权限管理

各位高手,请问,在oracle中创建的用户都分配哪些权限?一般分配哪些权限?

用户的权限分配要看这个用户要做什么了,通常是定义角色以统一处理用户。如果是临时用户,特别是不需要建表的用户,可以给以connect role,其中包含着ALTER SESSION、CREATE CLUSTER、CREATE DATABASE LINK、CREATE SEQUENCE、CREATE SESSION、CREATE SYNONYM、CREATE TABLE、CREATE VIEW权限;如果是更正式的用户,数据库开发人员等,可以给以resource role,RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程、触发器、索引和簇,CREATE CLUSTER、CREATE PROCEDURE、CREATE SEQUENCE、CREATE TABLE、CREATE TRIGGR ;更上层的,数据库管理员角色DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。

创新互联是一家集网站建设,舒城企业网站建设,舒城品牌网站建设,网站定制,舒城网站建设报价,网络营销,网络优化,舒城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

oracle 创建用户分配权限

创建用户一般用sysdba身份登录才可以

create

user

wa

identified

by

passwords

--wa是用户名

passwords

是密码

grant

connect

to

wa

--将连接角色的权限

赋给

wa用户

grant

resource

to

wa

--将resource角色的权限赋给

wa用户

用户会有CREATE

CLUSTER

CREATE

INDEXTYPE

CREATE

OPERATOR,CREATE

PROCEDURE,CREATE

SEQUENCE,CREATE

TABLE,CREATE

TRIGGER,CREATE

TYPE

等权限

如何控制oracle用户的权限

权限允许用户访问属于其它用户的对象或执行程序,

ORACLE系统提供权限:Object 对象级、System 系统级

1.系统权限(系统权限是对用户而言):

DBA拥有最高的系统权限:

1,可以创建用户

语法:create user username identified by password;

例如:create user briup identified by briup;

当用户创建成功之后,此用户什么权限都没有,甚至不能登录数据库。

2. 赋予权限:

一个用户应该具有的基本权限包含:

CREATE SESSION

CREATE TABLE

CREATE SEQUENCE

CREATE VIEW

CREATE PROCEDURE

如果有多个用户他们都具有相同的权限(create session,create table,create sequence),赋予权限的动作过于麻烦,要给每个用户分别制定这些权限,因此oracle提出角色的概念,可以将权限赋值给角色,然后再将角色赋值给用户。

例如,我们当初在进行操作时写的:

grant resource,connect to briup;

此时resource,connect就是角色。

查询resource,connect 具有哪些权限可以使用:

select privilege,role

from role_sys_privs

where role = 'CONNECT' or role ='RESOURCE';

语法:

grant xxxx to user_name ;

例如:

grant create view to briup;

3.回收权限

语法:revoke xxx from user_name;

例如:

revoke create view from briup;

4.修改密码:

语法:alter user xxx identified by xxxx;

例如:

alert user briup identified by briup;

5.删除用户:

语法:drop user username [cascade];

note: cascade:当用户下有表的时候,必须使用cascade级联删除。

例如: drop user test cascade;

2.对象权限(针对对象,类似表对象等):

对象权限:select, update, insert, alter, index, delete, all //all包括所有权限

对象的 拥有者拥有所有的权限。

1.给用户赋予操作对象的权限:

GRANT object_priv [(columns)]

ON object

TO {user|role|PUBLIC}

[WITH GRANT OPTION]; //允许分配到权限的用户继续将权限分配给其它用户

例如:

grant select on s_emp to jd1613;

给jd1613用户赋予在s_emp表上进行查询的权利。

grant update(id) on s_emp to jd1613;

给jd1613赋予能够更新s_emp表上id列的权限。

2.回收权限:同系统权限。

语法:revoke xxx on obj from user;

note: 通过with grant option赋予额权限也会被回收。

例如:

revoke select , update on s_emp from jd1613;

3.创建同义词: 相当于给对象起别名

语法:create[public] synonym sy_name for obje_name;

note:只有dba才有权利创建public的同义词

例如:

create synonym emp for s_emp;

4.删除同义词:

语法: drop synonym syn_name;

例如:

drop synonym emp;

5.导出数据库

exp,imp不属于sqlplus的命令,所以不是在sqlplus终端执行的。

系统终端:exp userid=briup/briup full=y file=briup.dmp

导入:imp userid=briup/briup full=y file=briup.dmp;

如何给oracle用户分配权限

在Oracle 11g中含有200多种系统特权,并且所有这些系统特权均被列举在SYSTEM_PRIVILEGE_MAP数据目录视图中。授权操作使用GRANT命令,其语法格式如下:

grant sys_privi | role to user | role | public [with admin option]

参数说明如下:

sys_privi:表示Oracle系统权限,系统权限是一组约定的保留字。比如,若能够创建表,则为“CREATE TABLE”。

role:角色,关于角色会在后面小节中介绍。

user:具体的用户名,或者是一些列的用户名。

public:保留字,代表Oracle系统的所有用户。

with admin option:表示被授权者可以再将权限授予另外的用户。

—-为用户east授予连接和开发系统权限,并尝试使用east连接数据库。

浅谈oracle数据库如何创建用户以及分配权限

oracle的用户权限要是详细说,那么可能要很久,毕竟oracle的管理都是用过用户实现的。

(1)这里个人觉得最重要的是保护所在服务器的oracle用户(系统用户)的密码。并且不管是什么系统用户,就算是root,也不能随意修改才可以。毕竟本地登录的sqlplus / as sysdba就是dba权限,如果真的是这里出现问题,那么哭都来不及。

(2)dba用户有且只能有一个(用户名一定要毫不起眼,避免被猜出来,密码也要符合加密原则并且定期修改),这个用户要专人专用,绝对不能大面积给予该用户的密码,还是那句话权限太大。除了不得不利用dba身份进行的操作,其他事情一律不用这个用户,要当做这个用户不存在。

(3)其他用户权限,先说数据库的主要操作——增删改查,增是一个单独的用户,改删为一个用户或两个用户(这个权限也是严格控制的,因为一般来说),查为一个用户。感觉是不是很烦,一般也没有这么用的,不过如果真的要求严格,那么这是最好的办法。

(4)其他的就是关于表的分层管理(当然每层属于不同的用户或者每层分成几块,每块都是不同的用户),这样可以尽量避免因为权限导致的数据库问题。退一步说,就算出了问题,数据也是可以找回的。

(5)最后一个是每一个大面积分发的用户的授权都是针对表的,至于针对表空间等数据库系统层面的授权,则是由专门的用户由专门的人操作完成的。


名称栏目:oracle权限怎么分配,oracle权限管理
文章链接:http://scyanting.com/article/dssjhii.html