Oracle中的权限管理
说明:Oracle中权限分为系统权限和对象权限
1.Oracle中有3个默认的用户
1.sys用户 change_on_install DBA用户 (登录是必须加 as sysdba)
2.system用户 manager 管理员用户
3.scott用户 tiger 普通用户
4.创建新的用户
create user myUser identified by myPwd;
2.Oracle中3个重要的系统权限
1.Oracle连接数据库权限
新创建的用户(myUser)是不能连接数据库的,需要管理员给他赋予连接数据库的权限
grant create session to myUser;
授权成功以后就可以连接数据库了。
2.Oracle中对表的权限
grant create table to myUser;(只能给自己创建表,当给自己创建表以后,就相当于对自己的表拥有修改和删除的权限)
grant create any table to myUser;(可以给任何人创建表)
grant alter any table to myUser;
grant drop any table to myUser;
没有alter table 和 drop table 权限。
授权成功以后就可以创建表。
此时,当前用户就可以拥有自己的表,然后他可以对自己的表拥有增删改查权限,不用再授权。
3.Oracle中不受上限的表空间使用权限
grant unlimited tablespace;
4.撤销各种权限
revoke create session from myUser;
revoke create table from myUser;
revoke create any table from myUser;
revoke alter any table from myUser;
revoke drop any table from myUser;
revoke unlimited tablespace from myUser;
5.将系统权限授予所有人
grant create session to public;
grant create table to public;
grant create any table to public;
grant drop any table to public;
grant alter any table to public;
grant unlimited tablespace to public;
6.查看当前用户拥有哪些系统权限
select * from user_sys_privs;
从视图中查看用户的系统权限。
3.Oracle中对象权限
1.授予对象权限
grant select on myTable to otherUser;
grant select any table to otherUser;
grant update on myTable to otherUser;
grant update any table to otherUser;
grant insert on myTable to otherUser;
grant insert any table to otherUser;
grant delete on myTable to otherUser;
grant delete any table to otherUser;
grant all on myTable to otherUser;
grant all on myTable to public;
2.撤销对象权限
revoke select on myTable from otherUser;
revoke select any table from otherUser;
revoke update on myTable form otherUser;
revoke update any table from otherUser;
revoke insert on myTable form otherUser;
revoke insert any table from otherUser;
revoke delete on myTable fomr otherUser;
revoke delete any table from otherUser;
revoke all on myTable from otherUser;
revoke all on myTable from public;
3.对象权限可以控制到列(除了查询和删除)
grant update(colName) on myTable to otherUser;
grant insert(colName) on myTable to otherUser;
当然也可以收回列的控制权限。
4.查看当前用户拥有哪些对象权限
select * from user_tab_privs;
从视图中查看用户的对象权限
select * from user_col_privs;
从视图中查看用户对列的控制权限
4.ddl\dml\dcl介绍
1.ddl.数据定义语言
例如:创建表(create),修改表(alter),删除表等语句(drop)。
2.dml.数据操作语言
例如:插入数据(insert),删除数据(delete,truncate),更新数据(update),查询数据语句(select)。
3.dcl.数据控制语言
例如:授权(grant)和撤销权限(revoke)等语句。
注意:只有dml需要commit,当然查询语句不需要commit。
5.Oracle中权限的传递
1.对于系统权限
不允许权限传递
grant create session to myUser;
允许权限传递
grant create session to myUser with admin option;
2.对于对象权限
不允许权限传递
grant select on myTable to otherUser;
允许权限传递
grant select on myTable to otherUser with grant option;
6.Oracle中的角色管理
1.创建角色
create role myRole;
2.给角色授权
grant create session to myRole;
grant create table to myRole;
3.给用户指定角色
grant myRole to myUser;
4.删除角色
drop role myRole;
5.有些权限很高,不能通过角色分配给用户,只能直接分配给用户
比如:unlimited tablespace
grant unlimited tablespace to myUser;
7.Oracle中的3中验证机制
1.操作系统验证
SYSDBA,SYSOPER两个角色的用户(比如sys用户)都是用操作系统和密码文件验证
用操作系统验证时,可以不需要用户名和密码
2.密码文件验证
当操作系统用户不存在时,就会进行密码文件验证,就需要正确的用户名密码。
3.数据库验证
一般数据库用户都是数据库验证,因为是在数据库启动以后才能普通用户登录
4.数据库的启动顺序
1.启动监听
lsnrctl start;
2.进行sys用户登录
sqlplus sys/password as sysdba;
conn sys/password as sysdba;
当监听器监听到是as sysdba 时候,就进行操作系统和密码文件验证。
3.启动数据库(启动实例)
startup;
4.普通用户登录
conn scott/tiger;
当数据库启动以后,用户登录的时候就可以使用数据库验证。
分享到:
相关推荐
### Oracle权限管理详解 #### 一、Oracle用户权限概述 Oracle数据库系统中权限管理是确保数据安全的关键组成部分。本文档将详细介绍Oracle权限管理的基础概念、系统权限与对象权限的分配和撤销方法,以及如何通过...
Oracle权限管理是数据库系统中至关重要的一个环节,它确保了数据的安全性和访问控制。在Oracle 10g和11g版本中,权限管理机制经过精心设计,为管理员提供了多种工具和策略来管理用户访问权限。本文将深入探讨Oracle...
Oracle权限管理是数据库管理系统中确保数据安全性和控制访问权限的核心机制。在Oracle中,权限管理主要分为系统权限和对象权限两大类,通过这两类权限,管理员可以精细地控制用户对数据库资源的访问。 系统权限涉及...
### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项非常重要的任务,它涉及如何控制用户对数据库资源的访问以及他们能执行的操作类型。本文将详细介绍Oracle中的权限管理概念、不同类型的权限及其授予与...
oracle 权限管理中系统权限管理,挺不错的
本节将重点介绍几个常用的Oracle权限管理命令,并结合实例进行说明: 1. **登录权限**: - `CREATE SESSION`:允许用户登录到数据库。 ```sql GRANT CREATE SESSION TO zhangsan; ``` - `UNLIMITED TABLESPACE...
### Oracle权限管理详解 在Oracle数据库管理中,权限管理是一项重要的功能,它涉及到数据库的安全性和数据访问控制。本文将基于提供的文件信息,详细介绍Oracle中如何创建用户、分配及撤销权限等关键操作,并深入...
### Oracle权限管理详解 #### 一、Oracle权限概述 Oracle数据库通过权限管理机制来确保数据的安全性和完整性。权限主要包括系统权限(SYS PRIVILEGES)和对象权限(OBJECT PRIVILEGES)。系统权限允许用户执行特定...
Oracle数据库的权限管理和资源分配是数据库管理中的关键环节,对于保证数据安全性、系统性能和稳定性至关重要。在四川绵阳电信分公司的实例中,由于初期的开放式管理模式,开发人员、维护人员和查询人员对数据库的...
摘自《Oracle 10g DBA宝典》。样例详实,图文并茂,是不可多得的Oracle10入门教程
Oracle权限管理是数据库安全的重要组成部分,它确保了对数据库资源的正确访问和控制。在Oracle中,权限分为系统权限和对象权限。系统权限涉及到数据库级别的操作,如创建表、索引、用户等;对象权限则涉及到对特定表...
Oracle权限管理是指对用户和模式的权限管理。权限可以授予用户或模式,可以控制用户和模式对数据库对象的访问和操作权限。权限管理是 Oracle 安全机制的核心组件,可以确保数据库的安全和可靠性。 Oracle用户与...
摘自《Oracle 10g DBA宝典》。样例详实,图文并茂,是不可多得的Oracle10入门教程
3. **Oracle权限管理**: - **系统权限**:用于执行数据库维护任务,如创建表、索引、用户等。这些权限可以通过`GRANT [system_privilege] TO user_name;`语句授予。 - **对象权限**:针对特定数据库对象,如表、...
在Oracle数据库系统中,权限管理是确保...总之,Oracle权限管理是数据库安全的核心部分,涉及系统权限、对象权限、角色和Data Pump导出等工具的使用。理解并熟练掌握这些概念对于维护数据库的安全性和稳定性至关重要。