oracle如何权限设置,oracle用户权限设置

如何给oracle用户设置权限

一、创建

10年积累的成都网站建设、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有新华免费网站建设让你可以放心的选择与我们合作。

sys;//系统管理员,拥有最高权限

system;//本地管理员,次高权限

scott;//普通用户,密码默认为tiger,默认未解锁

如何对Oracle10g数据库设置用户对表的访问权限。

oracle可以通过设置表的权限来设定用户对表的访问权限。

通过dba权限用户或者表的拥有者用户来设定相关权限。

基本的权限主要有三个,select,update和delete.

其实还有一个alter权限,不过这个权限不建议授予,这个还是掌握在dba手中比较好。不然将来会很麻烦。

授权语句大同小异,只是dba授权的话,需要加上表的所属用户。

举例:比如要把aaa用户下的a表,授予bbb用户。dba用户为ccc

那么用aaa用户的授权语句为

grant select on a to bbb;

使用ccc用户的授权语句为

grant select on aaa.a to bbb;

其他的update,和delete只要把select 替换就好。

当然如果三个权限都想授予。那么可以考虑grant all on a to bbb;

Oracle数据库的权限该怎样设置???

先是dba的身份进入数据库,才可以给别的用户授权!

使用dba身份进入:conn sys/sys as sysdba;

然后就可以授权了:grant dba to scott

dba:是个权限名字,scott是个 用户名,想给别的用户授权的话换成那个用户的名字就可以了,权限名也可以改,还有 connection,create table等权限。

如何给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中怎么设置SEQUENCE权限?

ORACLE中怎么设置SEQUENCE权限步骤如下:

1、Create Sequence

首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。

创建语句如下:

CREATE SEQUENCE seqTest

INCREMENT BY 1 -- 每次加几个

START WITH 1 -- 从1开始计数

NOMAXvalue -- 不设置最大值

NOCYCLE -- 一直累加,不循环

CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

2、得到Sequence值 

定义好sequence后,你就可以用currVal,nextVal取得值。

CurrVal:返回 sequence的当前值

NextVal:增加sequence的值,然后返回 增加后sequence值

得到值语句如下:

SELECT Sequence名称.CurrVal FROM DUAL; 

如得到上边创建Sequence值的语句为:

select seqtest.currval from dual

在Sql语句中可以使用sequence的地方:

- 不包含子查询、snapshot、VIEW的 SELECT 语句

- INSERT语句的子查询中

- INSERT语句的values中

- UPDATE 的 SET中

如在插入语句中

insert into 表名(id,name)values(seqtest.Nextval,'sequence 插入测试');

3、Alter Sequence 

拥有ALTER ANY SEQUENCE 权限才能改动sequence. 可以alter除start至以外的所有sequence参数.如果想要改变start值,必须 drop sequence 再 re-create。

4、Drop Sequence

DROP SEQUENCE seqTest; 

5、一个例子

create or replace trigger tri_test_id

before insert on S_Depart   --S_Depart 是表名

for each row

declare

nextid number;

begin

IF :new.DepartId IS NULLor :new.DepartId=0 THEN --DepartId是列名

select SEQ_ID.nextval --SEQ_ID正是刚才创建的

into nextid

from sys.dual;

:new.DepartId:=nextid;

end if;

end tri_test_id;

如何控制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用户权限设置
网页地址:http://pwwzsj.com/article/dsgcpoe.html