• oracle数据库管理--用户管理


    一、oracle数据库用户管理
    1、sys和system用户区别
    (1)存储的数据的重要性不同:

           sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,具有create database权限,是oracle权限最高的用户;
    system用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。无create database权限,system用户拥有普通dba角色权限。
    (2)权限的不同:
           sys用户必须以as sysdba 或 as sysoper形式登录,不能以normal方式登录数据库;
           system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,
           sys用户具有“SYSDBA”或者“SYSOPER”系统权限,不能用normal,
    登陆数据库:
           sys用户登陆:conn sys/change_on_install as sysdba
           systeme用户登陆:conn system/manager
    (3)sysdba和sysoper两个系统权限区别
           sysdba拥有最高的系统权限,登陆后是 sys
           sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
           sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限sysdba和sysoper具体的权限可以看下表:

     

    2、用户管理
    (1)创建用户:

           一般是具有DBA(数据库管理员)的权限才可以创建用户
    eg:SQL> create user ***(用户名) identified by ***(密码)
    其中,密码必须以字母开头。此时,创建的新用户是没有任何权限的,甚至连登录数据库的权限都没有,需要为其指定相应的权限
    赋予权限:grant
    回收权限:revoke
    eg:SQL> grant connect to ***(用户名)
    其中,拥有connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。此时,该用户并无表空间,无法创建表,应赋予resource角色。
    eg:SQL> grant resource to ***(用户名)
    关于权限方面的知识,后续补上。
    (2)修改密码
    A、如果给自己修改密码
    eg:SQL> password ***(新密码)
    B、如果别其他用户修改密码则需要DBA权限,或者拥有alter user的系统权限
    eg:SQL> alter user ***(用户名) identified by ***(新密码)
    (3)删除用户
          以DBA的身份去删除某个用户,如果用其他用户去删除用户则需要具有drop user 的权限,不能删除自己。在删除用户时,注意,如果要删除的用户已经创建了表,那么就需要在删除的时候带一个参数cascade
    eg:
    SQL> drop user 用户名;  //用户没有建任何实体
    SQL> drop user 用户名 CASCADE;  // //加上cascade则将用户连同其创建的东西全部删除

    3、使用profile管理用户口令

            概述:profile是口令限制,资源限制的命令集合,当创建数据库时,oracle会自动建立名称为default的profile。当建立用户没有指定profile选项,那oracle就会将default分配给用户。
    (1)、帐户锁定:指定该用户登录时最多可以输入密码的次数,也可以指定用户锁定的时间,一般用dba的身份去执行该命令
    eg: 指定scott这个用户最多只能尝试3次登陆,锁定时间为2天
    创建profile文件
    sql>create profile lock_accout(profile文件名) limit failed_login_attempts 3 password_lock_time 2;
    sql>alter user scott profile lock_account;
    eg:
    sql>conn system/manager
    sql>create profile aaa1 limit failed_login_attempts 3 pawword_lock_time 2
    sql>alter user xiaoming profile aaa1;

    (2)给帐户解锁
    sql>alter user xiaoming account unlock


    (3)终止口令:为了让用户定期修改密码可以使用终止口令的指令来完成,需要dba身份来操作。
    eg:给前面创建的用户xiaoming创建一个profile文件,要求该用户每隔10天要修改自家的登陆密码,宽限期为2天
    sql>create profile myprofile limit password_life_time 10 password_grace_time 2;
    sql>alter user xiaoming profile myprofile

    (4)口令历史:如果希望用户在修改密码时,不能使用以前使用过的密码,可使用口令历史,这样oracle就会将口令修改成信息存放到数据字典中,这样当用户修改密码时,oracle就会对新旧密码进行比较,当发现新旧密码一样时,就提示用户重新输入密码。
    eg:
    1)建立profile
    sql>create profile password_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10
    password_reuse_time //指定口令可重用时间即10天后就可以重用
     删除profile
    sql>drop profile password_history [cascade]


  • 相关阅读:
    部门创建注意问题
    我的技术博客开通啦~
    听侯钟雷老师的讲座,确认了几个问题。
    Dynamics CRM 批量添加用户时,报错:Server was unable to process request.
    汉字的Unicode范围(转)
    转载:Apache1.1 post请求无body的bug
    转载:Android有效解决加载大图片时内存溢出的问题
    2.2之前的webkit crash问题
    转载:Expect:100Continue & HTTP 417 Expectation
    城市旅游问题
  • 原文地址:https://www.cnblogs.com/aukle/p/3223567.html
Copyright © 2020-2023  润新知