Oracle11g用户管理_第1页
Oracle11g用户管理_第2页
Oracle11g用户管理_第3页
Oracle11g用户管理_第4页
Oracle11g用户管理_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分第一部分 用户账户与权限用户账户与权限 再讲之前先考虑一个问题 如果现在使用再讲之前先考虑一个问题 如果现在使用 oracle 数据库的时候忘记了密码怎么数据库的时候忘记了密码怎么 办 办 可能有同学想到可以用可能有同学想到可以用 sys 用户找回密码 如果连用户找回密码 如果连 sys 用户密码都忘了呢 用户密码都忘了呢 还有什么办法吗 还有什么办法吗 1 数据库中存在的用户具有 数据库中存在的用户具有 OPEN LOCK EXPIRE 三种状态 查看当前的三种状态 查看当前的 数据库已经启用的 数据库已经启用的 OPEN 用户情况使用表 用户情况使用表 dba users 2 2 创建用户的基本命令 创建用户的基本命令 createcreate useruser 新的用户名新的用户名 identifiedidentified byby 密码密码 创建一个创建一个 test1test1 的用户 密码为的用户 密码为 123123 createcreate useruser test1test1 identifiedidentified byby 123 123 用户创建好了 大家试一下用新用户登陆数据库是否可以 用户创建好了 大家试一下用新用户登陆数据库是否可以 3 3 授予用户权限的命令 授予用户权限的命令 grantgrant 权限名权限名 角色名角色名 toto 用户用户 将将 createcreate sessionsession 的权限给的权限给 test1test1 用户用户 grantgrant createcreate sessionsession toto test1 test1 4 4 修改用户密码命令 修改用户密码命令 alteralter useruser 用户名用户名 identifiedidentified byby 新密码新密码 将用户将用户 test1test1 的密码由的密码由 123123 改为改为 test1 test1 想一下谁有权利改 想一下谁有权利改 alteralter useruser test1test1 identifiedidentified byby test1 test1 5 5 设置用户密码过期命令 设置用户密码过期命令 alteralter useruser 用户名用户名 passwordpassword expire expire 将用户将用户 test1test1 的密码设置为过期状态 使用的密码设置为过期状态 使用 dba tablesdba tables 查看一下当前账查看一下当前账 户的状态 现在户的状态 现在 test1test1 使用使用 test1test1 的密码还能登陆吗 出现什么现象 的密码还能登陆吗 出现什么现象 alteralter useruser test1test1 passwordpassword expire expire 6 6 设置用户锁定 设置用户锁定 解锁 解锁 alteralter useruser 用户名用户名 accountaccount lock unlock lock unlock 将用户将用户 test1test1 设置锁定设置锁定 使用使用 test1test1 还能登陆吗 还能登陆吗 alteralter useruser test1test1 accountaccount lock lock 7 7 解锁 解锁 test1test1 用户 使用用户 使用 test1test1 登陆 创建一张表登陆 创建一张表 createcreate tabletable mytab mytab idid number number namename varchar2 50 varchar2 50 可以创建吗 可以创建吗 8 8 为用户授与相关的权限 为用户授与相关的权限 grantgrant 权限名权限名 toto 用户用户 为用户授予创建表的权限 为用户授予创建表的权限 g grantrant createcreate tabletable toto test1 test1 再试一下可以创建表了吗 再试一下可以创建表了吗 9 9 使用 使用 test1test1 用户查询一下用户查询一下 scottscott 用户下的用户下的 empemp 表的表的 ename empno jobename empno job 列 列 s selectelect ename empno jobename empno job fromfrom emp emp 可以吗 可以吗 selectselect ename empno jobename empno job fromfrom scott emp scott emp 这样可以吗 这样可以吗 1010 为用户 为用户 test1test1 授予查询授予查询 scott empscott emp 表的权限 使用表的权限 使用 syssys 用户授予 用户授予 grantgrant selectselect onon scott empscott emp toto test1 test1 试一下可以使用用户试一下可以使用用户 test1test1 往往 scott empscott emp 插入数据吗 插入数据吗 主要权限主要权限 insert insert deletedelete updateupdate selectselect grantgrant select insertselect insert onon scott empscott emp toto new new 1111 回收 回收 test1test1 用户的查询 插入用户的查询 插入 scott empscott emp 表的权限表的权限 revokerevoke select insertselect insert onon scott empscott emp fromfrom new new 1212 删除用户 删除用户 dropdrop useruser newnew cascade cascade 级联删除 级联删除 1313 通过以上命令可以看出 创建一个用户再为这个用户授予相关的权限是比 通过以上命令可以看出 创建一个用户再为这个用户授予相关的权限是比 较复杂的 所以较复杂的 所以 oracleoracle 中引入了角色的概念 只要创建一个用户后将相应的权中引入了角色的概念 只要创建一个用户后将相应的权 限授予这个用户即可 限授予这个用户即可 新建一个用户新建一个用户 test2 123test2 123 为用户授予 为用户授予 connectconnect 和和 resourceresource 权限 权限 createcreate useruser test2test2 identifiedidentified byby 123 123 grantgrant connect resourceconnect resource toto test2 test2 现在试一下使用现在试一下使用 test2test2 用户是否可以登录 创建表呢 用户是否可以登录 创建表呢 预定义角色预定义角色 预定义角色是指预定义角色是指 Oracle 所提供的角色 每种角色都用于执行一些特定的管理任所提供的角色 每种角色都用于执行一些特定的管理任 务 下面我们介绍常用的预定义角色务 下面我们介绍常用的预定义角色 connect resource dba connect 角色角色 connect 角色具有一般应用开发人员需要的大部分权限 当建立了一个用户后 角色具有一般应用开发人员需要的大部分权限 当建立了一个用户后 多数情况下 只要给用户授予多数情况下 只要给用户授予 connect 和和 resource 角色就够了 那么角色就够了 那么 connect 角色具有以下系统权限 角色具有以下系统权限 alter session create cluster create database link create session 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 角色角色 dba 角色具有所有的系统权限 及角色具有所有的系统权限 及 with admin option 选项 默认的选项 默认的 dba 用户为用户为 sys 和和 system 他们可以将任何系统权限授予其他用户 但是要注意的是他们可以将任何系统权限授予其他用户 但是要注意的是 dba 角角 色不具备色不具备 sysdba 和和 sysoper 的特权 启动和关闭数据库 的特权 启动和关闭数据库 如果要了解用户拥有哪些角色 以及角色中包含哪些权限 可以查看表中所示如果要了解用户拥有哪些角色 以及角色中包含哪些权限 可以查看表中所示 的数据字典视图 的数据字典视图 第二部分 用户配置文件第二部分 用户配置文件 Oracle 安装完成后 自动创建了名为安装完成后 自动创建了名为 default 的资源配置文件 可以通过以下的资源配置文件 可以通过以下 命令查看 查看命令查看 查看 dba profiles 表 表 从查询结果 从查询结果 profile 文件名 文件名 resource name 资源名 资源名 limit 资源限制 中可以资源限制 中可以 看出在名为看出在名为 default 的的 profile 中有中有 16 个个 resource name 每一个每一个 resource name 都可以做限制 都可以做限制 下面让我们来认识以下这下面让我们来认识以下这 16 个个 resource name 以及它们的作用以及它们的作用 1 COMPOSITE LIMIT 由多个资源限制参数构成的复杂限制参数 利用该由多个资源限制参数构成的复杂限制参数 利用该 参数可以对所有混合资源进行设置 参数可以对所有混合资源进行设置 2 SESSIONS PER USER 每个用户可以拥有的会话数 即同时最多可以有每个用户可以拥有的会话数 即同时最多可以有 几个客户端使用这个用户登陆数据库 用户的并发个数 几个客户端使用这个用户登陆数据库 用户的并发个数 3 CPU PER SESSION 每个会话可以占用的每个会话可以占用的 CPU 总时间 其单位为百分之总时间 其单位为百分之 一秒 一秒 4 CPU PER CALL 每条每条 SQL 语句可以占用的语句可以占用的 CPU 的总时间 其单位为百的总时间 其单位为百 分之一秒 分之一秒 5 LOGICAL READS PER SESSION 每个会话期间可以读取的数据块数量 每个会话期间可以读取的数据块数量 从内存中读取的数据块和从磁盘中读取的数据块 从内存中读取的数据块和从磁盘中读取的数据块 6 LOGICAL READS PER CALL 每条每条 SQL 语句可以读取的数据块数量 语句可以读取的数据块数量 7 IDLE TIME 空闲时间空闲时间 用户非活动检测时间 多长时间没有做动作就用户非活动检测时间 多长时间没有做动作就 自动断开 单位 自动断开 单位 min 8 CONNECT TIME 用户可以连接到数据库的总时间 单位 用户可以连接到数据库的总时间 单位 min 即连 即连 接多久用户会自动退出 接多久用户会自动退出 9 PRIVATE SGA 每个用户占用多少内存区域每个用户占用多少内存区域 单位 单位 bytes 共享服务器模 共享服务器模 式下有效 在专用服务器模式下 这个参数不起作用 式下有效 在专用服务器模式下 这个参数不起作用 10 FAILED LOGIN ATTEMPTS 用户登录数据库时允许失败的次数 达用户登录数据库时允许失败的次数 达 到失败次数后 该用户将自动锁定 锁定时间取决于到失败次数后 该用户将自动锁定 锁定时间取决于 PASSWORD LOCK TIME 11 PASSWORD LIFE TIME 用户口令的有效时间 单位为天 用户口令的有效时间 单位为天 12 PASSWORD REUSE TIME 用于设置一个失效口令多少天之内不允许用于设置一个失效口令多少天之内不允许 使用 使用 13 PASSWORD REUSE MAX 用于设置一个已使的口令被重新使用之前 用于设置一个已使的口令被重新使用之前 口令必修被修改的次数 口令必修被修改的次数 14 PASSWORD VERIFY FUNCTION 设置用于判断口令复杂性的函数 设置用于判断口令复杂性的函数 函数可以自动创建 也可以使用默认的或不使用 函数可以自动创建 也可以使用默认的或不使用 15 PASSWORD LOCK TIME 用户登录失败次数达到限制数 用户将被锁用户登录失败次数达到限制数 用户将被锁 定的时间 单位为天 定的时间 单位为天 16 PASSWORD GRACE TIME 当口令的使用时间达到密码到期时间时 当口令的使用时间达到密码到期时间时 该口令还允许使用的该口令还允许使用的 宽限时间宽限时间 用户登录时 用户登录时 Oracle 会提示该时间 会提示该时间 使用下面的命令可以查看使用下面的命令可以查看 Oracle 的用户所使用的参数文件 一般为的用户所使用的参数文件 一般为 default 可以看到大多数的用户使用的都是可以看到大多数的用户使用的都是 DEFAULT 的的 profile 文件 就是我们在上文件 就是我们在上 面查看的哪一个 面查看的哪一个 下面我们自己创建一个下面我们自己创建一个 profile 文件 文件 注意要用注意要用 DBA 的身份才能创建的身份才能创建 profile 文件 我们使用文件 我们使用 SYS 用户来创建 用户来创建 要求 要求 1 限制用户允许拥有的会话数为限制用户允许拥有的会话数为 1 对应的参数为 对应的参数为 SESSIONS PER USER 2 限制用户空闲时间的有效时间为限制用户空闲时间的有效时间为 1 分钟 对应的参数为分钟 对应的参数为 IDLE TIME 3 限制用户登录数据库可以失败的次数为限制用户登录数据库可以失败的次数为 3 次 对应的参数为次 对应的参数为 FAILED LOGIN ATTEMPTS 4 设置用户登录失败次数达到限制次数时 用户被锁定的时间为设置用户登录失败次数达到限制次数时 用户被锁定的时间为 5 分钟 分钟 对应的参数为对应的参数为 PASSWORD LOCK TIME 5 设置用户连接数据库的时间为设置用户连接数据库的时间为 5 分钟 超出这个时间将断开数据库 对分钟 超出这个时间将断开数据库 对 应的参数文件为应的参数文件为 CONNECT TIME 6 设置口令使用时间达到有效时间之后 口令任然可以使用的设置口令使用时间达到有效时间之后 口令任然可以使用的 宽限时间宽限时间 为为 3 天 对应的参数为天 对应的参数为 PASSWORD GRACE TIME 创建配置文件的格式为 创建配置文件的格式为 create profile 用户配置文件名称用户配置文件名称 limit 参数参数 1 限制大小限制大小 参数参数 2 限制大小限制大小 参数参数 3 限制大小限制大小 参数参数 n 限制大小限制大小 创建之后可以通过下面的命令来查看已经创建的创建之后可以通过下面的命令来查看已经创建的 profile 其中 其中 dba profile 表记表记 录的是当前录的是当前 oracle 之下的所用的之下的所用的 profile 我们使用 我们使用 where 筛选出刚刚创建的筛选出刚刚创建的 myprofile 当然在绑定后要想让这个参数文件里的限制生效还要修改系统当然在绑定后要想让这个参数文件里的限制生效还要修改系统 parameter resource limit 使绑定的参数文件里的限制生效 使绑定的参数文件里的限制生效 将用户绑定到参数文件有两种方法 将用户绑定到参数文件有两种方法 1 在创建用户的时候绑定参数文件 在创建用户的时候绑定参数文件 Create user 用户名用户名 identified by 密码密码 Profile 绑定的参数名绑定的参数名 2 在之后为用户修改绑定的参数文件 在之后为用户修改绑定的参数文件 Alter user 用户名用户名 profile 要绑定的参数名要绑定的参数名 关于关于PASSWORD VERIFY FUNCTION的使用 的使用 profile 的的 PASSWORD VERIFY FUNCTION 参数 允许我们在创建用户或者参数 允许我们在创建用户或者 更改用户密码时实施自定义的密码验证规则 更改用户密码时实施自定义的密码验证规则 首先 我们需要创建一个自己的实现密码验证规则的函数 该函数必须创建在首先 我们需要创建一个自己的实现密码验证规则的函数 该函数必须创建在 sys 模式下 而且必须有三个类型为模式下 而且必须有三个类型为 varchar2 的输入参数 第一个参数 包含的输入参数 第一个参数 包含 我们要修改的用户名 第二个参数包含新密码 第三个参数包含旧密码 并且我们要修改的用户名 第二个参数包含新密码 第三个参数包含旧密码 并且 返回类型为布尔类型 举一个简单的例子 如果我们需要使密码最少保返回类型为布尔类型 举一个简单的例子 如果我们需要使密码最少保 6 位 位 并在用户修改密码时在并在用户修改密码时在 passwd changed 表中记录用户的旧密码和新密码 表中记录用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论