oracle权限全集
【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用户的权限也可以被回收。
]例:SQL> connect system/managerSQL> 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则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。
Oracle查看所有用户及其权限
Oracle查看所有⽤户及其权限Oracle查看所有⽤户及其权限:Oracle数据字典视图的种类分别为:USER,ALL 和 DBA.USER_*:有关⽤户所拥有的对象信息,即⽤户⾃⼰创建的对象信息ALL_*:有关⽤户可以访问的对象的信息,即⽤户⾃⼰创建的对象的信息加上其他⽤户创建的对象但该⽤户有权访问的信息DBA_*:有关整个数据库中对象的信息(这⾥的*可以为TABLES,INDEXES,OBJECTS,USERS等。
)1、查看所有⽤户select * from dba_user;select * from all_users;select * from user_users;2、查看⽤户系统权限select * from dba_sys_privs;select * from all_sys_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;6、查看当前⽤户的缺省表空间select username,default_tablespace from user_users;7、查看某个⾓⾊的具体权限如 grant connect,resource,create session,create view to TEST;8、查看RESOURCE具有那些权限SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='RESOURCEoracle创建⽤户需要什么权限,Oracle 创建普通⽤户,并赋予权限采⽤sys or system / manager assysdba; 连接数据库。
oracle数据库中的权限
如果授予用户某个带有另外的grant option子句的对象权限,则该用户可以把此权限授予数据库中其他用户。例如:
grant delete on bunuses to hr with grant option;
对象权限是各种类型的数据库对象上的权限,它允许用户在指定的表、视图、实体化视图、序列、过程、函数或程序包上执行操作。因此,数据库所有用户即使不需要任何系统权限,也必须有对象权限。
a、表权限:select、alter、delete、insert和r;
1、系统权限
1)授予系统权限
a、允许登录到oracle数据库
grant create session to hr;
b、将所有系统权限授予用户(除SELECT ANY DICTIONARY权限外)
grant all privileges to hr;
c、授予数据库所有用户执行该权限
grant create session to public;
注意,不能在列级撤销权限,即使该权限是在列级授予的。为撤销一个权限,必须使用表级撤销,不管它是在什么级别授予的,如下所示:
sql>revoke update on ods_process from tester;
grant any object权限
具有grant any object系统权限的用户能够授予和撤销任何对象权限,就像他是实际对象的拥有者一样。在作为SYSDBA(SYS)连接时,你被自动授予这个权限,并且带有with admin option子句。
d、过程、函数和程序包权限:execute和debug
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;//在管理员帐户下,创建用户zhangsan2.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和update8.grant alert all table to zhangsan;//授予zhangsan用户alert任意表的权限五、撤销权限基本语法同grant,关键字为revoke六、查看权限1.select * from user_sys_privs;//查看当前用户所有权限2.select * from user_tab_privs;//查看所用用户对表的权限七、操作表的用户的表1./*需要在表名前加上用户名,如下*/2.select * from zhangsan.tablename八、权限传递1.grant alert table on tablename to zhangsan with admin option;//关键字with admin option2.grant alert table on tablename to zhangsan with grant option;//关键字with grant option效果和admin类似九、角色角色即权限的集合,可以把一个角色授予给用户1.create role myrole;//创建角色2.grant create session to myrole;//将创建session的权限授予myrole3.grant myrole to zhangsan;//授予zhangsan用户myrole的角色4.drop role myrole;删除角色5./*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/。
oracle用户权限
1、创建用户create user zs identified by abc;此时zs还不能登录2、给用户赋权(dba身份)2.1赋会话权限(之后可登录)grant create session to zs;2.2赋建表的权限grant create table to zs;2.3赋配额权限(表空间)(之后可以建表)alter user zs quota 10m on users;2.4指定用户默认表空间alter user zs default tablespace users;2.5创建用户时指定默认表空间create tablespace tbs05 datafile '/home/oracle/tbs05.dbf' size 100m; create user ls identified by abc default tablespace tbs05;2.6赋存储过程权限grant create procedure to zs;2.7赋创建db_link的权限grant create database link to zs;3对象(用户)权限(所有者身份)3.1赋权zs用户登录以scott用户登录,然后grant select on dept to zs;回到zs用户3.2收回权限scott登录revoke select on dept from zs;zs登录4、查看权限4.1 dba_tab_privs(对象权限表)desc dba_sys_privs(系统权限表)4.24.34.3scott赋给zs的权限可以在表dba_tab_privs中查看5删除用户5.1杀掉用户进程select sid,SERIAL#,username,status from v$session;alter system kill session '146,555';5.2删除用户drop user zs cascade;6写一个存储过程来创建用户create or replace procedure create_user(name in varchar2,mima in varchar2)2 as3 begin4 execute immediate 'create user '||name||' identified by '||mima;5 execute immediate ' grant create session to '||name;6 end;7 /exec create_user('zs','abc');。
Oracle权限总结
Oracle 数据库用户管理数据库实例1、用Oracle官方描述:实例是访问Oracle数据库所需的一部分计算机内存和辅助处理后台进程,是由进程和这些进程所使用的内存(SGA)所构成一个集合。
其实就是用来访问和使用数据库的一块进程,它只存在于内存中。
就像Java中new出来的实例对象一样。
我们访问Oracle都是访问一个实例,但这个实例如果关联了数据库文件,就是可以访问的,如果没有,就会得到实例不可用的错误。
实例名指的是用于响应某个数据库操作的数据库管理系统的名称。
她同时也叫SID。
实例名是由参数instance_name决定的。
2、查询当前数据库实例名:select instance_name from v$instance;数据库实例名(instance_name)用于对外部连接。
在操作系统中要取得与数据库的联系,必须使用数据库实例名。
比如我们作开发,要连接数据库,就得连接数据库实例名:jdbc:oracle:thin:@localhost:1521:orcl(orcl就为数据库实例名)一个数据库可以有多个实例,在作数据库服务集群的时候可以用到。
表空间Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。
有了数据库,就可以创建表空间。
表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM 表空间)。
为了便于管理和提高运行效率,可以使用一些附加表空间划分用户和应用程序。
例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。
一个表空间只能属于一个数据库。
创建表空间语法:Create TableSpace 表空间名称DataFile 表空间数据文件路径Size 表空间初始大小Autoextend on 文件自动扩展如:create tablespace db_testdatafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'size 50mautoextend on;查看已经创建好的表空间:select default_tablespace, temporary_tablespace, ername from dba_users d用户Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。
推荐下载-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对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权## 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●查看权限1. select * from user_sys_privs;//查看当前用户所有权限2. 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;//创建角色# grant create session to myrole;//将创建session 的权限授予myrole# grant myrole to zhangsan;//授予zhangsan用户myrole的角色# drop role myrole;删除角色●给用户解锁alter user scott account unlock;●给用户改密码alter user scott identified by scott;●用户操作的例子CREATE USER dltest4 PROFILE "DEFAULT"IDENTIFIED BY dltest4 DEFAULT TABLESPACE "dltest"ACCOUNT UNLOCK;GRANT CONNECT TO dltest4;GRANT DBA TO dltest;GRANT ALTER ANY TABLE TO dltest;GRANT CREATE ANY INDEX TO dltest;GRANT CREATE ANY PROCEDURE TO dltest;GRANT CREATE ANY TABLE TO dltest;GRANT CREATE ANY TRIGGER TO dltest;GRANT DELETE ANY TABLE TO dltest;GRANT DROP ANY INDEX TO dltest;GRANT DROP ANY PROCEDURE TO dltest;GRANT DROP ANY TABLE TO dltest;GRANT DROP ANY TRIGGER TO dltest;GRANT EXECUTE ANY PROCEDURE TO dltest;GRANT INSERT ANY TABLE TO dltest;GRANT SELECT ANY TABLE TO dltest;GRANT UPDATE ANY TABLE TO dltest;grant execute on dbms_pipe to public;grant execute on dbms_lock to public;●sqlplus直接链接远程oracle数据库conn sys/123456@10.10.10.210:1521/orcl as sysdba(指定端口)conn sys/123456@//10.10.10.210/orcl as sysdba(默认端口1521)●限制链接远程oracle数据库通过使用触发器限制ip段链接oracle数据库create or replace trigger chk_ipafter logon on scott.schemadeclareipaddr VARCHAR2(30);beginselect sys_context('userenv', 'ip_address') into ipaddr from dual; if ipaddr like ('10.10.10.%') thenraise_application_error('-20001', 'you can not logon by scott'); end if;end chk_ip;●配置em管理●配置ememca -config dbcontrol db -repos recreate ●启动ememctl start dbconsole●关闭ememctl stop dbconsole。
Oracle_角色_权限具体说明
Oracle_⾓⾊_权限具体说明⼀、Oracle内置⾓⾊connect与resource的权限grant connect,resource to user;CONNECT⾓⾊: --是授予终于⽤户的典型权利,最主要的ALTER SESSION --改动会话CREATE CLUSTER --建⽴聚簇CREATE DATABASE LINK --建⽴数据库链接CREATE SEQUENCE --建⽴序列CREATE SESSION --建⽴会话CREATE SYNONYM --建⽴同义词CREATE VIEW --建⽴视图RESOURCE ⾓⾊: --是授予开发者的CREATE CLUSTER --建⽴聚簇CREATE PROCEDURE --建⽴过程CREATE SEQUENCE --建⽴序列CREATE TABLE --建表CREATE TRIGGER --建⽴触发器CREATE TYPE --建⽴类型从dba_sys_privs⾥能够查到(注意这⾥必须以DBA⾓⾊登录):select grantee,privilege from dba_sys_privswhere grantee='RESOURCE' order by privilege;=================================================⼀、何为⾓⾊?在前⾯的篇幅中说明权限和⽤户。
慢慢的在使⽤中你会发现⼀个问题:假设有⼀组⼈,他们的所需的权限是⼀样的,当对他们的权限进⾏管理的时候会⾮常不⽅便。
由于你要对这组中的每⼀个⽤户的权限都进⾏管理。
有⼀个⾮常好的解决的⽅法就是:⾓⾊。
⾓⾊是⼀组权限的集合,将⾓⾊赋给⼀个⽤户,这个⽤户就拥有了这个⾓⾊中的全部权限。
那么上述问题就⾮常优点理了。
仅仅要第⼀次将⾓⾊赋给这⼀组⽤户,接下来就仅仅要针对⾓⾊进⾏管理就能够了。
以上是⾓⾊的⼀个典型⽤途。
oracle 权限管理
oracle 权限管理 oracle账户解锁一、权限分类:系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
二、系统权限管理: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用户的权限也可以被回收。
]例:SQL> connect system/managerSQL> 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则将用户连同其创建的东西全部删除3、系统权限传递:增加WITH ADMIN OPTION选项,则得到的权限可以传递。
oracle权限管理
Orcale学习文档一、oracle 用户管理简介在Oracle数据库中任何对象都属于一个特定用户,或者说一个用户要连接到Oracle数据库需要一个用户帐户,根据需要授予的操作权限.1.默认数据库用户模式sys; //系统管理员,拥有最高权限system; //本地管理员,次高权限scott; //普通用户,密码默认为tiger,默认为解锁2.什么是权限管理用户对数据库定义(DDL)和访问数据库(DML)的操作。
①系统权限:用户对数据库的相关权限.②对象权限:用户对其它用户的数据对象访问的权限,或者叫操作的权限. 数据对象就是数据库中的表,存储过程,触发器等等.备注:系统权限有140多种,对象权限有25种左右。
3.什么是角色①管理用户对数据库进行不同级别的访问。
②角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。
只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。
二、用户与表空间1、每个用户都有一个默认表空间(默认为System)和一个临时表空间(默认为Temp);2、表空间作用①.决定数据库实体的空间分配;②.设置数据库用户的空间份额;③.控制数据库部分数据的可用性;④.分布数据于不同的设备之间以改善性能;3、创建表空间(TableSpace)语法格式:CREATE TABLESPACE 表空间名DATAFILE 文件标识符[,文件标识符][SIZE整数[K\M] ][AUTOEXTEND] [ON | OFF] ;其中:文件标识符=’文件名’例子:Create TableSpace ts5_11 DataFile ‘E:\OracleTableSpace\05_11\ts1.DBF’,‘E:\OracleT ableSpace\05_11\ts2.DBF'Size 10M;4、修改表空间配置语法格式:ALTER TABLESPCE 表空间名(ADD DATAFILE 文件标识符[,文件标识符] | RENAME DATAFILE ’文件名’[,’文件名’]TO ’文件名’[,’文件名’]);三、权限的管理1、权限和角色的关系①对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户。
Oracle权限一览表
对任何模式中的任何表、视图或列进行注释 对任何模式中的任何表、视图或快照进行查询 把行插入到任何模式中的任何表或视图中 修改任何模式中的任何表或视图中的行 删除任何模式中的任何表或视图中的行 创建表空间;不管用户有何操作系统特权,经由Oracle把文件添加 到操 改变表空间;不管用户有何操作系统特权,经由Oracle把文件添加 到操 使任何表空间脱机,使任何表空间联机,开始和结束对任何表空间的备份 删除表空间 使用任何没有数量限制的表空间。此特权忽略了所分配的任何具体 定额。 假如被取消的话,被授权者的模式对象仍然保留,但是进一步的表 空间分配被拒绝,除非这一分配是具体的表空间定额允许的。此系 统特权仅可以授予用户,而不授予角色。一般而言,应分配具体的 强迫提交或回滚本地数据库中悬而未决的自有的分布式事务 强迫提交或回滚本地数据库中悬而未决的任何分布式事务 在自有模式中创建触发器 在任何模式中创建与任何模式的任何表相关的任何触发器 启用、停用或编译任何模式中的任何触发器 删除任何模式中的任何触发器 创建用户;分配任意表空间上的定额,设置缺省和临时表空间,指 定一个 成为另一个用户(这是任何一个执行完全数据库导入的用户所需要的) 改变其他用户:修改任意用户的口令或验证方法,分配表空间定 额,设置 缺省或临时表空间,在ALTER USER 语句中指定环境资源文件与缺 删除另一个用户 在自有模式中创建视图 在任意模式中创建视图。要在另一个用户模式中创建视图,你必须 具有 CREATE ANY VIEW 特权,拥用者必须在该视图引用的对象上具有 删除任意模式中的任意视图
权限
分析 ANALYZE ANY 审计 AUDIT ANY AUDIT SYSTEM 簇 CREATE CLUSTER CREATE ANY CLUSTER ALTER ANY CLUSTER DROP ANY CLUSTER 数据库 ALTER DATA BASE 数据库链接 CREATE DATABASE LINK 索引 CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX 库 CREATE LIBRARY CREATE ANY LIBRARY DROP LIBRARY DROP ANY LIBRARY 特权 GRANT ANY PRIVILEGE 过程 CREATE PROCEDURE
oracle权限角色及其他操作
oracle权限角色一、权限管理二、系统权限:系统规定用户使用数据库的权限。
(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。
(是针对表或视图而言的)。
1、系统权限分类DBA:拥有全部的特权,是oracle的最高权限,只有拥有DBA权限才可以建立数据库结构(建数据库)。
CONNECT:拥有connect权限才可以登入oracle,不可以创建实体及数据库结构。
RESOURCE:只有拥有resource权限才可以创建实体,但不可以创建数据库结构。
一般创建用户时,普通用户授予connect、resource权限;DBA管理用户授予connect、resource、dba权限。
(属于预定义角色2、实体权限实体权限有:select、update、insert、index、alter、delete、all(所有权限)、execute(执行存储过程的权限)3、创建用户语法:Create user usernameIdentified by user_password (用户的密码)Default tablespace tablespace(默认表空间,系统有system、sysaux、users 这些表空间)Temporary tablespace tablespace(临时表空间,系统为temp)Profile profile (资源默认为 default)Quota integer/unlimit on tablespace ;(分配给表空间的大小)创建user_test 用户Create user user_testIdentified by user_testDefault tablespace account (表空间为account,也可以为system/sysaux 系统原来有的)Temporary tablespace tempProfile default (默认资源,也可以为自己所创建的资源)Quota 50m on accout; (分配50m给account表空间)//////////////////////////////////////////////////////////////// create user huiweiidentified by Huiwei123default tablespace mydataspacetemporary tablespace mydatatempprofile DEFAULT;授权给用户Grant connect,resource to user_test;Grant connect,resource,dba to user_test with admin option; (加with admin option 可以传递所获得的权限)权限回收Revoke connect,resource from user_test;(回收权限时,不会级联的收回权限,如A授予B权限,B传递授予C权限,当A收回B的权限时,不会连C也收回;A也可以把C的权限收回)4、创建用户表及实体授权Create table user_test.table_test//在user_tes下建表可加可不user_test. (Id_name number(11),Name_num varchar2(12),Time_add date);实体授权Grant select、update on table_test to user2;Grant select、update on table_test to user2 with grant option (加with grant option用户获得权限可以传递)将表的操作权限授予全体用户:Grant all on table_name to public; //这里all不包括drop权限回收权限Revoke select、update from user2 ; //传递的权限会丢失(user2传递给其他用户的权限)。
oracle权限分配
我们将从创建Oracle用户权限表开始谈起,然后学习登陆等一般性动作,使大家对Oracle用户权限分配控制有个深入的了解。
一、创建sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁二、登陆sqlplus / as sysdba;//登陆sys帐户sqlplus sys as sysdba;//同上sqlplus scott/tiger;//登陆普通用户scott三、管理用户create user zhangsan;//在管理员帐户下,创建用户zhangsanalert user scott identified by tiger;//修改密码四,授予权限1、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限/*管理员授权*/grantcreatessiontozhangsan;//授予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和updategrant 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 optiongrant alert table on tablename to zhangsan with grant option;//关键字with grant option效果和admin类似九、角色角色即权限的集合,可以把一个角色授予给用户create role myrole;//创建角色grant create session to myrole;//将创建session的权限授予myrolegrant myrole to zhangsan;//授予zhangsan用户myrole的角色drop role myrole;删除角色/*但是有些权限是不能授予给角色的,比如unlimited tablespace和any关键字*/。
oracle系统权限列表
oracle系统权限列表摘要:这里介绍Oracle系统特权,Oracle 10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据目录视图中。
读者应该熟悉下列几组特权。
标签:Oracle系统特权Oracle帮您准确洞察各个物流环节Oracle通过长时间的进展,很多用户都很熟悉Oracle系统特权了,这里我发表一下个人懂得,与大家讨论讨论。
特权借助于GRANT语句分配给一个用户或者角色,同时能够借助于REVOKE语句取消。
Oracle 10G数据库有3种类型的特权:1. 对象特权模式对象上的特权,比如表、视图、序列、过程与包等模式对象。
要想使用这些对象,需要该对象上的特权。
2. 系统特权数据库级操作上的特权,比如连接到数据库,创建用户、更换数据库或者消耗极大数据的表空间等操作。
3. 角色特权一个用户作为一个角色所拥有的对象与系统特权。
角色是用来管理特权组的工具。
Oracle系统特权同意被授权者执行系统级Data Definition Language语句(如CREATE,ALTER 与DROP)或者Data Manipulation Language语句。
Oracle 10G有170多种系统特权,所有这些特权被列举在SYSTE_PRIVILEGE_MAP数据目录视图中。
读者应该熟悉下列几组特权序列1. CREATE SEQUENCE同意被授权者在他们自己的模式中创建新的序列2. CREATE ANY SEQUENCE同意被授权者在任意一个模式中创建新的序列3. ALTER ANY SEQUENCE同意被授权者修改数据库中任意一个序列的属性4. DROP ANY SEQUENCE同意从数据库内的任意一个模式中删除任意一个序列5. SELECT ANY SEQUENCE会话1. CREATE SESSION同意被授权者连接到数据库。
该特权对用户账户是必需的,但对软件账户可能是不受欢迎的。
Oracle权限表
ANY TABLE特权)
ALTER SNA PSHOT
改变任何模式中的任何快照
DROP ANY SNA PSHOT
删除任何模式中的任何快照
同义词
CREATE SYNONYM
在自有模式中创建同义词
CREATE ANY SYNONYM
在任何模式中创建任何同义词
SELECT ANY TA B L E对任何模式中的任何表、视图或快照进行查询
INSERT ANY TA B L E把行插入到任何模式中的任何表或视图中
UP DATE ANY TA B L E修改任何模式中的任何表或视图中的行
DELETE ANY TA B L E
删除任何模式中的任何表或视图中的行
表空间
CREATE ANY TABLE
在任何模式中创建表(假如被授权者有C R E
ATE ANY TA B L E特权并
在另一个用户模式中创建了一张表,那么拥有者必 须在那个表空间上
有空间定额。表的拥有者不必具有C R E AT [ANY] TA B L E特权)
ALTER ANY TABLE
改变任何模式中的任何表并编译任何模式中的任何 视图
发出A LTER SESSION语句
RESTRICTED SESSION
当数据库利用S TA RTUP RESTRICT启动时进
行连接(O SO P E R与
O S D B A角色包含此特权)
序列
CREATE SEQUENCE
在自有模式中创建序列
CREATE ANY SEQUENCE
在任何模式中创建任何序列
删除数据库中的任何一个角色
GRANT ANY ROLE
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 为用户创建序列的权限create snapshot 为用户创建快照的权限create synonym 为用户创建同义名的权限create table 为用户创建表的权限create tablespace 创建表空间的权限create user 创建用户的权限create view 为用户创建视图的权限delete any table 删除任意表行的权限delete any view 删除任意视图行的权限delete snapshot 删除快照中行的权限delete table 为用户删除表行的权限delete view 为用户删除视图行的权限drop any cluster 删除任意簇的权限drop any index 删除任意索引的权限drop any procedure 删除任意存储过程的权限drop any role 删除任意角色的权限drop any sequence 删除任意序列的权限drop any snapshot 删除任意快照的权限drop any synonym 删除任意同义名的权限drop any table 删除任意表的权限drop any trigger 删除任意触发器的权限drop any view 删除任意视图的权限drop profile 删除资源限制简表的权限drop public cluster 删除公共簇的权限drop public database link 删除公共数据链路的权限drop public synonym 删除公共同义名的权限drop rollback segment 删除回滚段的权限drop tablespace 删除表空间的权限drop user 删除用户的权限execute any procedure 执行任意存储过程的权限execute function 执行存储函数的权限execute package 执行存储包的权限execute procedure 执行用户存储过程的权限force any transaction 管理未提交的任意事务的输出权限force transaction 管理未提交的用户事务的输出权限grant any privilege 授予任意系统特权的权限grant any role 授予任意角色的权限index table 给表加索引的权限insert any table 向任意表中插入行的权限insert snapshot 向快照中插入行的权限insert table 向用户表中插入行的权限insert view 向用户视图中插行的权限lock any table 给任意表加锁的权限manager tablespace 管理(备份可用性)表空间的权限references table 参考表的权限restricted session 创建有限制的数据库会话的权限select any sequence 使用任意序列的权限select any table 使用任意表的权限select snapshot 使用快照的权限select sequence 使用用户序列的权限select table 使用用户表的权限select view 使用视图的权限unlimited tablespace 对表空间大小不加限制的权限update any table 修改任意表中行的权限update snapshot 修改快照中行的权限update table 修改用户表中的行的权限update view 修改视图中行的权限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 为用户创建序列的权限create snapshot 为用户创建快照的权限create synonym 为用户创建同义名的权限create table 为用户创建表的权限create tablespace 创建表空间的权限create user 创建用户的权限create view 为用户创建视图的权限delete any table 删除任意表行的权限delete any view 删除任意视图行的权限delete snapshot 删除快照中行的权限delete table 为用户删除表行的权限delete view 为用户删除视图行的权限drop any cluster 删除任意簇的权限drop any index 删除任意索引的权限drop any procedure 删除任意存储过程的权限drop any role 删除任意角色的权限drop any sequence 删除任意序列的权限drop any snapshot 删除任意快照的权限drop any synonym 删除任意同义名的权限drop any table 删除任意表的权限drop any trigger 删除任意触发器的权限drop any view 删除任意视图的权限drop profile 删除资源限制简表的权限drop public cluster 删除公共簇的权限drop public database link 删除公共数据链路的权限drop public synonym 删除公共同义名的权限drop rollback segment 删除回滚段的权限drop tablespace 删除表空间的权限drop user 删除用户的权限execute any procedure 执行任意存储过程的权限execute function 执行存储函数的权限execute package 执行存储包的权限execute procedure 执行用户存储过程的权限force any transaction 管理未提交的任意事务的输出权限force transaction 管理未提交的用户事务的输出权限grant any privilege 授予任意系统特权的权限grant any role 授予任意角色的权限index table 给表加索引的权限insert any table 向任意表中插入行的权限insert snapshot 向快照中插入行的权限insert table 向用户表中插入行的权限insert view 向用户视图中插行的权限lock any table 给任意表加锁的权限manager tablespace 管理(备份可用性)表空间的权限references table 参考表的权限restricted session 创建有限制的数据库会话的权限select any sequence 使用任意序列的权限select any table 使用任意表的权限select snapshot 使用快照的权限select sequence 使用用户序列的权限select table 使用用户表的权限select view 使用视图的权限unlimited tablespace 对表空间大小不加限制的权限update any table 修改任意表中行的权限update snapshot 修改快照中行的权限update table 修改用户表中的行的权限update view 修改视图中行的权限-----------------------------------------------------------------------------------一、权限是用户对一项功能的执行权力。