当前位置:文档之家› Oracle用户角色权限等操作

Oracle用户角色权限等操作

Oracle用户角色权限等操作
Oracle用户角色权限等操作

oracle 赋予权限

转发评论

02月21日13:00

最基础的sqlplus username/password@[sid] 连接数据库

sqlplus username/password as sysdba 以管理员连接数据库

管理员连接后创建用户sqlplus system/manager@demo as sysdba create user abc identified by abc ; 创建用户abc密码为abc

grant all privileges to abc; 给abc用户赋予所有的权限

给自己留个备份以备不时之需

oracle grant

授权语句--select * from dba_users; 查询数据库中的所有用户

--alter user USERNAME account lock; 锁住用户

--alter user USERNAME account unlock; 给用户解锁

--create user USERNAME identified by USERPASS; 建立用户

一般创建用户后需要授予链接数据库权限

grant connect,resource to USERNAME;

--grant create tablespace to USERNAME; 授权创建表空间

--grant SELECT on TABLENAME to USERNAME; 授权查询

授权其他动作格式相同

如果要把所有表的查询权限分配给用户可以用这样的

grant select any table to USERNAME;

--grant execute on procedure1 to xujin 授权存储过程

--grant UPDATE on TABLENAME to USERNAME with grant option; 授权更新权限转移给xujin用户,许进用户可以继续授权;

--收回权限

--revoke select on table1 from xujin1; 收回查询select表的权限;

--revoke all on table1 from xujin;

/*grant connect to xujin;

revoke connect from xujin

grant select on xezf.cfg_alarm to xujin;

revoke select on xezf.cfg_alarm from xujin;*/

--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限

--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限

--select * from session_privs --当钱会话有效的系统权限

--角色

--create role xujin1;--建立xujin1角色

--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息

--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限

--grant xujin1 to xujin ; 将角色的权限授权给xujin;

-- create role xujin2;

--grant xujin1 to xujin2; 将角色xujin1授权给xujin2;

--alter user xujin default xujin1,xujin2; 修改用户默认角色

-- DROP ROLE xujin1;删除角色1;

--select * from role_sys_privs where role=xujin1;

--查看许进1角色下有什么系统权限;

--select granted_role,admin_option from role_role_privs where role='xujin2'

--查看xujin1角色下面有什么角色权限

--select * from role_sys_privs where role='xujin2'

--select table_name,privilege from role_tab_privs where role='xujin1'

--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;

======================详解=========================

GRANT

名称GRANT -- 赋予访问权限

语法GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }

ON [ TABLE ] tablename [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { USAGE | SELECT | UPDATE }

[,...] | ALL [ PRIVILEGES ] }

ON SEQUENCE sequencename [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] } ON DATABASE dbname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { EXECUTE | ALL [ PRIVILEGES ] }

ON FUNCTION funcname ( [ [ argmode ] [ argname ] argtype [, ...] ] ) [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { USAGE | ALL [ PRIVILEGES ] }

ON LANGUAGE langname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }

ON SCHEMA schemaname [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT { CREATE | ALL [ PRIVILEGES ] }

ON TABLESPACE tablespacename [, ...]

TO { username | GROUP groupname | PUBLIC } [, ...] [ WITH GRANT OPTION ]

GRANT role [, ...] TO username [, ...] [ WITH ADMIN OPTION ]

描述

GRANT命令有两个基本变种:一个变种是给数据库对象(表、视图、序列、数据库、函数、过程语言、模式、表空间)赋予权限;一个变种是赋予一个角色中的成员关系。这些变种在很多方面都非常类似,但是它们之间的区别也有足够理由来分开描述。

到了PostgreSQL 8.1,用户和组的概念已经统一成一类对象,叫角色。因此就没有必要使用关键字GROUP来标识一个授予者是用户还是组。GROUP仍然可以在命令中使用,但只是一个多余的词而已。

在数据库对象上的GRANT

这个变种的GRANT命令在数据库对象上给一个或多个角色授予特定的权限。这些权限追加到已经授予的权限上。

关键字PUBLIC表示该权限要赋予所有角色,包括那些以后可能创建的用户。PUBLIC可以看做是一个隐含定义好的组,它总是包括所有角色。任何特定的角色都将拥有直接赋予他/它的权限,加上他/它所处的任何组,以及再加上赋予PUBLIC的权限的总和。

如果声明了WITH GRANT OPTION,那么权限的接收者也可以将此权限赋予他人,否则就不能授权他人。这个选项不能赋予PUBLIC

对于对象的所有者(通常就是创建者)而言,没有什么权限需要赋予,因为所有者缺省就持有所有权限。不过,所有者出于安全考虑可以选择废弃一些他自己的权限。删除一个对象的权力,或者是任意修改它的权力都不是可赋予的权限;它是创建者固有的,并且不能赋予或撤销。所有者也隐含地拥有该对象的所有授权选项。

根据对象的不同,初始的缺省权限包括一些赋予PUBLIC的权限:对于表、模式、表空间没有公开访问权限;对于数据库有CONNECT权限和创建TEMP表的权限;对于函数有EXECUTE权限;对于语言有USAGE权限。对象所有者当然可以撤回这些权限。出于最大安全性考虑,在创建该对象的同一个事务中发出REVOKE就不会打开给别的用户使用该对象的窗口。

可能的权限有:

SELECT

允许对声明的表、试图、序列SELECT任意字段。还允许做COPY TO 的源。对于序列而言,这个权限还允许使用de>currvalde> 函数。

INSERT

允许向声明的表INSERT一个新行。同时还允许做COPY FROM

UPDATE

允许对声明的表中任意字段做UPDATE。SELECT ... FOR UPDATE和SELECT ... FOR SHARE也要求这个权限(除了SELECT权限之外)。比如,这个权限允许使用

de>nextvalde> 和de>setvalde> 函数。

DELETE

允许从声明的表中DELETE行

REFERENCES

要创建一个外键约束,你必须在参考表和被参考表上都拥有这个权限。

TRIGGER

允许在声明表上创建触发器(参见CREATE TRIGGER语句)

CREATE

对于数据库,允许在该数据库里创建新的模式。

对于模式,允许在该模式中创建新的对象。要重命名一个现有对象,你必需拥有该对象并且对包含该对象的模式拥有这个权限。

对于表空间,允许在其中创建表,以及允许创建数据库和模式的时候把该表空间指定为其缺省表空间。请注意,撤销这个权限不会改变现有数据库和模式的存放位置。

CONNECT

允许用户连接到指定的数据库。该权限将在连接启动时检查(除了检查pg_hba.conf中的任何限制之外)。

TEMPORARY

TEMP

允许在使用该数据库的时候创建临时表

EXECUTE

允许使用指定的函数并且可以使用任何利用这些函数实现的操作符。这是适用于函数的唯一权限。该语法同样适用于聚集函数。

USAGE

对于过程语言,允许使用指定过程语言创建该语言的函数。这是适用于过程语言的唯一权限。对于模式,允许访问包含在指定模式中的对象(假设该对象的所有权要求同样也设置了)。最终这些就允许了权限接受者"查询"模式中的对象。没有这个权限仍然可以看见这些对象的名字(比如通过查询系统视图)。同样,撤销该权限之后,现有的后端可能有在查找之前就执行了的语句,因此这不是一个很安全的限制对象访问的方法。

对于序列,该权限允许使用de>currvalde> 和de>nextvalde> 函数。

ALL PRIVILEGES

一次性给予所有可以赋予的权限。PRIVILEGES关键字在PostgreSQL 里是可选的,但是严格的SQL 要求有这个关键字。

其它命令要求的权限都在相应的命令的参考页上列出。

角色上的GRANT

这个变种的GRANT命令把一个角色的成员关系赋予一个或多个其它角色。角色里的成员关系很重要,因为它会将赋予该角色的权限传播给所有该角色的成员。

如果声明了WITH ADMIN OPTION,那么该成员随后就可以将角色的成员关系赋予其它角色,以及撤销其它角色的成员关系。如果没有admin 选项,普通用户就不能这么做。不过,数据库超级用户可以给任何人赋与或者撤销任何角色的任何成员关系。拥有CREATEROLE权限的角色可以赋予或者撤销任何非超级用户角色的成员关系。

与权限不同,角色的成员关系不能被赋予PUBLIC。需要注意的是,这种形式的命令不允许使用无意义的GROUP关键字。

注意

REVOKE命令用于删除访问权限。

如果非对象所有者企图在对象上GRANT权限,而该用户没有该对象上指定的权限,那么命令将立即失败。只要有某些可用的权限,该命令就会继续,但是它只授予那些该用户有授权选项的权限。如果没有可用的授权选项,那么GRANT ALL PRIVILEGES形式将发出一个警告信息,其它命令形式将发出在命令中提到的、但是没有授权选项的那些权限相关的警告信息。这些语句原则上也适用于对象所有者,但是因为所有者总是被认为拥有所有授权选项,所以这种情况永远不会发生在所有者身上。

要注意数据库超级用户可以访问所有对象,而不会受对象的权限设置影响。这个特点类似Unix 系统的root的权限。和root一样,除了必要的情况,总是以超级用户身份进行操作是不明智的做法。

如果一个超级用户选择发出一个GRANT或REVOKE命令,那么这条命令将是以被影响对象的所有者的形式执行的。特别是,通过这种方法赋与的权限将显得好像是由对象所有者赋与的。对于角色成员关系,成员关系的赋与就会像是通过包含角色自己赋与的一样。GRANT和REVOKE也可以不由被影响对象的所有者来执行,而是由拥有该对象的角色的一个成员来执行,或者是一个在该对象上持有WITH GRANT OPTION权限的角色的成员。在这种情况下,该权限将被纪录为是由实际拥有该对象或者持有WITH GRANT OPTION

权限的对象赋与的。比如,如果表t1被角色g1拥有,并且u1是g1的一个成员,然后u1可以把t1的权限赋予u2,但是这些权限将表现为是由g1直接赋予的。任何g1角色的成员都可以在之后撤销这些权限。

如果执行GRANT的角色所持有的所需权限是通过角色成员关系间接获得的,那么究竟是那个角色将被纪录为赋予权限的角色就是未知的。在这种情况下,最好的方法是使用SET ROLE成为你想执行GRANT命令的指定角色。

在表上赋予的权限不会自动传播到该表使用的序列上,包括SERIAL字段上的序列。必须单独设置序列的权限。

目前,PostgreSQL 不支持给一个表的独立字段进行权限赋予和撤销的操作,一个绕开的办法是创建一个拥有那几行的视图然后给那个视图赋予权限。

使用psql 的\z命令获取在现有对象上的与权限有关的信息。

=> \z mytable

Access privileges for database "lusitania"

Schema | Name | Type | Access privileges

--------+---------+-------+-----------------------------------------------------------

public | mytable | table | {miriam=arwdxt/miriam,=r/miriam,"group todos=arw/miriam"}

(1 row)

\z显示的条目解释如下:

=xxxx -- 赋予PUBLIC 的权限

uname=xxxx -- 赋予一个用户的权限

group gname=xxxx -- 赋予一个组的权限

r -- SELECT ("读")

w -- UPDATE ("写")

a -- INSERT ("追加")

d -- DELETE

x -- REFERENCES

t -- TRIGGER

X -- EXECUTE

U -- USAGE

C -- CREATE

c -- CONNECT

T -- TEMPORARY

arwdxt -- ALL PRIVILEGES (用于表)

* -- 给前面权限的授权选项

/yyyy -- 授出这个权限的用户

用户miriam在建完mytable表之后再做下面的语句,就可以得到上面例子的结果

GRANT SELECT ON mytable TO PUBLIC;

GRANT SELECT, UPDATE, INSERT ON mytable TO GROUP todos;

如果一个给定的对象的"Access privileges字段是空的,这意味着该对象有缺省权限(也就是

说,它的权限字段是NULL)。缺省权限总是包括所有者的所有权限,以及根据对象的不同,

可能包含一些给PUBLIC的权限。对象上第一个GRANT或REVOKE将实例化这个缺省权限(比如,产生{miriam=arwdxt/miriam}) 然后根据每次特定的需求修改它。

请注意所有者的隐含授权选项没有在显示出来的访问权限里标记出来。只有在授权选项明确地授予某人之后,才会显示一个*

例子

把表films的插入权限赋予所有用户:

GRANT INSERT ON films TO PUBLIC;

赋予用户manuel对视图kinds的所有权限:

GRANT ALL PRIVILEGES ON kinds TO manuel;

请注意,如果上面的命令由超级用户或者kinds的所有者执行,那么它实际上会赋予所有权限,如果由其他人执行,那么它会赋予这个"其他人"拥有授权选项的所有权限。

把角色admins的成员关系赋与用户joe:

GRANT admins TO joe;

兼容性

根据SQL 标准,在ALL PRIVILEGES里的PRIVILEGES关键字是必须的。SQL 标准不支持在一条命令里对多个表设置权限。

PostgreSQL 允许一个对象所有者撤销它自己的普通权限:比如,一个表所有者可以让自己对这个表是只读的,方法是撤销自己的INSERT, UPDATE, DELETE 权限。根据SQL 标准,这是不可能的。原因是PostgreSQL 把所有者的权限当作由所有者给自己赋予的;因此也可以撤销他们。在SQL 标准里,所有者的权限是假设为"_SYSTEM"实体赋予的。因为所有者不是"_SYSTEM",所以他不能撤销这些权限。

SQL 标准允许在一个表里为独立的字段设置权限:

GRANT privileges

ON table [ ( column [, ...] ) ] [, ...]

TO { PUBLIC | username [, ...] } [ WITH GRANT OPTION ]

SQL 标准对其它类型的对象提供了一个USAGE权限:字符集、校勘、转换、域。

在数据库、表空间、模式、语言、序列上的权限是PostgreSQL 扩展。

又见

REVOKE

INSERT

名称INSERT -- 在表中创建新行

语法INSERT INTO table [ ( column [, ...] ) ]

{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }

[ RETURNING * | output_expression [ AS output_name ] [, ...] ]

描述

INSERT向表中插入新行。可以一次插入用值表达式声明的一行或者一个查询结果表现出来的零行或多个行。

目标列表中的列/字段可以按任何顺序排列。如果完全没有列出任何字段名,那么缺省是全部字段,顺序是按照表声明的时候的顺序;如果VALUES子句或者query里面只提供了N 个字段,那么就是头N个字段。VALUES子句或者query提供的数值是以从左到右的方式与明确或者隐含的字段列表关联的。

每个没有在明确或者隐含的字段列表中出现的字段都将填充缺省值,如果有声明的缺省值则用声明的那个,如果没有则用NULL 。

如果每行的表达式不是正确的数据类型,系统将试图进行自动的类型转换。

可选的RETURNING子句将导致INSERT返回实际插入的行,它主要用于获取缺省的计算值(比如序列值),不过,任何使用该表字段的表达式都是允许的。RETURNING列表的语法都与SELECT的输出列表相同。

要想向表中插入数据,你必须有INSERT权限;要使用RETURNING的话还得有SELECT 权限;如果你使用了query子句插入来自查询里的数据行,你还需要拥有在查询里使用的表的SELECT权限。

参数

table

现存表的名称(可以有模式修饰)

column

表table中的字段名。必要时,字段名可以有子字段名或者数组下标修饰。向一个复合类型中的某些字段插入数据的话,其它字段将是NULL 。

DEFAULT VALUES

所有字段都会用它们的缺省值填充

expression

赋予对应的column的一个有效表达式或值

DEFAULT

对应的column将被它的缺省值填充

query

一个查询(SELECT语句),它提供插入的数据行。请参考SELECT语句获取语法描述。output_expression

INSERT命令在每一行都被插入之后用于计算输出结果的表达式。该表达式可以使用table 的任意字段。可以使用*返回被插入行的所有字段。

output_name

一个字段的输出名称

输出

成功完成后,一条INSERT命令返回一个下面形式的命令标签

INSERT oidcount

count是插入的行数。如果count正好是一,并且目标表有OID ,那么oid是赋予插入行的OID 。否则oid是零。

如果INSERT命令包含RETURNING子句,其结果将和一个SELECT语句相同,包含那些基于该命令实际插入的行计算的、定义在RETURNING列表中的字段的值。

例子

向表films里插入单独一行:

INSERT INTO films VALUES

('UA502', 'Bananas', 105, -07-13', 'Comedy', ? minutes');

在这个例子里面省略了字段len,因此在它里面将存储缺省值:

INSERT INTO films (code, title, did, date_prod, kind)

VALUES ('T_601', 'Yojimbo', 106, -06-16', 'Drama');

在这个例子里,用DEFAULT子句作为日期字段,而不是声明一个数值:

INSERT INTO films VALUES

('UA502', 'Bananas', 105, DEFAULT, 'Comedy', ? minutes');

INSERT INTO films (code, title, did, date_prod, kind)

VALUES ('T_601', 'Yojimbo', 106, DEFAULT, 'Drama');

插入一行完全由缺省值组成的数据行:

INSERT INTO films DEFAULT VALUES;

使用多行VALUES语法插入多行:

INSERT INTO films (code, title, did, date_prod, kind) VALUES

('B6717', 'Tampopo', 110, -02-10', 'Comedy'),

('HG120', 'The Dinner Game', 140, DEFAULT, 'Comedy');

从表tmp_films中插入几行到表films中,字段布局与films相同:

INSERT INTO films SELECT * FROM tmp_films WHERE date_prod < -05-07'

插入数组:

-- 创建一个空的3x3游戏板来玩圈-和-叉游戏(这些查询创建相同的板属性)

INSERT INTO tictactoe (game, board[1:3][1:3])

VALUES (1, '{{" "," "," "},{" "," "," "},{" "," "," "}}');

-- 上述例子中的下标并非真正必须

INSERT INTO tictactoe (game, board)

VALUES (2, '{{X," "," "},{" ",O," "},{" ",X," "}}');

向distributors表插入一个单独的行,并返回由DEFAULT子句生成的序列值:

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets') RETURNING did;

兼容性

INSERT语句与SQL 标准兼容。但RETURNING子句是PostgreSQL 扩展。同样,省

略字段名列表,但是并非所有字段都从VALUES子句或者query填充的这种用法是标准不允许的。

可能碰到的关于query子句特性的限制在SELECT语句中有相关文档。

LISTEN

名称LISTEN -- 监听一个通知

语法LISTEN name

描述

LISTEN将当前会话注册为通知条件name的监听器。如果当前会话已经被注册为该通知

条件的监听器,那么什么也不做。

当执行了命令NOTIFY name后,不管是此会话还是其它连接到同一数据库的会话,所有

正在监听此通知条件的会话都将收到通知,并且接下来每个会话将通知与其相连的前端应用。请参考NOTIFY获取更多信息。

使用UNLISTEN命令可以将一个会话内已注册的通知条件删除。同样,会话退出时自动删除该会话正在监听的已注册通知条件。

前端应用检测通知事件的方法取决于PostgreSQL 应用使用的编程接口。如果使用基本的libpq 库,那么应用将LISTEN当作普通SQL 命令使用,而且必须周期地调用

de>PQnotifiesde> 过程来检测是否有通知到达。其它像libpgtcl 接口提供了更高级的控制通知事件的方法;实际上,使用libpgtcl 的应用程序员不应该直接使用LISTEN或UNLISTEN。请参考你使用的接口的文档获取更多细节。

NOTIFY的手册页包含更广泛的关于LISTEN和NOTIFY的使用的讨论。

参数

name

通知条件的名字,可以是任意标识符。

例子

在psql 里配制和执行一个监听/通知序列:

LISTEN virtual;

NOTIFY virtual;

Asynchronous notification "virtual" received from server process with PID 8448.

兼容性SQL 标准里没有LISTEN语句

分类:Oracle学习

oracle创建用户及权限说明文档

Oraclec创建用户 一、命令行创建用户具体步骤如下: 1.以管理员身份登录系统并创建一个新的表空间,操作如下: 操作如下: 2. Next 5M maxsize 100M ;----每次扩大5M,但最大为100M

3. Temporary tablespace test1_temp; ----设置临时表空间为test1_temp 4. 操作如下 5. 操作如下 6.最后提交即可。Commit 二、表空间的增删改查 1. 2. 如下操作,其中标示出来的路径即为查询到的要更改的表空间的具体路径,将该路径加到语句2中的单引号处即可。

3. 4.

四、权限的设置 1.权限的分类: 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 2.系统权限管理 DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE: 拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT: 拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 3.系统权限授权命令及用户管理。 [系统权限只能由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则将用户连同其创建的东西全部删除。 4.给新建的用户分配只有连接以及对某些表和视图的查询权限: oracle授权对视图的查询.docx 5.用户管理: 1)、创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_ATTEMPTS 3 //指定锁定用户的登录失败次数 PASSWORD_LOCK_TIME 5 //指定用户被锁定天数 PASSWORD_LIFE_TIME 30 //指定口令可用天数 2)、创建用户 SQL> Create User username Identified by password Default Tablespace tablespace Temporary Tablespace tablespace Profile profile Quota integer/unlimited on tablespace; 6.用户密码过期问题: 首先,查看系统中有哪些用户:

【VIP专享】Oracle权限、角色和用户

Oracle数据库权限、角色和用户总结 前言: ORACLE数据库系统预先定义了CONNECT 、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。 CONNECT具有创建表、视图、序列等特权;(alter session create cluster ) RESOURCE具有创建过程、触发器、表、序列等特权、 DBA具有全部系统特权; EXP_FULL_DATABASE、IMP_FULL_DATABASE具有卸出与装入数据库的特权。 权限管理 一、权限分类 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理: 1、系统权限分类: DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。 RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。 CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,resource, dba权限。 2、系统权限授权命令: [系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)] 授权命令:SQL> grant connect, resource, dba to 用户名1 [,用户名2]...; [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。] 例:

oracle权限及角色

角色是相关权限的集合,使用角色能够简化权限的管理。简而言之就是oracle 可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限。 oracle预定义角色有25种,它是oracle提供的角色。经常用到的角色有connect、resource、dba三种角色。建一个用户,多数情况下,只要给用户赋予connect和resource角色就够了。 connect角色具有一般应用开发人员需要的大部分权限,connect角色具有的系统权限如下: alter session create cluster create database link create session create table create view create sequence resource角色具有开发人员需要的其他权限,如建立存储过程、触发器等,resource角色等,resource角色隐含了unlimited tablespace系统权限(无限制表空间),resource的系统权限有: create cluster

create indextype create table create sequence create type create procedure create trigger dba角色具有所有系统权限及with admin option选项,默认dba用户为sys和system,它们可以将任何系统权限授予给其他用户。但是dba角色不具备sysdba 和sysoper的权限,即启动和关闭数据库。 select*from tab; --查询所有的用户 select*from dba_users; --查询所有的角色 select*from dba_roles; -- 权限有140多种,要赋值给用户,使用sql grant sql语句,太麻烦,产生角色概念(23种角色),先把权限赋值给角色,比如说connect

oracle常用权限语句

oracle 用户创建及权限设置 权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> conn / as sysdba; SQL>create user username identified by password SQL> grant dba to username; SQL> conn username/password SQL> select * from user_sys_privs; 我们将从创建 Oracle 用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对 Oracle 用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆sqlplus / as sysdba;// 登陆sys帐户sqlplus sys as sysdba;// 同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alter user scott identified by tiger;//修改密码

四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 /*管理员授权*/ 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) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 /*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan; grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限 五、撤销权限 基本语法同grant,关键字为revoke 六、查看权限 select * from user_sys_privs;//查看当前用户所有权限 select * from user_tab_privs;//查看所用用户对表的权限 七、操作表的用户的表 /*需要在表名前加上用户名,如下*/ select * from zhangsan.tablename 八、权限传递 即用户A将权限授予B,B可以将操作的权限再授予C,命令如下: grant alert table on tablename to zhangsan with admin option;//关键字 with admin option grant alert table on tablename to zhangsan with grant option;//关键字 with grant option效果和admin类似 九、角色 角色即权限的集合,可以把一个角色授予给用户 create role myrole;//创建角色

ORACLE数据库用户与权限管理

ORACLE数据库用户与权限管理ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。 2.1 ORACLE数据库安全策略 建立系统级的安全保证 系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。 建立对象级的安全保证 对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。 建立用户级的安全保证 用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。 2.2 用户管理 ORACLE用户管理的内容主要包括用户的建立、修改和删除用户的建立

2.3系统特权管理与控制 ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。 授予系统特权 回收系统特权 显示已被授予的系统特权(某用户的系统级特权) 2.4 对象特权管理与控制 ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。 授予对象特权

//级联授权 回收对象特权 显示已被授予的全部对象特权 2.5 角色的管理 ORACLE的角色是命名的相关特权组(包括系统特权与对象特权),ORACLE用它来简化特权管理,可把它授予用户或其它角色。 ORACLE数据库系统预先定义了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等特权;RESOURCE具有创建过程、触发器、表、序列等特权、DBA具有全部系统特权;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出与装入数据库的特权。 通过查询sys.dba_sys_privs可以了解每种角色拥有的权利。 授予用户角色

oracle权限全集

oracle权限全集 alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任意序列的权限 alter any snapshot 修改任意快照的权限 alter any table 修改任意表的权限 alter any trigger 修改任意触发器的权限 alter cluster 修改拥有簇的权限 alter database 修改数据库的权限 alter procedure 修改拥有的存储过程权限 alter profile 修改资源限制简表的权限 alter resource cost 设置佳话资源开销的权限 alter rollback segment 修改回滚段的权限 alter sequence 修改拥有的序列权限 alter session 修改数据库会话的权限 alter sytem 修改数据库服务器设置的权限 alter table 修改拥有的表权限 alter tablespace 修改表空间的权限 alter user 修改用户的权限 analyze 使用analyze命令分析数据库中任意的表、索引和簇audit any 为任意的数据库对象设置审计选项 audit system 允许系统操作审计

backup any table 备份任意表的权限 become user 切换用户状态的权限 commit any table 提交表的权限 create any cluster 为任意用户创建簇的权限 create any index 为任意用户创建索引的权限 create any procedure 为任意用户创建存储过程的权限create any sequence 为任意用户创建序列的权限create any snapshot 为任意用户创建快照的权限create any synonym 为任意用户创建同义名的权限create any table 为任意用户创建表的权限 create any trigger 为任意用户创建触发器的权限create any view 为任意用户创建视图的权限 create cluster 为用户创建簇的权限 create database link 为用户创建的权限 create procedure 为用户创建存储过程的权限 create profile 创建资源限制简表的权限 create public database link 创建公共数据库链路的权限create public synonym 创建公共同义名的权限 create role 创建角色的权限 create rollback segment 创建回滚段的权限 create session 创建会话的权限 create sequence 为用户创建序列的权限

Oracle用户权限管理 通过 SQL plus

sys 整个数据库网络的管理员最高权限 system 本地数据库管理员 scott 普通用户 创建用户(hong12345): create user hong12345 identified by hong12345 系统授权: grant create session to hong12345; 登录窗口 grant create table to hong12345; 创建表 grant unlimited tablespace to hong12345; 使用表空间 撤销权限: revoke create table from hong12345; rovoke unlimited tablespace from hong12345; 查看用户权限: 提供系统信息的视图Oracle中称数据字典查看当前用户系统权限select * from user_sys_prives; 创建用户(xiaobei) create user xiaobeiindentified by xiaobei create table myxiaobei(id int); insert into myxiaobei(1);

commit;//必须手动提交 对象权限 一个用户访问另外一个用户的表(如hong12345 访问xiaobei) grant select on myxiaobei to hong12345;(将表myxiaobei查询权限给hong12345)grant inert on myxiaobei to hong12345; grant all on myxiaobei to hong12345; select * from user_tab_privs;(查询对象权限) select * from user_col_privs;(查询对象列权限); 对象权限可以控制到列的权限 grant update(name)on myxiaobei to hong12345 grant insert(id)on myxiaobei to hong12345; 撤销; revoke all on myxiaobei from hong12345; 权限传递: sys--》hong12345--》xiaobei sys:grant alter any table to hong12345 with admin option;

oracle 查看用户、权限、角色

查看用户、权限、角色的命令和视图 a 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户系统权限: select * from dba_sys_privs; select * from session_privs; select * from user_sys_privs; 3.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 4.查看所有角色: select * from dba_roles; 5.查看用户所拥有的角色: select * from dba_role_privs; select * from user_role_privs; b 概述 与权限,角色相关的视图大概有下面这些: DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限 USER_SYS_PRIVS: 查询当前用户所拥有的系统权限 SESSION_PRIVS: 查询当前用户所拥有的全部权限 ROLE_SYS_PRIVS:查询某个角色所拥有的系统权限 注意: 要以SYS用户登陆查询这个视图,否则返回空. ROLE_ROLE_PRIVS: 当前角色被赋予的角色 SESSION_ROLES: 当前用户被激活的角色 USER_ROLE_PRIVS: 当前用户被授予的角色 另外还有针对表的访问权限的视图: TABLE_PRIVILEGES ALL_TAB_PRIVS ROLE_TAB_PRIVS: 某个角色被赋予的相关表的权限 oracle与用户角色权限相关的视图 Oracle 本身的数据字典设计我个人觉得很合理, 因为DBA_xxx, ALL_xxx,USER_xxx 让人一看大概就知道这个视图是干什么用的. 本文简要总结了一下与权限,角色相关的视图. 一. 概述 与权限,角色相关的视图大概有下面这些: 1、DBA_SYS_PRIVS: 查询某个用户所拥有的系统权限。 2、USER_SYS_PRIVS: 查询当前用户所拥有的系统权限。

Oracle用户权限表的管理方法

我们将通过介绍命令的方式,谈谈Oracle用户权限表的管理方法,希望对大家有所帮助。 我们将从创建Oracle用户权限表开始谈起,然后讲解登陆等一般性动作,使大家对Oracle用户权限表有个深入的了解。 一、创建 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 sys;//系统管理员,拥有最高权限 system;//本地管理员,次高权限 scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott sqlplus / as sysdba;//登陆sys帐户 sqlplus sys as sysdba;//同上 sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 create user zhangsan;//在管理员帐户下,创建用户zhangsan alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限

/*管理员授权*/ 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) /*管理员授权*/ 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) 2、oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权/*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 grant drop on tablename to zhangsan;//授予删除表的权限 grant insert on tablename to zhangsan;//授予插入的权限 grant update on tablename to zhangsan;//授予修改表的权限 grant insert(id) on tablename to zhangsan;

如何查看oracle用户具有的权限和角色

如何查看oracle用户具有的权限和角色 上次有同学问我,如何查看一个oracle用户具有的权限和角色,我一时没答上来,回头好好研究了一下,记录一下,备查: 1.查看所有用户: select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统权限(直接赋值给用户或角色的系统权限): select * from dba_sys_privs; select * from user_sys_privs; 3.查看角色(只能查看登陆用户拥有的角色)所包含的权限 sql>select * from role_sys_privs; 4.查看用户对象权限: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 5.查看所有角色: select * from dba_roles; 6.查看用户或角色所拥有的角色: select * from dba_role_privs; select * from user_role_privs; 7.查看哪些用户有sysdba或sysoper系统权限(查询时需要相应权限) select * from V$PWFILE_USERS 比如我要查看用户wzsb的拥有的权限: SQL> select * from dba_sys_privs where grantee='WZSB';

GRANTEE PRIVILEGE ADMIN_OPTION ------------------------------ ---------------------------------------- ------------ WZSB CREATE TRIGGER NO WZSB UNLIMITED TABLESPACE NO 比如我要查看用户wzsb的拥有的角色: SQL> select * from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE ------------------------------ ------------------------------ ------------ ------------ WZSB DBA NO YES 查看一个用户所有的权限及角色 select privilege from dba_sys_privs where grantee='WZSB' union select privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='WZSB' );

Oracle用户角色权限等操作

oracle 赋予权限 转发评论 02月21日13:00 最基础的sqlplus username/password@[sid] 连接数据库 sqlplus username/password as sysdba 以管理员连接数据库 管理员连接后创建用户sqlplus system/manager@demo as sysdba create user abc identified by abc ; 创建用户abc密码为abc grant all privileges to abc; 给abc用户赋予所有的权限 给自己留个备份以备不时之需 oracle grant 授权语句--select * from dba_users; 查询数据库中的所有用户 --alter user USERNAME account lock; 锁住用户 --alter user USERNAME account unlock; 给用户解锁 --create user USERNAME identified by USERPASS; 建立用户 一般创建用户后需要授予链接数据库权限 grant connect,resource to USERNAME; --grant create tablespace to USERNAME; 授权创建表空间 --grant SELECT on TABLENAME to USERNAME; 授权查询 授权其他动作格式相同 如果要把所有表的查询权限分配给用户可以用这样的 grant select any table to USERNAME; --grant execute on procedure1 to xujin 授权存储过程

关于oracle 用户去DBA权限的管理

为了规范数据库用户的操作,特制订如下规范: 一、每个系统建立自己的数据库文件和索引文件,每个文件不允许超过2G,不支持自动扩展,系统根据自己的情况申请相应大小的数据文件; 创建文件系统的命令为: (1)创建表空间 Create tablespace coredb_data logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_data01.dbf' size 2G autoextend off (2)创建索引空间 Create tablespace coredb_idx logging datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx01.dbf' size 1G autoextend off (3)增扩表空间 alter tablespace coredb_idx add datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/coredb_idx02.dbf' size 2G autoextend off (4)查看表空间 select dbf.tablespace_name, dbf.totalspace "总量(M)", dbf.totalblocks as 总块数, dfs.freespace "剩余总量(M)", dfs.freeblocks "剩余块数", (dfs.freespace / dbf.totalspace) * 100 "空闲比例" from (select t.tablespace_name, sum(t.bytes) / 1024 / 1024 totalspace, sum(t.blocks) totalblocks from dba_data_files t group by t.tablespace_name) dbf, (select tt.tablespace_name, sum(tt.bytes) / 1024 / 1024 freespace, sum(tt.blocks) freeblocks from dba_free_space tt group by tt.tablespace_name) dfs where trim(dbf.tablespace_name) = trim(dfs.tablespace_name) 二、创建用户的命令 使用ORACLE用户执行如下命令(无DBA权限): sqlplus '/as sysdba' < cascade; create user identified by default tablespace coredb_data temporary tablespace temp;

推荐下载-oracle管理权限 精品

Oracle用户权限管理

●系统的默认用户 # sys;//系统管理员,拥有最高权限 # system;//本地管理员,次高权限 # scott;//普通用户,密码默认为tiger,默认未解锁 ●登陆 # sqlplus / as sysdba;//登陆sys帐户 # sqlplus sys as sysdba;//同上 # sqlplus scott/tiger;//登陆普通用户scott ●管理用户 # create user zhangsan;//在管理员帐户下,创建用户zhangsan # alert user scott identified by tiger;//修改密码

授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使 用,新建的用户也没有任何权限,必须授予权限 # # 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) 2、oralce对权限管理比较严谨,普通用户之间也是默认 不能互相访问的,需要互相授权 #

oracle用户及权限管理

实验三安全管理 【开发语言及实现平台或实验环境】 Oracle10g 【实验目的】 练习创建用户、用户的授权、创建角色、将角色授权给用户等安全管理命令 【实验原理】 一、用户管理 1创建用户 基本语法: CREATE USER user_name IDENTIFIED [BY password|EXTERNALL Y|GLOBALL Y AS 'external_name'] [DEFAULT TABLESPACE tablespace_name] [TEMPORARY TABLESPACE temp_tablesapce_name] [QUOTA n K|M|UNLIMITED ON tablespace_name] [PROFILE profile_name] [PASSWORD EXPIRE] [ACCOUNT LOCK|UNLOCK]; 注意:在创建新用户后,必须为用户授予适当的权限。例如,授予用户CREATE SESSION 权限后,用户才可以连接到数据库。 参数说明: user_name:用于设置新建用户名,在数据库中用户名必须是唯一的; IDENTIFIED:用于指明用户身份认证方式; BY password:用于设置用户的数据库身份认证,其中password为用户口令;EXTERNALL Y:用于设置用户的外部身份认证; GLOBALL Y AS'external_name':用于设置用户的全局身份认证,其中external_name为Oracle 的安全管理服务器相关信息; DEFAULT TABLESPACE:用于设置用户的默认表空间,如果没有指定,Oracle将数据库默认表空间作为用户的默认表空间; TEMPORARY TABLESPACE:用于设置用户的临时表空间; QUOTA:用于指定用户在特定表空间上的配额,即用户在该表空间中可以分配的最大空间;PROFILE:用于为用户指定概要文件,默认值为DEFAULT,采用系统默认的概要文件;PASSWORD EXPIRE:用于设置用户口令的初始状态为过期,用户在首次登录数据库时必须修改口令; ACCOUNT LOCK:用于设置用户初始状态为锁定,默认为不锁定; ACCOUNT UNLOCK:用于设置用户初始状态为不锁定或解除用户的锁定状态。 实例: 创建一个用户user3,口令为user3,默认表空间为USERS,在该表空间的配额为10 MB,

oracle角色权限详解

每个Oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。Oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。 数据库系统权限(Database System Privilege)允许用户执行特定的命令集。例如,CREATE TABLE权限允许用户创建表,GRANT ANY PRIVILEGE 权限允许用户授予任何系统权限。 数据库对象权限(Database Object Privilege)使得用户能够对各个对象进行某些操作。例如DELETE权限允许用户删除表或视图的行,SELECT权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。 一、创建用户 Oracle内部有两个建好的用户:SYSTEM和SYS。用户可直接登录到SYSTEM 用户以创建其他用户,因为SYSTEM具有创建别的用户的权限。在安装Oracle 时,用户或系统管理员首先可以为自己建立一个用户。例如: create user user01 identified by u01; (上面user01是创建的用户u01是密码) 该命令还可以用来设置其他权限,详细情况参见自学资料。要改变一个口令,可以使用alter user命令: alter user user01 identified by usr01; 现在user01的口令已由“u01”改为“usr01”。 除了alter user命令以外,用户还可以使用password命令。如果使用password命令,用户输入的新口令将不在屏幕上显示。有dba特权的用户可以通过password命令改变任何其他用户的口令;其他用户只能改变自己的口令。 当用户输入password命令时,系统将提示用户输入旧口令和新口令,如下所示: password Changing password for user01 Old password: New password: Retype new password:

oracle权限大全

Oracle权限笔记 一、系统的默认用户 1.sys;//系统管理员,拥有最高权限 2.system;//本地管理员,次高权限 3.scott;//普通用户,密码默认为tiger,默认未解锁 二、登陆 1.sqlplus / as sysdba;//登陆sys帐户 2.sqlplus sys as sysdba;//同上 3.sqlplus scott/tiger;//登陆普通用户scott 三、管理用户 1.create user zhangsan;//在管理员帐户下,创建用户zhangsan 2.alert user scott identified by tiger;//修改密码 四,授予权限 1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限 2、/*管理员授权*/ 3、grant create session to zhangsan;//授予zhangsan用户创建session的权限,即登陆权限 4、grant unlimited session to zhangsan;//授予zhangsan用户使用表空间的权限 5、grant create table to zhangsan;//授予创建表的权限 6、grante drop table to zhangsan;//授予删除表的权限

7、grant insert table to zhangsan;//插入表的权限 8、grant update table to zhangsan;//修改表的权限 9、grant all to public;//这条比较重要,授予所有权限(all)给所有用户(public) oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权 1./*oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的*/ 2.grant select on tablename to zhangsan;//授予zhangsan用户查看指定表的权限 3.grant drop on tablename to zhangsan;//授予删除表的权限 4.grant insert on tablename to zhangsan;//授予插入的权限 5.grant update on tablename to zhangsan;//授予修改表的权限 6.grant insert(id) on tablename to zhangsan; 7.grant update(id) on tablename to zhangsan;//授予对指定表特定字段的插入和修改权限,注意,只能是insert和update 8.grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限 五、撤销权限 基本语法同grant,关键字为revoke 六、查看权限 1.select * from user_sys_privs;//查看当前用户所有权限 2.select * from user_tab_privs;//查看所用用户对表的权限 七、操作表的用户的表 1./*需要在表名前加上用户名,如下*/

相关主题
文本预览
相关文档 最新文档