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;
当数据库启动以后,用户登录的时候就可以使用数据库验证。
转自: http://dyygusi.iteye.com/blog/1979662
分享到:
相关推荐
MySQL的权限管理相对简单,而Oracle有更复杂的用户、角色和权限体系。在转换时,需要考虑用户权限和角色的迁移。 4. **表空间和分区**: Oracle支持表空间和分区,这是MySQL不具有的特性。在转换过程中,可能需要...
MySQL到Oracle的数据迁移是一项常见的任务,特别是在企业级应用中,可能因为各种原因需要从MySQL迁移到功能更强大的Oracle数据库系统。下面将详细讲解这个过程涉及的关键知识点。 首先,我们需要了解MySQL和Oracle...
在Oracle环境中,权限控制是通过授权(GRANT)和回收(REVOKE)操作来实现的,以决定用户或角色可以访问哪些资源以及他们可以执行的操作。 首先,让我们详细了解一下Oracle中的权限类型: 1. **系统权限**:这些...
在Oracle的用户管理中,创建新用户需要使用create user语句,并赋予适当的密码。修改密码可以用alter user命令,删除用户通常需要dba权限,使用drop user命令。如果用户已创建对象,如表,删除时需添加cascade选项以...
Oracle 企业管理器(OEM 2.1)使用指南内容 Oracle 企业管理器(OEM 2.1)是 Oracle 公司提供的一款企业管理软件,旨在帮助用户对 Oracle 数据库和相关的系统进行监控和管理。下面是对 Oracle 企业管理器(OEM 2.1...
在实际操作中,DBA通常会结合Oracle企业管理器(OEM)进行图形化管理,这使得操作更为直观和便捷,同时配合SQL命令进行更精细的控制。通过理解并熟练掌握这些知识点,DBA可以有效地管理和保护Oracle数据库的用户账号...
本节将重点介绍几个常用的Oracle权限管理命令,并结合实例进行说明: 1. **登录权限**: - `CREATE SESSION`:允许用户登录到数据库。 ```sql GRANT CREATE SESSION TO zhangsan; ``` - `UNLIMITED TABLESPACE...
管理员还需要处理系统的安全性和权限控制,如设置不同用户角色的访问权限,防止未经授权的数据访问或修改。 教师在系统中的主要任务是成绩登记和成绩统计。这需要系统具备录入、修改和查询成绩的功能,同时,为确保...
Oracle权限分为两种基本类型:系统权限和对象权限。系统权限涉及到对数据库整体操作的访问,如创建表、执行DML(数据操纵语言)语句、备份数据库等。对象权限则针对特定数据库对象,如查看、修改、删除某张表的数据...
oracle 权限管理中系统权限管理,挺不错的
ORACLE数据库权限管理是指在ORACLE数据库中对用户、角色和权限的管理,以确保数据库的安全和可靠性。下面是ORACLE数据库权限管理改进措施的详细解释: 编写目的 ORACLE数据库权限管理改进措施的编写目的是为了提高...
在这个详尽的教程中,我们将深入探讨Oracle9i企业管理器的各项特性,帮助你掌握这个强大工具的使用。 一、Oracle9i企业管理器概述 Oracle9i企业管理器,简称OEM,是Oracle9i版本中的一个关键组件,用于简化数据库的...
5. **安全管理**:企业管理器允许管理数据库用户、角色和权限,确保只有授权用户可以访问特定的数据。此外,它还能跟踪和记录数据库活动,以便进行审计和合规性检查。 6. **配置管理**:通过企业管理器,你可以轻松...
5. 权限和安全设置:Oracle数据库有更复杂的用户权限管理,转换过程中需考虑用户、角色和权限的迁移,以保证新环境下的访问控制。 6. 测试和验证:迁移前应进行充分的测试,确保数据完整无误,并在目标Oracle数据库...
Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,它在企业级应用中占据了重要地位。通过韩顺平的课程,学习者可以系统地了解Oracle的架构、管理、查询优化和性能调优等多个方面。 课件内容可能涵盖以下...
根据给定的文件信息,...上述知识是Oracle 12c数据库管理中的关键知识点。在实际操作过程中,数据库管理员(DBA)需要根据企业的需求和数据库的具体情况,灵活运用上述知识点,以确保数据库的稳定性、安全性和高效性。
Oracle用户管理是数据库管理系统中的核心组成部分,它涉及到数据库的安全性、权限控制以及不同角色的划分。在Oracle中,用户管理主要包括创建、管理、权限分配和撤销等操作,以确保数据库的稳定运行和数据的安全。 ...
Oracle数据库系统是全球广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。"韩顺平玩转Oracle视频笔记"是一份非常适合初学者的学习资料,通过视频教程的形式,深入浅出地讲解Oracle的基础知识和实际...
标题“sqlserver转oracle”指的是将SQL Server数据库中的数据迁移或同步到Oracle数据库的过程。这个过程通常发生在组织更换数据库系统,或者需要在不同数据库平台之间共享数据时。下面将详细介绍这个过程中涉及的...
在用户管理中,口令管理是一项基础任务。Oracle允许管理员通过`ALTER USER`命令来设定口令的过期、锁定或解锁用户账户。例如,`ALTER USER blue PASSWORD EXPIRE`将使用户蓝色的密码立即过期,`ALTER USER blue ...