`
changhongbao
  • 浏览: 116827 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Oracle笔记(十四) 用户管理

 
阅读更多

SQL语句分为三类:DML、DDL、DCL,之前已经讲解完了DML和DDL,现在就差DCL操作的,DCL主要表示的是数据库的控制语句,控制的就是操作权限,而在DCL之中,主要有两个语法:GRANT、REVOKE;

权限的操作基础是需要有用户的,而这个时候就需要通过一个新的用户进行演示,而要想创建新用户则首先必须是具备管理员权限的sys、system两个用户操作。

范例:创建一个dog用户,密码为wangwang

CONN sys/change_on_install AS SYSDBA;
CREATE USER dog IDENTIFIED BY wangwang;

此时一个新的用户就创建完成了。

注意:“ORA-00988:口令缺失或无效” 错误,这种情况通常发生于创建 Oracle 例程时指定了非正常的全局数据库名称或系统用户密码。请注意全局数据库名称不能以数字开头,口令密码也不能由数字开头。

Oracle对密码的要求如下:

  • 系统用户(SYS、SYSTEM)口令长度不能小于7个字符;
  • 密码由1 到 30 个字符 (characters)组成;
  • 必须以字母开头,不能是符号或者数字;
  • 只接受字母,数字,以及三个符号 "#", "_" and "$";
  • 密码不能包含像"SELECT","DELETE","CREATE"这类的 Oracle/SQL 关键字;

但是此时这个新创建的用户并不能登录,会提示如下的错误信息:

ORA-01045: user DOG lacks CREATE SESSION privilege; logon denied

提示用户现在没有创建SESSION的权限,在之前曾经解释过,对于sqlplusw而言,每一个用户都表示一个SESSION,如果没有创建SESSION的权限就意味着不能登录,所以下面要授权。

范例:将CREATE SESSION的权限给dog用户

GRANT CREATE SESSION TO dog;

现在新用户登录成功之后,下面就可以执行表的创建操作。

CREATE SEQUENCE myseq;
CREATE TABLE mytab(
  id NUMBER PRIMARY KEY,
  name VARCHAR2(50)
);

解释:关于数据表的保存问题

在Oracle之中所有的数据表都是保存在硬盘上的,但不是每一张数据表都保存在硬盘上的,而是表空间保存在硬盘上,而数据表保存在表空间之中。

如果把硬盘表示成整个一个图书馆的话,那么表空间就表示每一个书柜,每一张表就表示柜子上的一本书。

范例:将创建表的权限给dog用户

GRANT CREATE TABLE TO dog;

此时只是将数据表的创建权限给了dog用户,但是并没有把表空间的操作权限给dog用户,所以用户仍然无法创建表,因为表没有地方可以保存。

为了解决用户的授权操作,在Oracle之中为用户提供了许多的角色,每一个角色会包含多个权限,而角色主要有两个:CONNECT、RESOURCE;

范例:将CONNECT和RESOURCE TO dog;

GRANT CONNECT,RESOURCE TO dog;

但是现在一旦存在了用户的操作,那么就需要有用户的管理操作,最简单的一个功能,用户有可能丢掉自己的密码。

范例:修改密码

ALTER USER dog IDENTIFIED BY miaomiao;

但是当管理员为一个用户重置一个密码之后,往往会希望用户在第一次登录的时候可以修改密码,所以此时可以通过如下的命令让密码失效:

ALTER USER dog PASSWORD EXPIRE;

也可以控制一个用户的锁定操作:

ALTER USER dog ACCOUNT LOCK;

ALTER USER dog ACCOUNT UNLOCK;

以上是针对于一个基本的用户操作,但是在之前也学习过,不同的用户可以访问其他用户的数据表,此时只需要加上完整的“用户名.表名称”即可。

范例:使用dog用户查询scott.emp表

SELECT * FROM scott.emp;

但是现在却无法查找,此时需要将scott用户的权限授予dog用户才可以让dog用户访问scott用户的资源,主要的权限有四个:INSERT、DELETE、UPDATE、SELECT。

范例:将scott.emp表的SELECT和INSERT权限给dog用户

GRANT SELECT,INSERT ON scott.emp TO dog;

既然现在有授权的功能,那么就可以进行权限的回收,权限的回收使用REVOKE指令。

范例:回收dog用户的权限

REVOKE SELECT,INSERT ON scott.emp FROM dog;
REVOKE CONNECT,RESOURCE,CREATE TABLE,CREATE SESSION FROM dog;

既然用户连权限都没了,那么按照中国的一句话:“卷铺盖走人”。

DROP USER dog CASCADE;

以上的所有操作都是由DBA负责。

分享到:
评论

相关推荐

    Oracle数据库用户管理笔记.doc

    Oracle数据库用户管理笔记

    Oracle学习笔记(用户管理、数据库的备份和恢复)

    Oracle学习笔记(用户管理、数据库的备份和恢复),有具体的代码案例

    ORACLE经典学习笔记

    第一章 ORACLE 命令 第二章 ORACLE 卸载 第三章 ORACLE 用户管理 第四章 数据字典 第五章 SQLServer和Oracle的常用函数对比 第六章 SQL 函数

    Oracle 10g 学习笔记

    ├─09 用户管理 │ user.jpg │ user.sql │ ├─10 嵌套表 可变数组 │ createType.sql │ ├─11 PLSQLl语法 │ plsql.sql │ ├─12 索引 │ index.sql │ ├─13 游标 │ cursor.sql │ ├─14 存储过程 ...

    Oracle数据库课堂笔记

    第一讲:oracle简介 第二讲:用户管理 第三讲:表课堂管理 第四讲:基本查询 第五讲:复杂查询 第六讲:java中操作Oracle 。。。 第11讲:plsql编程进阶

    韩顺平oracle学习笔记

    oracle用户管理; oracle表管理 Oracle高级部分:oracle表的查询; oracle的函数; oracle数据库管理;oracle 的权角色; pl/sql 编程; 索引,约束和事物。 期望目标: 1 学会安装、启动、卸载oracle 2 使用sql *plus...

    ORACLE笔记(数据库)

    第一课:客户端 1. Sql Plus(客户端),命令行直接输入:sqlplus,... 2. 从开始程序运行:sqlplus,是图形版的sqlplus. 3.... Toad:管理, PlSql Developer: ...第二课:更改用户 1.... 2.... 1.... 2....第四课:select 语句:

    Oracle 学习笔记

    Oracle学习笔记 脚本运行环境PL/SQL Developer ·数据库的备份与恢复 ·存储过程精简实例

    oracle笔记

    2-1使用系统用户登录oracle  系统用户 sys, system 比较高级的权限,sys(必须以管理员的身份进行登录)的权限高于system。 sysman 用于操作企业管理器,管理员级别权限 scott 默认密码tiger 不是只有系统用户才...

    Oracle笔记

    此笔记为个人通过自学所整理的oracle笔记,希望看到的人有什么建议告诉我,或者共同学习!里面内容主要包括:oracle增删改查、用户管理、索引、视图、PLSQL、存储过程、函数、游标、触发器等等!每个知识点都有案例...

    oracle使用管理笔记(一些经验的总结)

    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....

    oracle11g学习笔记

    一、Oracle用户管理 4 二、权限和角色 4 权限包含系统权限和对象权限 5 角色 5 权限的传递 6 使用profile 管理用户口令 8 (1)帐号锁定 8 (2)给账户解锁 8 (3)终止口令 8 (4)口令历史 9 (5)删除profile 9 表的管理 9 ...

    Oracle整理笔记.doc

    Oracle学习笔记包括:Oracle概述,sql基础,PL/SQL的用法,Oracle基本操作,数据库用户管理,数据库空间管理,备份与回复机制,控制文件及日志文件的管理,数据库控制,Oracle数据库的安全管理,留言板系统,oracle ...

    Oracle9i备课笔记——吕海东

    Oracle9i备课笔记——吕海东 第1讲 Oracle9i简介 目的: 1. 了解数据库的发展,关系数据库的基本原理。 2. 了解目前市场上流行的数据库产品及特点 3. 了解Oracle数据库的发展 4. 掌握Oracle9i产品系列 5. 掌握Oracle...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    三、 用户管理 1. 创建用户 说明:Oracle中需要创建用户一定是要具有dba(数据库管理员)权限的用户才能创建,而且创建的新用户不具备任何权限,连登录都不可以。 用法:create user 新用户名 identified by 密码 例子...

    oracle数据库学习笔记

    oracle学习心得,资源 Oracle用户管理 文件操作

    尚学堂视频笔记-oracle

    文档部分内容如下, 全部是尚学堂课堂原笔记.. 第一课:客户端 1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。 2. 从开始程序运行:sqlplus,是图形版的sqlplus. 3. ...

    韩顺平玩转oracle视频教程笔记

    oracle用户的管理 创建用户 概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用。 create user 用户名 identified by 密码; (oracle有个毛病,密码必须以字母...

    oracle所有知识点笔记(全)

    这是我自己学习oracle的时候,写的代码案例和笔记,基本上每一个知识点都写的很清楚!大家可以作为参考! 该有的知识点都有! 基本的sql语法,触发器,存储过程,存储函数, 流程控制,游标,异常处理,记录类型,...

Global site tag (gtag.js) - Google Analytics