- 浏览: 468457 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
mrshen:
很棒,在其他大神的博客上理清了思路看懂之后,来lz这里用例子学 ...
RED-BLACK(红黑)树的实现TreeMap源码阅读 -
a939639017:
yanf4j check不下来 ?
Java nio 2.0 AIO -
hellostory:
又是抄来的 - -
mysql分表方案 -
davidluoye:
为什么不说下支持的数据库呢?
模糊查询的优化 -
oliveevilo:
表示没看懂
Synchronized和java.util.concurrent.locks.Lock的区别
这里将介绍Oracle修改用户权限的实现过程,包括一些权限管理方面的东西。希望通过本文能对大家了解Oracle修改用户权限有所帮助。
ORACLE数据库用户与权限管理
ORACLE是多用户系统,它允许许多用户共享系统资源。为了保证数据库系统的安全,数据库管理系统配置了良好的安全机制。
2. 1 ORACLE数据库安全策略
建立系统级的安全保证
系统级特权是通过授予用户系统级的权利来实现,系统级的权利(系统特权)包括:建立表空间、建立用户、修改用户的权利、删除用户等。系统特权可授予用户,也可以随时回收。ORACLE系统特权有80多种。
建立对象级的安全保证
对象级特权通过授予用户对数据库中特定的表、视图、序列等进行操作(查询、增、删改)的权利来实现。
建立用户级的安全保证
用户级安全保障通过用户口令和角色机制(一组权利)来实现。引入角色机制的目的是简化对用户的授权与管理。做法是把用户按照其功能分组,为每个用户建立角色,然后把角色分配给用户,具有同样角色的用户有相同的特权。
2.2 用户管理
ORACLE用户管理的内容主要包括用户的建立、修改和删除
用户的建立
- SQL>CREATE USER jxzy
- >IDENTIFIED BY jxzy_password
- >DEFAULT TABLESPACE system
- >QUATA 5M ON system; //供用户使用的最大空间限额
Oracle修改用户权限
- SQL>CREATE USER jxzy
- >IDENTIFIED BY jxzy_pw
- >QUATA 10M ON system;
删除用户及其所建对象
- SQL>DROP USER jxzy CASCADE; //同时删除其建立的实体
2.3系统特权管理与控制
ORACLE 提供了80多种系统特权,其中每一个系统特权允许用户执行一个或一类数据库操作。
授予系统特权
- SQL>GRANT CREATE USER,ALTER USER,DROP USER
- >TO jxzy_new
- >WITH ADMIN OPTION;
回收系统特权
- SQL>REVOKE CREATE USER,ALTER USER,DROP USER
- >FROM jxzy_new
- //但没有级联回收功能
显示已被授予的系统特权(某用户的系统级特权)
- SQL>SELECT*FROM sys.dba_sys_privs
2.4 对象特权管理与控制
ORACLE对象特权指用户在指定的表上进行特殊操作的权利。这些特殊操作包括增、删、改、查看、执行(存储过程)、引用(其它表字段作为外键)、索引等。
授予对象特权
- SQL>GRANT SELECT,INSERT(office_num,office_name),
- >UPDATE(desc)ON office_organization
- >TO new_adminidtrator
- >WITH GRANT OPTION;
- //级联授权
- SQL>GRANT ALL ON office_organization
- >TO new_administrator
回收对象特权
- SQL>REVOKE UPDATE ON office_orgaization
- >FROM new_administrator
- //有级联回收功能
- SQL>REVOKE ALL ON office_organization
- >FROM new_administrator
显示已被授予的全部对象特权
- SQL>SELECT*FROM sys.dba_tab_privs
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可以了解每种角色拥有的权利。
授予用户角色
- SQL>GRANT DBA TO new_administractor
- >WITH GRANT OPTION;
- ==============================================================
Oracle 的用户根据所被授予的权限分为系统权限和对象权限。其中最高的权限是sysdba。 Sysdba具有控制Oracle一切行为的特权,诸如创建、启动、关闭、恢复数据库,使数据库归档/非归档,备份表空间等关键性的动作只能通过具有sysdba权限的用户来执行。这些任务即使是普通DBA角色也不行。Sysoper是一个与sysdba相似的权限,只不过比sysdba少了SYSOPER privileges WITH ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL这几个权限而已。这两者的认证方式是相同的办法,所以下面只介绍sysdba的认证管理。
一般对sysdba的管理有两种方式: *** 作系统认证和密码文件认证。具体选择那一种认证方式取决于:你是想在Oracle运行的机器上维护数据库,还是在一台机器上管理分布于不同机器上的所有的Oracle数据库。若选择在本机维护数据库,则选择 *** 作系统认证可能是一个简单易行的办法;若有好多数据库,想进行集中管理,则可以选择password文件认证方式。
下图比较直观的说明了这个选择权衡过程:
使用 *** 作系统认证方式的配置过程:
1. 在 *** 作系统中建立一个合法帐户。
具体来说,在NT上,首先建立一个本地用户组,取名为ORA__DBA,其中SID为该数据库实例的SID,或者建立一个ORA_DBA地组,该组不对应于任何一个单独的Oracle实例。这样当一个NT上有好几个Oracle实例时,不用分别管理。然后再NT上建立一个用户,并且把它归入该组中。但是实际上这两步在Oracle8I安装过程中已经自动完成了,一般不用手动进行。
第三步:在sqlnet.ora(位于$ORACLE_HOME/NETWORK/ADMIN目录中)中,把SQLNET.AUTHENTICATION _SERVICES 设置为SQLNET.AUTHENTICATION_SERVICES= (NTS),意思为使用NT认证方式。
第四步,在INIT.ORA中,把REMOTE_LOGIN_PASSWORD设置为NONE,意思是不用password认证方式。
完成以上步骤后,就可以在登录到NT后,直接在SQL*Plus 和SERVER MANAGER中CONNECT INTERNAL (CONNECT / AS SYSDBA)来作为超级用户登录到Oracle中,执行一些只有超级用户才能进行的 *** 作。
在Unix下,情况有些不同。毕竟这是两个完全不同的 *** 作系统。
首先,在安装Oracle之前,建立一个DBA组,这一步不用说了,不然是装不上Oracle的。一般还建立一个名为Oracle的用户,并把它加入到DBA组中。
第二步, 设置REMOTE_LOGIN_PASSWORD为NONE。在Oracle8.1以后,该参数默认为EXCLUSIVE。一定要记得改过来。
第三步, 用该用户名登录Unix,运行SQL*Plus 或者SERVER MANAGER,输入以下命令:CONNECT INTERNAL(CONNECT / AS SYSDBA)来登录到Oracle中。
使用password文件认证的具体步骤:
Oracle提供orapwd实用程序来创建password 文件,运用orapwd建立该认证方式的具体步骤如下:
1. 使用Orapwd实用程序来创建一个PASSWORD文件。语法:
orapwd file=文件名 password=internal用户密码 entried=entries.
详细解释:
文件名要包含完整的全路径名,如果不指定,Oracle把它默认放置$ORACLE_HOME/dbs(Unix下)或者$ORACLE_HOME/DATABASE(NT下)下。
用户密码是用户internal的密码。当然后来还可以再向里边加入别的超级用户。
Entries表示最大允许有的超级用户数目。这个是一个可选的。前两者是必须指定的。一般会把它设置的比实际需要大一些,以免不够。
2. 把INIT.ORA中REMOTE_LOGIN_PASSWORD设置为EXCLUSIVE 或SHARED.使用EXCLUSIVE表示只有当前INSTANCE使用这个password文件。而且允许有别的用户作为sysdba登录进系统里边,而若选择了SHARED,则表明不止一个实例使用这个密码文件,伴随着一个很强的约束:sysdba权限只能授予sys和internal这两个用户名。(其实internal不是一个实际用户,而只是sys作为sysdba登录时的一个别名。)
同时还要记得把sqlnet.ora文件中SQLNET.AUTHENTICATION _SERVICES设置为NONE。一般在Unix下它是默认设置。在NT下,若选择典型安装时,会使用OS认证,而自定义时会使用密码文件认证方式。在安装过程中会提示输入INTERNAL密码。这样的话,就不用在手工创建密码文件和设定INTERNAL的密码了。
3. 用SQL*Plus 或SERVER MANAGER运行下面命令登录进系统:CONNECT INTERNAL/密码。
注意点:
1.在Oracle8.1.6安装在WIN2000下创建数据库时,常常会发生凭证检索失败的错误。这是由于Oracle不能应用OS认证的结果。一般可以通过修改sqlnet.ora中SQLNET.AUTHENTICATION _SERVICES为NONE来解决。这时,Oracle将采用密码文件认证方式。
2.由于Oracle有几个系统预建的用户,所以最好在安装完成以后马上改变这些用户的密码。系统默认得密码分别为:internal/oracle , sys/change_on_install, system/manager.
3.当选择密码文件认证方式时,可以再向系统中加入其他超级用户。比如用以下语句把用户SCOTT加入超级用户之中:(由具有sysdba权限的人执行)
SQL>GRANT SYSDBA TO SCOTT;这样SCOTT用户就具有了sysdba权限。注意,此时SCOTT用户可以以两种身份登录:SCOTT , SYS.当SCOTT在登录时没有输入AS SYSDBA时,SCOTT是作为普通用户登录的。而当登录时输入了AS SYSDBA时,此时SCOTT登录进去的用户实际上为sys。
4. 当前系统中的具有sysdba权限的用户名可以从数据字典视图v$pwfile_user中查询得到:
SELECT * FROM V$PWFILE_USERS; 如上图所示。
5. 系统中最大的具有sysdba权限的用户数由创建密码文件时的ENTRIES参数决定。当需要创建更多的具有sysdba权限的用户时,就需要删除原有的密码文件,重新创建一个。这需要关闭数据库,删除密码文件,重新创建一个新的密码文件,在entries中输入足够大的数目。再启动Oracle。这时,所有原来北授权的超级用户都不再存在,需要重新授权。所以在重新创建密码文件前,先要查询该视图,记下用户名,再在创建完密码文件后重新授权。
6. Internal用户密码忘记的处理方法:
有两种办法:
1. ALTER USER SYS IDENTIFIED BY 新密码;//这同时也改变了Internal的密码,在Oracle8I中通过
2. 重新创建一个新的密码文件,指定一个新的密码。
发表评论
-
navicat快捷键
2013-01-05 09:47 13881.ctrl+q 打开查询窗口2.ctrl ... -
mysql分表方案
2012-09-05 22:29 9103一、 概述分表是个目前算是比较炒的比较流行的概念,特别是在 ... -
mysql扩展至分库分表
2012-09-05 21:47 4044MySQL互联网Oracle企业应 ... -
批量修改SEQUENCE,序列同时增加10000
2012-06-26 16:40 1635select 'alter sequence ' || t1. ... -
oracle执行计划
2011-08-23 14:13 1173本文全面详细介绍oracle执行计划的相关的概念,访问数据 ... -
Oracle分页,Oracle中rownum与rowid的理解
2011-08-15 21:33 1876一、 oracle ... -
oracle--如何分析执行计划
2011-08-15 21:31 4256例1: 假设LARGE_TABLE ... -
Oracle优化----索引原理篇
2011-08-15 21:22 9962006-04-04 15:09 1561人阅读 评论(0) ... -
ORACLE执行计划
2011-06-22 17:27 15071 ,什么是执行计划 所谓执行计划,顾名思义,就是对一 ... -
MYSQL 字符
2011-04-23 00:05 1037因为不知道什么时候 ... -
数据库表设计细节
2011-04-11 22:48 1965数据库建表原则 数据 ... -
数据库设计的14个技巧
2011-04-11 22:19 10021. 原始单据与实体之间的关系 可以是一对一、一对多、多对 ... -
ORACLE xmltype 遍历
2011-03-14 16:05 1991DECLARE var XMLType; ... -
ORACLE EXCEPTION总结
2011-03-14 14:53 1413文章分类:数据库 关键字: oracle 一 ORACLE ... -
Oracle存储过程解析XML,并把数据持久化
2011-03-14 14:52 1905需要解析的xml文件:people.xml 1 < ... -
oracle对大对象类型操作:blob,clob,nclob,bfile
2011-03-14 14:49 18463-4 Lob类型 ... -
impdp expdp使用小结
2011-03-11 17:29 2306\ 最近我们迁移数据库,其中涉及到了数据迁移 sql ... -
oracle表空间限额不足问题解决
2011-03-11 16:37 1296web程序访问数据库是,总是报 表空间“hnsd”限额不 ... -
ORACLE JOB
2011-03-11 15:56 1174、设置初始化参数 job_qu ... -
利用oracle快照dblink解决数据库表同步问题
2011-03-11 13:55 1406本实例已完全通过测试, ...
相关推荐
Oracle用户管理是数据库管理系统中的核心组成部分,它涉及到数据库的安全性、权限控制以及不同角色的划分。在Oracle中,用户管理主要包括创建、管理、权限分配和撤销等操作,以确保数据库的稳定运行和数据的安全。 ...
Oracle 用户管理 Oracle 用户管理是 Oracle 数据库管理系统中的一项重要功能,用于管理数据库用户及其权限。通过设置用户权限和限制资源使用,可以确保数据库的安全和高效运行。本节将详细介绍 Oracle 用户管理的...
oracle_用户管理PPT,大家用于培训。
Oracle用户管理是数据库系统中至关重要的一个环节,它涉及到数据安全性、权限控制以及日常操作的便利性。在Oracle中,用户是访问数据库的主体,每个用户都有自己的用户名、口令和权限设定。以下是对Oracle用户管理...
本篇文章将深入探讨“Oracle学习记录之用户管理”这一主题,结合“Oracle命令全集.doc”文档,我们将详细解析Oracle用户管理的相关知识点。 首先,创建用户是Oracle数据库管理员(DBA)的首要任务。使用SQL命令`...
oracle用户管理1.ppt
Oracle用户管理,队Oracle用户的管理和配置进行了详细的说明。
一、课程用到的软件:oracle 11g 二、课程目标: 1. 为有意从事oracle dba工作人员提供学习指导。 2. 提供oracle数据库dba日常管理方法。...第十八讲:oracle 用户管理 第十九讲:oracle 安装部署管理
【标题】:“用户管理系统——在Oracle环境下” 【正文】: 用户管理系统是软件开发中的一个常见模块,主要用于管理和操作用户的相关信息,如注册、登录、权限分配等。在这个项目中,我们采用Java作为主要编程语言...
#### 一、Oracle用户管理概述 在Oracle数据库系统中,用户管理是一项非常重要的任务,它涉及到数据的安全性和访问控制。Oracle提供了多种方式来管理和维护用户账号,其中包括创建新用户、修改用户属性、锁定或解锁...
在"企业管理-第十一章示例程序"中,我们可以期待看到一系列示例程序,这些程序可能涵盖了诸如用户管理、权限控制、报表生成、数据导入导出等常见功能。例如,用户管理模块可能包括注册、登录、密码重置等功能;权限...
总之,Linux下修改Oracle用户密码不仅是日常维护工作的一部分,也是对系统管理员能力的一种考验。通过以上步骤的详细解析,相信每位读者都能在实际操作中更加得心应手,同时也为更深入地探索Oracle数据库管理提供了...
Oracle 企业管理器(OEM 2.1)是 Oracle 公司提供的一款企业管理软件,旨在帮助用户对 Oracle 数据库和相关的系统进行监控和管理。下面是对 Oracle 企业管理器(OEM 2.1)的体系结构和框架设置的详细介绍: 体系...
4.oracle用户管理 5 (1)权限 5 (2)角色 5 (3)方案(schema) 5 (4)用户管理的综合案例 7 (5)账号锁定 8 (6)账号解锁 8 (7)终止口令 8 (8)删除profile文件 8 5.oracle数据库启动流程 9 6.oracle登录认证方式 10 7....
包括以下内容:(1)oracle基础介绍 (2)oralce安装(3)oracle的基本使用 (4)oracle用户管理(5)oracle表的管理 (6)oracle表查询(7)java操作oracle (8)oracl 资源太大,传百度网盘了,链接在附件中,有需要的同学自取...
从基础学习Oracle,全套视频讲座总共30个文件,由浅入深,通俗易懂。 MDA从这里开始!
从基础学习Oracle,全套视频讲座总共30个文件,由浅入深,通俗易懂。 MDA从这里开始!
`_Oracle用户管理.ppt`可能是以幻灯片形式展示的用户管理教程,包含了用户创建、权限分配、角色管理等方面的知识,对于理解Oracle的权限模型和安全管理具有指导意义。 8. **创建表空间与用户**: `001 创建表空间...
综上所述,Oracle用户管理、权限控制、事务处理、锁机制和索引优化是数据库管理的重要方面,理解和掌握这些知识对于提升Oracle数据库的效率和安全性至关重要。通过深入学习和实践,我们可以更好地利用Oracle来支撑...