一、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. MySQL学习笔记(4) - 创建数据库

    1.建立一个简单的数据库 CREATE DATABASE t1: 图中如果未打:号,系统会等待直到用户输入结束符才会之行语句. 2.查看当前服务器下数据库列表 SHOW DATABASES; 必须是D ...

  2. [C++程序设计]用数组名作函数参数

    1. 用数组元素作函数实参 #include <iostream> using namespace std; int max_value(int x, int max) { return ...

  3. 关于Mysql不能被远程连接的问题

    1.修改mysql配置文件 注释掉   #bind_address:127.0.0.1 2.授权账户远程连接权限 grant all priveleges on '.' To 'myuser'@'%' ...

  4. web容器 - Jetty

    详解web容器 - Jetty与Tomcat孰强孰弱   Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器. 它 ...

  5. javaweb jsp页面上传excel文件

    servlet: private static final long FILE_MAX_SIZE = 4 * 1024 * 1024; if (!ServletFileUpload.isMultipa ...

  6. js序列化json对象

    SerializeJsonToStr : function( oJson ) { if( oJson == null ) return "null"; if( typeof(oJs ...

  7. 【转】iOS代码规范

    原文地址: http://www.cocoachina.com/ios/20150908/13335.html 简介: 本 文整理自Apple文档<Coding Guidelines for C ...

  8. windows对象的属性和方法

    window对象是所有客户端javascript特性和API的主要接入点.它表示web浏览器的一个窗口或窗体,并且可以用标志符window来引用它. 一. windows对象的属性 1. locati ...

  9. BZOJ 3576 江南乐

    http://www.lydsy.com/JudgeOnline/problem.php?id=3576 思路:由于数字巨大,因此N^2异或做法是过不了的,我们考虑将n个石子分成i堆,那么会有n%i堆 ...

  10. Socket 编程示例(二)

    利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端.其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后 ...