一、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]

oracle数据库管理--用户管理的更多相关文章

  1. Oracle 数据库用户管理

    Oracle 数据库用户管理 Oracle 权限设置      一.权限分类: 系统权限:系统规定用户使用数据库的权限.(系统权限是对用户而言). 实体权限:某种权限用户对其它用户的表或视图的存取权限 ...

  2. Oracle 基于用户管理恢复的处理

    ================================ -- Oracle 基于用户管理恢复的处理 --================================ Oracle支持多种 ...

  3. 4. Oracle数据库用户管理备份与恢复

    一. Oracle用户管理备份介绍 Oracle物理备份核心就是将物理文件拷贝一份副本:存放在磁盘上.物理文件指的是:数据文件,控制文件,日志文件,参数文件等等. 根据数据库状态而分:备份可分为热备份 ...

  4. oracle的用户管理

    创建用户 在Oracle中创建用户需要用到dba,普通用户无法创建 > create user 用户名 identified by 密码; * 密码必须以英文开头,不然是创建不起来的! * 如果 ...

  5. Oracle的用户管理,授权及备份

    一.用户进行授权的操作 创建用户:刚刚创建的用户并没有任何权限 CREATE USER 用户名 indentife BY 密码 授权:  GRANT 权限1,权限2... TO 用户权限有:CREAT ...

  6. 2.oracle之用户管理sql

    --创建用户--create user  用户名  identified by  密码;create user jojo identified by bean; --给用户授权--grant conn ...

  7. Oracle创建表空间、用户管理、角色管理

    内容:Oracle创建表空间.用户管理.角色管理 1.用系统用户登录Oracle 默认的系统用户: sys/system.sysman.scott sys:权限最大,超级用户,可以完成所有任务, 默认 ...

  8. Oracle基础(四) 用户管理

    一.用户 当创建一个数据实例时,Oracle会创建一些默认的数据库用户,如SYS,SYSTEM和SCOTT等用户.SYS和SYSTEM用户都是ORACLE的系统用户.而Scott用户是Oracle数据 ...

  9. oracle工具 sqlplus 用户管理

    可以通过system用户对普通用户解锁.alter user scott account unlock; 工具:1/ sqlplusw sqlplus 自带.调用oracle安装目录下bin目录下的e ...

随机推荐

  1. C#遍历数组

    Eg: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...

  2. MVC(Model View Controller)框架

    MVC框架 同义词 MVC一般指MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一 ...

  3. memcmp()直接比较两个数组的大小

    两个字符数组可以用strcmp()比较大小.两个整数数组也有个函数memcmp()可以比较大小,和strcmp()的返回值一样的. 头文件#include<cstring> / #incl ...

  4. [ofbiz]service中OUT的定义

    在service中返回的任何一个结果,比如map1,map2,然后这两个map又封装在另一个map中,则service的定义中,要将map1和map2定义为OUT类型 LOFTER:我们的故事   h ...

  5. [原]C++程序示例:涉及到抽象类、继承…

    C++复习题. 有助于理解: .h与.cpp分离 基类.派生类.抽象类 多态.纯虚函数 对象指针.引用 派生类使用基类的构造函数 ... =============================== ...

  6. shell之冒号的作用

    冒号:   :在shell中是一种命令,意思是总是为真,但是却不做任何操作,即总是为真的空命令 eg:   [root@localhost ~]# ${abc:=t1}-bash: t1: comma ...

  7. Python for else 循环控制

    for语句可用来遍历某一对象,还具有一个可选的else块.如果for循环未被break终止,则执行else块中的语句.break 在需要时终止for循环continue 跳过位于其后的语句,开始下一轮 ...

  8. 居然因为交换错了好几把。。。。,还有坑点是num1可以大于num2

    完数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submissi ...

  9. information_schema.character_sets 学习

    information_schema.character_sets 表用于查看字符集的详细信息 1.character_sets 常用列说明: 1.character_set_name: 字符集名 2 ...

  10. CSS基础-引入方法,选择器,继承

    一.CSS引入方法:行内式.嵌入式.导入式.链接式. 1.行内式. 即:在标签的style属性中设定CSS样式. 例子:<div style="行内式</div> 2.嵌入 ...