Oracle基础笔记十二

第十二章 用户控制权限

1.权限:

数据库安全性:系统安全性和数据安全性

系统权限: 对于数据库的权限

对象权限: 操作数据库对象的权限

2.系统权限

超过一百多种有效的权限

数据库管理员具有高级权限以完成管理任务,例如:

创建新用户

删除用户

删除表

备份表

2.1

DBA 使用 CREATE USER 语句创建用户

CREATE USER user

IDENTIFIED BY   password;

CREATE USER  scott

IDENTIFIED BY   tiger;

2.2

用户创建之后, DBA 会赋予用户一些系统权限

GRANT privilege [, privilege...]

TO user [, user| role, PUBLIC...];

以应用程序开发者为例, 一般具有下列系统权限:

CREATE SESSION(创建会话)

CREATE TABLE(创建表)

CREATE SEQUENCE(创建序列)

CREATE VIEW(创建视图)

CREATE PROCEDURE(创建过程)

DBA 可以赋予用户特定的权限

GRANT  create session, create table,

create sequence, create view

TO     scott;

2.3创建用户表空间,用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表

ALTER USER atguigu01 QUOTA UNLIMITED

ON users

3.角色

创建角色

CREATE ROLE manager;

为角色赋予权限

GRANT create table, create view

TO manager;

将角色赋予用户

GRANT manager TO DEHAAN, KOCHHAR;

修改密码:DBA 可以创建用户和修改密码,用户本人可以使用 ALTER USER 语句修改密码

ALTER USER scott

IDENTIFIED BY lion;

4.对象权限

不同的对象具有不同的对象权限

对象的拥有者拥有所有权限

对象的拥有者可以向外分配权限

GRANT object_priv [(columns)]

ON object

TO {user|role|PUBLIC}

[WITH GRANT OPTION];

4.1分配对象权限

分配表 EMPLOYEES 的查询权限

GRANT  select

ON     employees

TO     sue, rich;

分配表中各个列的更新权限

GRANT  update

ON     scott.departments

TO     atguigu

WITH GRANT OPTION 使用户同样具有分配权限的权利

GRANT  select, insert

ON     departments

TO     scott

WITH   GRANT OPTION;

向数据库中所有用户分配权限

GRANT  select

ON  alice.departments

TO  PUBLIC;

数据字典视图 描述

ROLE_SYS_PRIVS 角色拥有的系统权限

ROLE_TAB_PRIVS 角色拥有的对象权限

USER_ROLE_PRIVS 用户拥有的角色

USER_TAB_PRIVS_MADE 用户分配的关于表对象权限

USER_TAB_PRIVS_RECD 用户拥有的关于表对象权限

USER_COL_PRIVS_MADE 用户分配的关于列的对象权限

USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限

USER_SYS_PRIVS 用户拥有的系统权限

收回对象权限

使用 REVOKE 语句收回权限

使用 WITH GRANT OPTION 子句所分配的权限同样被收回

REVOKE  select, insert

ON      departments

FROM    scott;

时间: 2024-10-10 20:14:22

Oracle基础笔记十二的相关文章

JavaSE基础笔记十二

第十一章 多线程 理解程序.进程.线程的概念 程序可以理解为静态的代码. 进程可以理解为执行中的程序. 线程可以理解为进程的近一步细分,程序的一条执行路径. 2.如何创建java程序的进程(重点) 方式一:继承于Thread类 ①创建一个继承于Thread的子类 ②重写Thread类的run()方法,方法内实现此子线程要完成的功能 ③创建一个子类的对象 ④调用线程的start():启动此线程,调用相应的run()方法 ⑤一个线程只能够执行一次start 方式二:实现Runnable接口 ①创建一

Oracle基础笔记十

第十章 视图 1.视图:从表中抽出的逻辑上相关的数据集合. 视图是一种虚表. 视图建立在已有表的基础上, 视图赖以建立的这些表称为基表. 向视图提供数据内容的语句为 SELECT 语句, 可以将视图理解为存储起来的 SELECT 语句. 视图向用户提供基表数据的另一种表现形式 2.为什么使用视图 控制数据访问 简化查询 避免重复访问相同的数据 3.分类:简单视图和复杂视图 特性           简单视图       复杂视图 表的数量        一个       一个或多个 函数    

Oracle基础笔记十四

第十四章 高级子查询 1.子查询 子查询 (内查询) 在主查询执行之前执行 主查询(外查询)使用子查询的结果 SELECT select_list FROM table WHERE expr operator (SELECT select_list FROM  table); 问题:查询工资大于149号员工工资的员工的信息 SELECT last_name FROM   employees WHERE  salary > (SELECT salary FROM   employees WHERE

Oracle学习笔记(十二)

十三.存储过程和存储函数1.掌握存储过程(相当于建立一个函数或者方法体,然后通过外部对其调用) 指存储在数据库中供所有程序调用的子程序叫做存储过程或存储函数. 相同点: 完成特定功能的程序 区别: 是否用return语句返回值 (1)创建和使用存储过程 用create procedure命令建立存储过程和存储函数 语法: create or replace procedure 过程名(参数列表) as PL/SQL 子程序体(说明部分); 事例: (a)打印一个存储过程:打印HelloWorld

Oracle学习笔记十二 子程序(存储过程、自定函数)和程序包

子程序 子程序:命名的 PL/SQL 块,编译并存储在数据库中. 子程序的各个部分: 1.声明部分 2.可执行部分 3.异常处理部分(可选) 子程序的分类: 1.过程 - 执行某些操作 2.函数 - 执行操作并返回值 子程序的优点: 模块化 将程序分解为逻辑模块 可重用性 可以被任意数目的程序调用 可维护性 简化维护操作 安全性 通过设置权限,使数据更安全 存储过程 过程是用于完成特定任务的子程序. 例如: 一个购票过程可以分为很多个子过程,分别完成. 创建存储过程 创建过程的语法: CREAT

Oracle基础 (十二)数学函数

数学函数: ABS(n):求绝对值 SELECT ABS(-15),ABS(15) FROM DUAL; --获取15的绝对值 结果:15,15 BITAND(X,Y):返回X,Y进行位与(AND)的运算结果 SELECT BITAND(1,0), BITAND(0,1), BITAND(0,0), BITAND(1,1), BITAND(1100, 1010) FROM DUAL; --返回对x,y进行位与(AND)操作的结果 结果:0,0,0,1,64 CEIL(n):向上取整 SELECT

Swift学习笔记十二:下标脚本(subscript)

下标脚本就是对一个东西通过索引,快速取值的一种语法,例如数组的a[0].这就是一个下标脚本.通过索引0来快速取值.在Swift中,我们可以对类(Class).结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法 一.常规定义 class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index];

oracle学习笔记(二)

设置归档模式(mount状态) ALTER database ARCHIVELOG; //关闭数据库 shutdown immediate //启动数据库到mount状态 startup mount alter database archivelog; //查看归档状态 archive log list; SQL> archive log list; 数据库日志模式 存档模式 自动存档 启用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列

虚拟机VMWare学习笔记十二 - 将物理机抓取成虚拟机

1. 安装VMware vCenter Converter Standalone Client 运行虚拟机,File -- Virtualize a Physical Machine 这时如果电脑中没有VMware vCenter Converter Standalone Client ,则会进行安装. 安装过程 之后图标会出现在桌面上,双击运行 选择连接到本地服务器,登陆 点击转换计算机 这个,可以将本地计算机抓取成虚拟机,也可以将其他可以访问的计算机(需知道管理员用户名及密码)抓取成虚拟机.