oralce DBA 培训 DBAI_les17_管理角色

合集下载

Oracle DB培训课件

Oracle DB培训课件

发展与壮大

RSI在1979年的夏季发布了可用于DEC公司的PDP-11 计算机上的商用ORACLE产品,这个数据库产品整合 了比较完整的SQL实现,其中包括子查询、连接及其 他特性。但不得不说,软件不是很稳定,并缺少事务 处理这样的重要功能。出于市场策略,公司宣称这是 该产品的第二版,但却是实际上的第一版。之所以被 命名为第2版而不是第1版,是因为Ellison认为潜在的 客户更愿意购买第2个版本,而不是初始版本。(虽 然这样做有些不太诚实,还是要承认这是个十分高明 的技巧。到现在还有一些公司把自己卖给客户的版本 叫做1.0 ,学学1979年的ORACLE吧!)多年以后的 今天,ORACLE公司声称是他们第一个提供了第一个 SQL关系型数据库管理系统。
Oracle名字的来历

很快他们就弄出来一个不太像样的产品,或 者具体的说,更像一个Demo。根据Ellison 和Miner他们在前一家公司从事的一个由中 央情报局投资的项目代码,他们把这个产品命 名为ORACLE。因为他们相信,ORACLE (字典里的解释有“神谕, 预言”之意)是 一切智慧的源泉。1979年,SDL更名为关系 软件有限公司(Relational Software,Inc., RSI),毕竟“软件开发实验室”不太像一 个大公司的名字。1983年,为了突出公司的 核心产品,RSI再次更名为ORACLE。
Oracle DB
Oracle DB发展史 Oracle DB基础知识 Oracle Exadata Oracle 知识学习

Oracle DB发展史
关系型数据库的起源

1970年的6月,IBM公司的研究员埃德加· 考特 (Edgar Frank Codd) 在Communications of ACM 上发表了那篇著 名的《大型共享数据库数据的关系模型》(A Relational Model of Data for Large Shared Data Banks)的论文。这 是数据库发展史上的一个转折。要知道,当时还是层次模 型和网状模型的数据库产品在市场上占主要位置。从这篇 论文开始,拉开了关系型数据库软件革命的序幕。 虽然早在1970年就诞生了关系模型理论,但是市场上迟迟 不见关系型数据库管理软件的推出。主要原因是很多反对 者认为关系型数据库速度太慢,比不上当时的层次式数据 库。值得好笑的是,IBM虽然1973年就启动了System R的 项目来研究关系型数据库的实际可行性,也没有及时推出 这样的产品,因为当时IBM的的IMS(著名的层次型数据库) 市场不错,如果推出关系型数据库,牵涉到IBM很多人的 自身利益。再者,IBM庞大复杂的官僚机构处在决策上远 不那么灵活。

oralce DBA 培训 DBAI_les17_管理角色

oralce DBA 培训 DBAI_les17_管理角色
SELECT_CATALOG_ROLE
说明
提供这些角色的目的是为了向后 兼容
导出数据库的权限
导入数据库的权限
对于数据字典表的 DELETE 权限 对于数据字典程序包的 EXECUTE 权限
对于数据字典表的 SELECT 权限
修改角色
• 使用 ALTER ROLE 可修改验证方法。 • 要求使用 ADMIN 选项或具有 ALTER ANY ROLE 权限。
UPDATE ON JOBS
角色的优点
– 轻松权限管理 – 动态权限管理 – 可选择权限可用性 – 可以通过操作系统授予
创建角色
通过 ADMIN 选项授予的角色:
– 不验证:
CREATE ROLE oe_clerk;
– 使用口令:
CREATE ROLE hr_clerk IDENTIFIED BY 您应该能达到下列目标:
– 创建和修改角色 – 控制角色的可用性 – 删除角色 – 使用预定义角色 – 显示数据字典中的角色信息
角色
用户 角色
A
B
C
HR_MGR
HR_CLERK
权限
SELECT ON JOBS
INSERT ON JOBS
CREATE TABLE
CREATE SESSION
ALTER ROLE oe_clerk IDENTIFIED BY order;
ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY; ALTER ROLE hr_manager NOT IDENTIFIED;
分配角色
使用 GRANT 命令分配角色
GRANT oe_clerk TO scott; GRANT hr_clerk TO hr_manager; GRANT hr_manager TO scott WITH ADMIN OPTION;

oracle学习第三课角色管理(角色管理)

oracle学习第三课角色管理(角色管理)

oracle学习第三课角色管理(角色管理)1.什么是角色角色是权限的集合。

2.创建角色SQL> create role myrole;3.给角色分配权限SQL> grant create session to myrole;4.把角色分配给用户SQL> grant myrole to lisi;5.删除角色SQL> drop role myrole;6.部分系统权限不能分配给角色,必须直接分配给用户SQL> grant unlimited tablespace to myrole;grant unlimited tablespace to myrole*第 1 行出现错误:ORA-01931: 无法将 UNLIMITED TABLESPACE 授予角色7.注意[]表示不存在create tablecreate any table[alter table]alter any table[drop table]drop any table8.表是属于某个用户的,角色不属于任意用户oracle学习第四课三种登陆验证机制2010-04-14 18:531.管理员修改普通用户的密码SQL> alter user shui identified by shui;用户已更改。

3.数据库的三种验证机制A.操作系统验证B.密码文件验证C.数据库验证普通用户为数据库验证,系统用户(sys)为操作系统验证和密码文件验证linux/unix 下oracle的启动过程lsnrctl start//sqlplus sys/oracle as sysdbasqlplus /nologstartup注:监听可以判断当前登陆用户的类型,即如为sys或者scottwindows 下oracle的启动过程lsnrctl startoradim -starup -sid oracle4.什么是操作系统验证?sqlplus / as sysdba=== sqlplus abc/abc as sysdba=== sqlplus sys/manager as sysdba;当有as sysdba时,系统不会判断/左右的用户名和密码。

oracle培训大纲

oracle培训大纲

oracle培训大纲一、介绍Oracle是一家全球领先的信息技术公司,专注于开发和销售数据库软件和技术解决方案。

Oracle数据库是目前业界使用最广泛的关系型数据库管理系统之一,被广泛应用于企业级应用和云计算平台。

本次培训旨在向学员介绍Oracle数据库的基本概念、架构和操作技巧,帮助他们掌握Oracle数据库的使用和管理。

二、培训内容1. Oracle数据库基础知识- 数据库概述:什么是数据库、数据库的分类及特点- Oracle数据库介绍:历史发展、特点和优势- 数据库管理系统:数据库管理系统的角色和作用- 数据库架构:Oracle数据库的逻辑结构和物理结构2. 数据库管理- 数据库安装与配置:Oracle数据库的安装和配置步骤- 创建数据库:创建Oracle数据库的步骤和常见参数设置- 用户管理:创建、修改、删除用户,分配权限- 表和约束:创建表、修改表结构,添加和管理约束- 数据库备份与恢复:备份和还原数据库、使用RMAN工具进行全量备份和增量备份- 数据库性能优化:诊断和优化数据库性能、使用AWR报告和SQL Tuning Advisor3. 数据库安全性管理- 用户授权与身份验证:用户身份验证方式、授权和访问权限管理 - 数据库权限管理:角色和权限的管理与分配- 数据库审计:使用审计功能跟踪数据库操作和安全事件4. 高级数据库特性- 数据库高可用性:Oracle数据保护和灾备解决方案,如RAC、Data Guard等- 数据库扩展和分区:利用分区表提高数据库性能和管理效率- 数据库监控与调优:使用AWR、ASH等工具进行数据库监控和调优- 数据库升级与迁移:数据库升级和迁移方法与步骤5. 实践项目在培训的最后阶段,学员将通过实践项目来应用所学知识,开发一个简单的数据库应用程序。

项目包括需求分析、数据库设计、表创建和数据导入、SQL查询和数据管理等环节。

三、培训要求1. 学员要求:- 具备计算机基础知识,了解关系数据库相关概念- 对数据库技术有一定兴趣和需求- 具备使用SQL语言进行数据查询和操作的基础知识2. 培训方式:- 理论讲解:通过课堂教学向学员介绍相关概念和知识点- 实践操作:提供实验环境,让学员亲自操作实践- 项目实战:通过实践项目来巩固所学知识,培养学员的实际能力3. 培训工具:- Oracle数据库软件(最新版本)- SQL开发工具(如SQL Developer)四、培训效果评估为了评估学员的学习效果,将进行以下考核:- 上机实验:学员根据教学要求完成实验任务- 项目评估:评估学员在实践项目中的表现和成果- 理论知识测试:对学员进行笔试,测试所学知识的掌握情况五、结束语本次Oracle培训将为学员提供全面的Oracle数据库知识体系加强的训练,使学员能够全面地掌握数据库管理和操作技能,为今后的职业发展打下坚实的基础。

Oracle DBA 培训大纲

Oracle DBA 培训大纲
第十三章–管理数据完整性
Chapter 14 – Managing Password Security
第十四章–管理口令和安全
Chapter 15 – Managing Users
第十五章–管理用户
Chapter 16 – Managing Privileges
第十六章–管理Privileges
Chapter 17 – Managing Roles
第八章–使用集合操作符
Chapter 9 – Manipulating Data
第九章-修改数据
Chapter 10 – Using DDL Statements to Create and Manage Tables
第十章–使用DDL语句创建和管理表
Chapter 11 – Creating Other Schema Objects
Chapter 1 – Oracle Architectural Components
第一章– Oracle体系结构概述
Chapter 2 – Getting Started with the Oracle Server
第二章– Oracle服务器入门
Chapter 3 – Managing an Oracle Instance
第六章–备份和恢复概述
Chapter 7 – Instance and Media Recovery Structures
第七章–实例和介质恢复结构
Chapter 8 – Configuring the Database Archiving Mode
第八章–配置数据库归档模式
Chapter 9 – Oracle Recovery Manager Overview and Configuration

oracle数据库基本管理知识培训教材 ppt课件

oracle数据库基本管理知识培训教材 ppt课件

切换命令
从nomount 切换至mount状态 alter database mount; 从mount切换至open状态 alter database open;
命令方式-关闭数据库
启动SQL*PLUS; 使用sys/密码 as sysdba登录 语法:shutdown [normal/immediate/abort]: normal:正常关闭,等待Oracle处理完正在执行的
后台进程
PMON 做程序的清洁工作,处理一些不正常退出的 事件.
SMON 做系统的清洁工作,执行系统出错后自动恢 复工作.
LCKN Oracle系统表级或行级加锁的进程. RECO 恢复进程. DBWR 数据写进程 LGWR 日志文件写的进程 CKPT 检测点 ARCH 归档方式备份进程
数据库 Database
2总是打开一个而 且仅一个数据库
3由内存和后台进 程组成
SGA-系统全局区
用于存储数据库信息的内存区,为数据库进程共享。 在实例启动时被分配。
SGA构成
Shared Pool 存储最近执行的SQL语句和数据字典数据。 Data Buffer Cache
存储最近使用的数据,数据从数据文件读取或写 入数据文件。 Redo log Buffer 跟踪服务器和后台进程对数据库所作的修改。 可选: Large Pool 存放与SQL无直接相关的内存结构。例 如,在备份和复原操作过程中的数据块。 Java Pool 用于存储java 代码。
• “不怕太阳晒,也不怕那风雨狂,只怕先生骂我 笨,没有学问无颜见爹娘 ……”
• “太阳当空照,花儿对我笑,小鸟说早早早……”
概念
ORACLE SERVER-包括INSTANCE和数据库 INSTANCE –内存结构和后台进程的集合 Database-数据库物理结构的基本组成,包括数据

Oracle管理索引、权限和角色

Oracle管理索引、权限和角色

1.掌握维护oracle数据完整性的技巧2.理解索引概念,会建立索引3.管理oracle的权限和角色维护数据的完整性数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则。

在oracle 中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现,在这三种方法中,因为约束易于维护,并且具有最好的性能,所以作为维护数据完整性的首选。

约束约束用于确保数据库数据满足特定的商业规则。

在oracle中,约束包括:not null、unique(唯一)、primary key、foreign key和check(检查)五种。

not null(非空)如果在列上定义了not null,那么当插入数据时,必须为列提供数据。

unique(唯一)当定义了唯一约束后,该列值是不能重复的,但是可以为null。

primary key(主键)用于唯一的标示表行的数据,当定义主键约束后,该列不但不能重复而且不能为null。

需要说明的是:一张表最多只能有一个主键,但是可以有多个unqiue约束。

foreign key(外键)用于定义主表和从表之间的关系。

外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null。

check用于强制行数据必须满足的条件,假定在sal列上定义了check约束,并要求sal列值在1000~2000之间,如果不在1000~2000之间就会提示出错。

商店售货系统表设计案例---创建SQL>create table scott.goods (--商品表goodsId char(8) primary key,--主键goodsName varchar2(30),unitprice number(10,2) check (unitprice > 0),category varchar2(8),provider varchar2(30));SQL>create table customer (--客户表customerId char(8) primary key,--主键name varchar2(50) not null,--不为空address varchar2(50),email varchar2(50) unique,sex char(2) default '男' check (sex in ('男','女')),cardId char(18));SQL>create table purchase (--购买表customerId char(8) references customer (customerId),goodsId char(8) references goods (goodsId),nums number(5) check (nums between 1 and 30));商店售货系统表设计案例(2)---维护增加商品名不能为空SQL>alter table goods modify goodsName not null;增加身份证不能重复SQL>alter table customer add constraint cardunique unique(car dId);增加客户的住址限制SQL>alter table customer add constraint addresscheck check ( address in ('东城','西城'));删除约束当不在需要某个约束时,可以删除。

ORACLE_DBA培训教程

ORACLE_DBA培训教程
今天,Oracle RDBMS支持80多种不同工作环境,这些 环境包括IBM大型机、DEC VAX小型机,基于UNIX的小 型机、WindowsNT以及多种专利硬件操作系统平台。很显 然,Oracle是世界上最大的RDBMS开发商。从收入、软件 和服务的角度讲,Oracle是仅次于Microsoft的第二大软件 公司。
应用程序N
......
数组N
手工处理数据有两个缺点:第一,应用程序之间 的依赖性太强,不独立;第二,数据组和数据组之间 可能有许多重复数据,造成数据冗余。
文件系统阶段(50年代中期-60年代中期)
文件系统的最大特点是解决了应用程序和数据之
间的一个公共接口问题,使得应用程序采用统一的存 取方法来操作数据。不过,文件系统只是简单地存放 数据,相互之间并没有有机的联系。
DBWR
LGWR
CKPT
数据文件
日志文件
参数文件
控制文件
ARCH 存储介质
ORACLE的体系结构 物理结构
• 数据文件 • 日志文件 • 控制文件 • 参数文件
ORACLE的体系结构 物理结构
数据文件(Data File)是物理存储ORACLE
数据库数据的文件。其特点如下:
• 每一个数据文件只与一个数据库相联系。 • 数据文件一旦被建立则不能修改其大小。 • 一个表空间可包含一个或多个数据文件。
先进性
Oracle是数据库领域的排头兵,从最早的关 系型数据库到Oracle8 ,一直到最新的全面支持 Internet的数据库Oracle 8i(它把数据库和Internet彻 底地结合在一起),其技术都处于领先地位。
ORACLE的未来
•基于INTERNET的网络应用 •e_business •企业级应用(CRM、ERP)

ORACLE培训资料(初级系统管理员)

ORACLE培训资料(初级系统管理员)

福建东网信息产业有限公司培训资料(初级系统管理员)培训讲义(之Oracle数据库介绍部分)系统开发部曾忠诚FuJian Doone Information Industry CompanyDepartment Of System Exploiture目录一. Oracle产品介绍 (4)1.1 Oracle公司及产品介绍 (4)1.2 Oracle数据库的特点 (4)1.3 Oracle数据库的系列产品 (5)1.4 Oracle数据库产品的标准报价 (7)1.5 用户基本配置标准报价 (7)二 . Oracle数据库的体系结构 (8)2.1 Oracle数据库的物理文件 (8)2.2 Oracle数据库的逻辑结构 (9)2.3 Oracle数据库实例 (10)2.3.1 内部存储结构 (10)2.3.2 系统进程 (11)2.4 Oracle数据库的用户及权限管理 (13)2.4.1 Oracle数据库的用户 (13)2.4.2 Oracle的权限管理 (13)2.5 Oracle数据库的系统表 (14)2.6 Oracle数据库对象 (14)三.数据库安装及配置 (15)3.1 硬件环境的检查及配置: (15)3.2 安装前环境设置: (15)3.3 进入交互式安装过程: (16)3.4 完成全部安装过程 (19)3.5Oracle7 server Patch 7.3.2.3的安装 (19)3.6 数据库备份 (19)四. Oracle数据库系统管理 (19)4.1 数据库管理员的权限和工具 (19)4.2 Oracle数据库的启动和关闭 (20)4.2.1 Oracle数据库的四种状态 (20)4.2.2 Oracle数据库的启动 (20)4.2.3 Oracle数据库的关闭 (21)4.3 创建和管理数据库对象 (21)4.3.1 TABLESPACE的建立、修改和删除 (21)4.3.2 建立、修改、删除用户 (24)4.4 系统状态查询 (27)4.5 系统备份与恢复 (28)4.5.1 Oracle数据库的备份 (28)4.5.1.1 物理备份 (28)4.5.1.2 逻辑备份—export (30)4.5.1.3 各种备份方法比较 (32)4.5.1.4 一个完全备份方案样例 (33)4.5.2 Oracle数据库的恢复 (33)4.5.2.1 故障类型 (33)4.5.2.2 使用物理备份恢复 (34)4.5.2.3 使用逻辑备份恢复 (36)4.6 网络配置 (38)4.6.1 配置客户机/服务器结构步骤 (38)4.6.2 服务器的配置 (38)4.6.3 客户端的配置 (40)4.6.4 启动和停止SQL*NET (41)4.6.5 客户机和服务器的连结 (41)4.7 多线程的配置 (41)五. Oracle数据库性能优化 (42)5.1 监控数据库运行情况及性能的方法 (42)5.2 初始化参数文件 (43)5.3 设计合理的数据库结构,减少I/O和资源竞争 (46)5.4 分配和调整Oracle使用的内存(SGA)资源 (48)5.4.1 检测和调整共享缓冲区(shared pool area) (48)5.4.2 调整数据缓存区(Data Buffer Pool) (50)5.4.3 调整redo日志缓存(Redo Log Buffer) (51)5.4.4 调整排序区(Sort Areas) (51)5.5 优化数据库对象 (52)5.6 优化SQL语句 (53)5.8 根据Oracle特性来优化应用程序 (57)六. Oracle与Informix数据库性能比较 (58)6.1 插入数据测试 (58)6.2 删除数据测试 (59)6.3 测试结论 (60)Oracle 数据库介绍一 . Oracle 产品介绍1.1 Oracle 公司及产品介绍Oracle 公司是年收入72亿美元全球最大的信息管理软件供应商,也是全球第二大软件公司,在全世界140多个国家为客户提供数据库系统、工 具、应用产品以及相关的咨询、培训和支持服务。

oracle数据库管理员培训ppt

oracle数据库管理员培训ppt

User process
Server process
PGA
ComponInestnantcse
Shared pool
SGA
Library cache
Data Dict. cache
Database Redo log buffer cache buffer cache
PMON SMON DBWR LGWR CKPT Others
blocks that have been retrieved from the data files.
• It enables great performance gains when you
obtain and update data.
• It is managed through a least recently used (LRU)
1-11
Shared Pool
The shared pool is used to store the most recently executed SQL statements and the most recently used data definitions.
• It consists of two key performance-related memory
Oracle Architectural Components
Copyright © Oracle Corporation, 2001. All rights reserved.
Objectives
After completing this lesson, you should be able to do the following:
1-12

OracleDBA培训手册

OracleDBA培训手册
第十四页,共130页。
The Relationships Among Segments, Extents, and Data Blocks
Data Blocks Oracle server管理(guǎnlǐ)data files存
储空间的单位叫做 Oracle blocks or data blocks. • Oracle 数据库最小的存储数据单位为 data blocks. • Oracle data blocks是Oracle server存 储、读、写的最小的存储单位。 • 一个data block对应一个或多个分配给 data file的操作系统块。 • 在Oracle数据库创建时,初始参数文件 的 DB_BLOCK_SIZE 确定Oracle数 据库Data block的大小。 • Data block的大小应该为操作系统块的 整数倍,以减少I/O量。 • Data block的最大尺寸依赖于操作系统。
第十五页,共130页。
第十六页,共130页。
Oracle Instance-SGA
Oracle instance 包含SGA内存结构和管理数据库的一些后台进程。Instance被看成 使用(shǐyòng)各个操作系统的特定方法 instance 只能同时打开和使用(shǐyòng) 一个database 。
高性能、伸缩性
第六页,共130页。
发展(fāzhǎn)和构成
发展史 6.0 性能不如sybase 7.0 分区技术支持分段的大型(dàxíng)数据库 8.0 面向对象 8.1.6 面向internet 支持java 、webserver、
jdeveloper 9i portal 手机上网 oracle体系结构 Oracle体系结构决定了数据库如何使用内存、硬盘、

oracle教程12管理用户角色精品PPT课件

oracle教程12管理用户角色精品PPT课件

撤销具有 ADMIN OPTION 的系
统权限
DBA
Jeff
Emi
用户
GRANT
权限
REVOKE
DBA
Jeff
Emi
对象
REVOKE CREATE TABLE FROM jeff;
撤销具有 GRANT OPTION 的对象权 限
Bob
Jeff
Emi
GRANT
REVOKE
Bob
Jeff
Emi
角色的作用
权限
• 用户权限有两类:
– 系统:允许用户在数据库中执行特定的操作 – 对象:允许用户访问和操纵特定的对象
对象权限:更新雇员
HR_DBA 系统权限:创建会话
系统权限
对象权限
1
• 要向对象授予权限,请执行以下 操作:
1. 选择对象类型。 2. 选择对象。 3. 选择权限。
2 3
搜索并选 择对象。
– 简化权限管理 – 动态进行权限管理 – 有选择地使用权限
将权限分配给角色以及将角色分 配给用户
用户
Jenny
David
Rachel
角色
HR_MGR
HR_CLERK
权限
删除雇员。
创建作业。
更新雇员。
插入雇员。
选择雇员。
预定义角色
创建角色
• 选择“Server > Roles(服务器 > 角色)”。
之处可根据本节内容进行提问
Thank you for coming and listening,you can ask questions according to this section and this courseware can be downloaded and edited freely

oracledba的工作内容范围和职责

oracledba的工作内容范围和职责

感谢您的观看
THANKS
在容量规划过程中,DBA需要制定数据迁移和备份策 略,确保数据的安全性和可用性。
数据库性能监控
性能指标监控
DBA需要监控数据库的性能指标,如CPU、内存、磁盘I/O等,以 便及时发现性能瓶颈。
性能分析工具
DBA需要掌握各种性能分析工具,如Oracle Enterprise Manager、 AWR报告等,以便深入分析性能问题。
数据库安装与配置
安装Oracle数据库软件
根据系统要求,选择合适的Oracle数据库版 本,并进行安装。
数据库配置
根据系统需求,配置数据库参数,如内存分 配、存储管理等。
创建和管理数据库实例
根据业务需求,创建和管理数据库实例,包 括实例的启动、关闭等操作。
数据库性能调优
监控数据库性能
使用Oracle提供的工具和性 能指标,监控数据库的性能 表现。
03
故障案例分析
DBA需要不断积累和总结故障案例, 通过分析案例来提高自己的故障排除 能力。
数据库容量规划
容量评估
DBA需要根据业务需求和数据量增长情况,评估数据 库的容量需求,并制定相应的扩容计划。
硬件资源规划
DBA需要了解服务器、存储、网络等硬件资源,并根 据容量规划合理配置硬件资源。
数据迁移与备份
云端安全
保障云端数据库的安全是Oracle DBA的重要职责,需要 采取有效的安全措施,确保数据库的安全性和可靠性。
大数据与Oracle DBA的结合
数据整合
Oracle DBA需要了解大数据 技术,将企业中的各类数据整 合到Oracle数据库中,为企业
提供全面的数据支持。
数据处理
利用大数据技术对海量数据进 行高效处理,提取有价值的信 息,为企业的决策提供有力支

oracleDBA基础培训教程-从实践中学习oracleDBA

oracleDBA基础培训教程-从实践中学习oracleDBA

oracleDBA基础培训教程-从实践中学习oracleDBA supportLists]-->第⼀章<!--[endif]-->oracle 的体系结构1.2 oracle 数据库中的常⽤术语进程: (process)后台进程: (background process)缓冲区: (buffer)主机: (host)服务器: (server)客户机: (client)1.3 oracle 数据库管理系统的体系结构1.4 oracle 服务器3种安装模式:<!--[if !supportLists]-->(1)<!--[endif]-->基于主机⽅式:<!--[if !supportLists]-->(2)<!--[endif]-->客户端-服务器两层⽅式:<!--[if !supportLists]-->(3)<!--[endif]-->客户端-应⽤服务器-服务器三层模型1.5 oracle实例instance=sga+background process1.6 oracle数据库控制⽂件(control files),重做⽇这⽂件(redo log files),数据⽂件(data file)1.7 oracle其他的关键⽂件初始化参数⽂件:parameeter files密码⽂件(password files)归档重做⽇志⽂件(archived redo log files)1.10 服务器进程专⽤服务器进程的内存结构:<!--[if !supportLists]-->(1)<!--[endif]-->排序区(sort area):⽤于处理SQL语句所需的排序;<!--[if !supportLists]-->(2)<!--[endif]-->游标状态区(cursor state) 当前所使⽤的sql语句的处理状态<!--[if !supportLists]-->(3)<!--[endif]-->会话信息区(session information ): 会话的⽤户权限和优化统计信息;<!--[if !supportLists]-->(4)<!--[endif]-->堆栈区(stack space):其他的会话变量共享服务器进程或多线程配置: 以上这些结构除了堆栈区外⼤部分将存在sga中,如果有 large pool,他们就会被存在large pool,否则它们就会被存放在共享池(share pool)中.1.11 oracle执⾏sql查询语句的步骤:编译(parse),执⾏(execute)和提取数据(fetch)1.18 内存缓冲区信息的获取:Sql>show parameter// 显⽰参数⽂件中可以设置的全部参数获取SGA的相关信息:Sql>show sga<!--[if !supportLists]-->第⼆章<!--[endif]-->数据库管理⼯具<!--[if !supportLists]-->第三章<!--[endif]-->oracle 实例的管理3.1静态参数⽂件(pfile)在windows nt 操作系统的默认路径为 $oracle_home/database3.2动态服务器参数⽂件(spfile)在windows nt 操作系统的默认路径为 $oracle_home/databasespfile ⽂件的创建:create spfile [=’spfile name’] from pfile [=’pfile name’]create spfile from pfile//在使⽤默认的pfile⽂件创建spfile⽂件,保存在默认的路径下.想要修改spfile ⽂件中的参数,最好的⽅法是使⽤ alter system set 命令来完成.3.3 数据库的启动(1) 读取spfileSID⽂件启动实例(2)没有找到,则⽤默认的spfile启动;(3)没有默认的则使⽤initsid ⽂件启动(4)没有找到,则使⽤默认的pfile来启动startup 启动命令的格式:startup [force][restrict][pfile=⽂件名][open[recover][database]|mount|nomount]还可以使⽤下⾯的命令来更改oracle的⼏种状态:startup nomount;alter database mount;alter database open;将数据库的状态置为只读:alter database read only;恢复正常状态:alter database read write;数据库运⾏在限制模式:startup restrict; 或alter system enablerestricted session;<!--[if !supportLists]-->第四章<!--[endif]-->数据字典和控制⽂件4.1 显⽰对象中列的定义:sql>desc user_objectssql>desc dba_objects4.2 格式化输出结果sql>set wrap off //不换⾏Sql>set linesize 1000 //⾏⼤⼩sql>col owner for a8 // owner 列 8个字符的宽度4.3 数据字典视图获得某个⽤户下的表情况:sql>select table_name from user_tables;sql>select * from cat;⽤户可以访问到的表的情况:sql>select table_name,owner from all_tables where owner not like ‘%sys’;4.4动态性能表(视图)获取数据库上的数据字典信息:sql>select *from dictionarywhere table_name like ‘%table%’;或sql>select *from v$fixed_table;了解数据字典中的某⼀列的含义:sql> select *from dict_columnswhere table_name=’dba_tables’and column_name=’initial_extent’;4.5 获取数据库的名字,创建⽇期等信息,v$database;SQL>select name,created,log_mode,open_modefrom v$database;4.6 计算机的主机名,实例名和数据库的版本SQL>select host_name,instance_name,versionfrom v$instance;Sql>select *from v$version;4.7 获取控制⽂件的名字:sql>select * from v$controlfile;4.8 获取数据库的重做⽇志⽂件的配置信息:sql>select group#,members,bytes,status,archivedfrom v$log;4.9 获取重做⽇志(成员)⽂件所存放的具体位置:SQL>select * from v$logfile;4.10 了解数据库的备份模式:sql>archive log list;4.11 了解数据库的表空间和状态sql>select tablespace_name,block_size,status,contents,loggingfrom dba_tablespaces;4.12 了解表空间存在于那个磁盘上和⽂件的信息等:sql>select file_id,file_name,tablespace_name,status,bytesfrom dba_data_files;4.13 了解oracle数据库系统上有多少⽤户和数据库的创建⽇期:sql>select username,createdfrom dba_users;4.14 从控制⽂件中获取信息的数据字典:v$archived,v$archived_logv$backup;v$database;v$datafile;v$log;v$logfile;v$loghist;v$tablespace;v$tempfile;4.15 添加和移动控制⽂件的步骤:(1) 利⽤v$controlfile 获取现有的控制⽂件的名字;(2) 关闭数据库;(3)将控制⽂件名添加到参数⽂件的control_files参数中;(4)使⽤操作系统命令把现有的控制⽂件复制到相应的位置;(5)重启数据库(6)利⽤v$controlfile 来验证操作是否正确;(7)如果有误,重做上述操作;⽆误,删除⽆⽤的旧的控制⽂件.如果使⽤了服务器初始参数⽂件(spfile)步骤如下:(1) 利⽤v$controlfile 获取现有的控制⽂件的名字;(2) 使⽤alter system set control_file命令修改控制⽂件的位置;(3) 关闭数据库;(4)使⽤操作系统命令把现有的控制⽂件复制到相应的位置;(5)重启数据库(6)利⽤v$controlfile 来验证操作是否正确;(7)如果有误,重做上述操作;⽆误,删除⽆⽤的旧的控制⽂件. sql>alter system set control_files‘d:\disk3\control01.ctl’,‘d:\disk6\control02.ctl’,‘d:\disk9\control03.ctl’ scope=spfile;4.16 控制⽂件的备份sql>alter database backup controlfileto ‘d:\oracle\control.bak’;sql>alter database backup controlfile to trace;4.17 由 trace⽂件重建控制⽂件<!--[if !supportLists]-->第五章<!--[endif]-->重做⽇志⽂件5.1 强制产⽣⽇志切换的命令:sql>alter system switch logfile;5.2 强制产⽣检查点:sql>alter system checkpoint;可以通过设置fast_start_mttr_target=900参数值来强制产⽣检查点5.5 获取重做⽇志的信息sql>select group#,sequence#,members,bytes,status,archivedfrom v$log;status列的状态值的含义:inactive:表⽰实例恢复已不再需要这组联机重做⽇志组了;active:不是当前组,但实例恢复时需要这组联机重做⽇志组;current:表⽰为当前组;unused :表⽰oracle服务器从来没有写过改组联机重做⽇志组,或刚被添加到数据库中的状态;sql>select * from v$logfile;status 列的状态含义:空⽩: 表⽰正在使⽤;stale: 该⽂件中的内容时不完全的;invalid: 该⽂件不可以被访问;deleted:⽂件不再有⽤了5.6 添加和删除联机重做⽇志⽂件组创建新的重做⽇志组的命令格式:alter database [数据库名]add logfile [group 正整数] ⽂件名[,[group 正整数] ⽂件名…]sql>alter databaseadd logfile (‘j:\disk3\redo04a.log’,’j:\disk6\redo04b.log’) size 15M;sql>select group#,sequence#,members,bytes,status,archivedfrom v$log;删除重做⽇志组:atler database [数据库名]drop logfile {group 正整数|(‘⽂件名’[,⽂件名]…)}[,{group 正整数|(‘⽂件名’[,⽂件名]…)}]…sql>alter database drop group 4;sql>select group#,sequence#,members,bytes,status,archivedfrom v$log;sql>select * from logfile;当⼀组重做⽇志⽂件被删除后,它的操作系统⽂件依然存在,需要⼿⼯删除.5.7 添加和删除联机重做⽇志成员语法结构:alter database [数据库名]add logfile member[‘⽂件名’ [reuse][,’⽂件名’[reuse]]…to {group 正整数|(‘⽂件名’[,’⽂件名’]…)}]…sql>alter database add logfile member‘j:\disk3\redo01b.log’ to group 1,‘j:\disk3\redo02b.log’ to group 2,‘j:\disk3\redo03b.log’ to group 3;sql> select group#,sequence#,members,bytes,status,archivedfrom v$log;sql>select * from v$logfile;删除重做⽇志组成员格式:alter database [数据库名]drop logfile member ‘⽂件名’[,’⽂件名’]…sql>alter database drop logfile member‘j:\disk3\redo03b.log’;注意:⽇志⽂件需要⼿⼯删除.所谓的重做⽇志维护或修复就是将有问题的重做⽇志组或成员删除掉,之后再重建它们.5.8 清除联机重做⽇志⽂件如果⽆法使⽤’将有问题的重做⽇志⽂件组或成员删除掉,之后再重建它们’,可以⽤以下命令重新初始化联机重做⽇志⽂件: sql>alter database clear logfile group 组号;如果崩溃的重做⽇志⽂件已经不能归档:sql>alter database clear unarchived logfile group 组号;执⾏了以上这两个命令后,以前的备份将⽆⽤,sequence#将变为0.<!--[if !supportLists]-->第六章<!--[endif]-->表空间和数据⽂件的管理6.1 ⾮系统表空间的创建语法:create tablespace 表空间名[datafile ⼦句] (数据⽂件说明)[minimum extent 正整数[k|M][blocksize 正整数[K]][logging|nologging](nologging只影响DML语句和ddl命令)[default 存储⼦句] (所有再该表中所创建的对象的默认存储参数)[online|offline][permanent|temporary][区段管理⼦句][段管理⼦句]6.2 查询表空间的管理⽅法:sql>set line 120sql>col tablespace_name for a15sql>select talbespace_name,block_size,extent_management,segment_space_managementfrom dba_tablespaces;sql>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extlenfrom dba_tablespaces;6.3 查询表空间有那些⽂件组成sql>select file_id,file_name,tablespace_namefrom dba_data_filesorder by file_id;6.4 回滚段sql>create undo tablespace xx_undodatafile ‘xx:\xx.dbf’size 20Mextent management local;(段管理关键字可以省略,因为9i默认是本地管理⽅式)6.5 临时表空间创建临时表空间时,必须使⽤标准数据块,还推荐使⽤本地管理的表空间.sql>create temporary tablespace xx_temptempfile ‘d:\xx_temp.dbf’size 10mextent management localuniform size 2m (设置为sort_area_size 参数的整数倍.)6.6 设置默认临时表空间sql>select * from database_propertieswhere property_name like ‘default%’;sql>alter database default temporary tablespace xxx_temp;使⽤旧的(默认)临时表空间的⽤户被⾃动地赋予新的默认临时表空间.6.7 设置表空间为脱机维护⼯作:<!--[if !supportLists]-->1)<!--[endif]-->在数据库处于打开状态下移动数据⽂件<!--[if !supportLists]-->2)<!--[endif]-->数据库处于打开状态下恢复⼀个表空间或⼀个数据⽂件<!--[if !supportLists]-->3)<!--[endif]-->执⾏对表空间的脱机备份(虽然对表空间可以进⾏联机备份)<!--[if !supportLists]-->4)<!--[endif]-->使数据库的⼀部分不可以被访问,⽽其他的部分可以被正常的访问.以下的表空间不可以设置为脱机状态:<!--[if !supportLists]-->1)<!--[endif]-->系统表空间<!--[if !supportLists]-->2)<!--[endif]-->上⾯有活动的还原/回滚段的表空间;<!--[if !supportLists]-->3)<!--[endif]-->默认临时表空间.sql>select tablespace_name,status,contentsfrom dba_tablespaceswhere tablespace_name like ‘xx%’;sql>alter tablespace xxx offline;sql>alter tablespace xxx online;sql>select file#,name,statusfrom v$datafile6.8只读(read-only)表空间可以删除只读表空间中的对象如表,索引.因为ddl语句只修改数据字典.改变状态时,该表空间必须处于联机状态.sql>alter tablespace xxx read only;sql>select tablespace_name,status,contents fromdba_tablespaceswhere tablespace_name like ‘xxx%’;sql>alter tablespace xxx read write;6.9 改变表空间的存储设置alter tablespace 表空间名[minimum extent 正整数[k|M][default 存储⼦句]sql>alter tablespace xxxminimum extent 100kdefault storate(initial 100k next 100kmaxextents 200);6.10 重置表空间的⼤⼩sql>alter database datafile ‘d:\xx.dbf’ autoextend onnext 1M;sql> select file_id,tablespace_name,file_name,autoextensiblefrom dba_data_file6.11 ⼿⼯重置数据⽂件的⼤⼩sql>select file_id,file_name,tablespace_name,bytes/(1024*1024) MBfrom dba_data_filessql>alter database datafile ‘d:\xxx.dbf’ resize 100M;sql> alter tablespace xxxadd datafile ‘d:\xxx.dbf’size 80M;6.15 移动数据⽂件的⽅法1)移动数据⽂件:alter tablespace 表空间名rename datafile ‘⽂件名’[,’⽂件名’]…to ‘⽂件名’[,’⽂件名’]…只适⽤于上⾯没有活动的还原数据或临时段的⾮系统表空间中的数据⽂件.表空间⼀定为脱机状态⽽且没表数据⽂件必须存在.因为该语句只修改控制⽂件的指向数据⽂件的指针.步骤:<!--[if !supportLists]-->(1)<!--[endif]-->查询相关表空间和数据⽂件的信息<!--[if !supportLists]-->(2)<!--[endif]-->将表空间设置为脱机<!--[if !supportLists]-->(3)<!--[endif]-->复制或移动数据⽂件<!--[if !supportLists]-->(4)<!--[endif]-->执⾏alter 命令<!--[if !supportLists]-->(5)<!--[endif]-->将表空间设置为联机<!--[if !supportLists]-->(6)<!--[endif]-->检查表空间和数据⽂件的位置.2)alter database [数据库名]rename file ‘⽂件名’[,’⽂件名’]…to ‘⽂件名’[,’⽂件名’]…语句适⽤于系统表空间和不能置为脱机的表空间步骤:<!--[if !supportLists]-->(1)<!--[endif]-->查询表空间和数据⽂件的信息<!--[if !supportLists]-->(2)<!--[endif]-->关闭数据库<!--[if !supportLists]-->(3)<!--[endif]-->复制或移动数据⽂件<!--[if !supportLists]-->(4)<!--[endif]-->将数据库加载到mount状态<!--[if !supportLists]-->(5)<!--[endif]-->执⾏alter database命令<!--[if !supportLists]-->(6)<!--[endif]-->打开数据库<!--[if !supportLists]-->(7)<!--[endif]-->查询表空间和数据⽂件的信息6.16 迁移数据字典和本地管理的表空间.字典管理à本地管理sql>execute dbms_space_admin.tablespace_migrate_to_local(‘表空间名’);6.17 删除表空间drop tablespace 表空间名[including contents [and datafiles] [cascade constraints]]including contents: ⽤来删除段;and datafiles ⽤来删除数据⽂件;cascade constraints 删除所有的引⽤完整性约束.<!--[if !supportLists]-->第七章<!--[endif]-->存储结构和他们的关系7.1 获取段的磁盘管理信息的数据字典dba_tablespaces,dba_data_files,dba_extents,dba_segments,dba_free_space<!--[if !supportLists]-->第⼋章<!--[endif]-->管理还原数据8.1 了解数据库的还原段的信息sql>col name for a30sql>col value for a50sql>select name value from v$parameterwhere name like ‘%undo%’;undo_management=auto 参数不是动态参数.undo_tablespace =undotbs1 是动态参数,可以使⽤alter syetem set命令修改:sql>alter system set undo_tablespace=undotbs2;8.2 还原表空间的创建:sql>create undo tablespace xxx_undodatafile ‘d:\xxx.dbf’size 20m;8.3 增⼤表空间:sql>alter tablespace xxx_undoadd datafile ‘d:\xxx.dbf’size 25m;sql>select file_id,file_name,tablespace_name,bytes/1024/1024 MBfrom dba_data_fileswhere tablespace_name like ‘xxx’;8.4修改undo tables 允许的命令:rename,add datafile,datafile[noline|offline],begin backup,end backup8.5 配置表空间某个⽂件可以⾃动扩展sql>alter databasedatafile ‘d:\ddd.dbf’;autoextend on;sql>select file_id,file_name,tablespace_name,autoextensiblefrom dba_data_fileswhere tablespace_name like ‘ddd’;8.6 还原表空间的切换sql>alter system set undo_tablespace=undo_xxxx;8.7 删除表空间sql>drop tablespace undo_xxxx;8.8 ⾃动还原数据管理的⼀些参数:alter session set undo_suppress_errors=true;出错不提⽰;sql>alter system set undo_retention=900;还原数据在事务提交后⾄少保留900秒.8.9 获得还原数据的信息sql>select to_char(begin_time,’hh:mm:ss’) begin_time,to_char(end_time,’hh:mm:ss’) end_time,undoblks,txncount,maxquerylenfrom v$undostat;说明:begin_time:标识时间间隔的开始end_time:标识时间间隔的结束;undoblks:标识所消耗的还原数据块的总数txncount:标识该时间段中事务的总数;maxquerylen: 标识该时间段中所执⾏的最长的查询(按秒数)8.10 获得还原段的信息的数据字典和视图v$parameter_tablespaces,dba_data_files和v$undostatdba_rollback_segs动态视图v$rollname ,v$rollstat,v$session,v$transaction;<!--[if !supportLists]-->第九章<!--[endif]-->创建数据库<!--[if !supportLists]-->第⼗章<!--[endif]-->管理表10.1 创建临时表sql>create global temporary tableemp_tempon commit preserve rowsasselect *from empwhere …..;on commit preserve rows 说明数据⾏在整个会话中可见.on commit delete rows 说明数据⾏在事务中可见,默认值.10.2 了解某⽤户下的索引和表sql>select object_id,object_name,object_type,status,createdfrom dba_objectswhere owner=’scott’;10.3 了解索引属于那个表的sql>select index_name,table_name,tablespace_name,statusfrom dba_indexeswhere owner=’scott’;10.3 更改表存储的表空间sql>alter table scott.empmove tablespace users;sql>select segment_name,tablespace_name,extents,blocksfrom dba_segmentswhere owner=’scott’;10.3 重建表索引并更改存储的表空间sql>alter index scott.pk_emp rebuildtablespace indx;10.4 表列的重名:alter table 表名rename column 旧名to 新列名;10.5 列的删除alter table 表名drop column 列名cascade constraints checkpoint ⾏数表⽐较⼤的时候可以⽤checkpoint ⾏数来做检查,当系统崩溃的时候可以⽤下⾯的命令来继续删除: alter tables 表名 drop column continue;10.6 先把列标识为⽆⽤后再删除操作sql>alter table 表名set unused 列名 cascade constraints;sql>alter table 表名drop unused columns checkpoint ⾏数;sql> alter tables 表名 drop column continue;<!--[if !supportLists]-->第⼗⼀章<!--[endif]-->索引的管理与维护11.1 创建索引create (unique|bitmap) index [⽤户名.] 索引名on [⽤户名.]表名(columnname[asc|desc][,columnname[asc|desc]]…)[tablespace 表空间名][pctfree 正整数][initrans 正整数][initrans 正整数][maxtrans 正整数][存储⼦句][logging|nologging][nosort]关键字说明:unique: 说明是唯⼀索引asc : 索引为升序pctfree: 每个块中预留的空间initrans:在每⼀个块中预分配的事务记录数存储⼦句:说明索引中extents怎样分配<!--[if !supportLists]-->第⼗⼆章<!--[endif]-->管理和维护数据完整性<!--[if !supportLists]-->第⼗三章<!--[endif]-->⽤户及系统资源的安全的管理 13.1 创建⽤户create user ⽤户名identified { by ⼝令|externally|globally asexternal name}[default tablespace 默认表空间名][temporary tablespace 表空间名][quota {正整数[K|M]|unlimited} on 表空间名][quota {正整数[K|M]|unlimited} on 表空间名]….][password expire]该⽤户在第⼀次登陆⼝令旧失效.[account {lock|unlock}][profile{ 概要⽂件名|default}]13.2 删除⽤户SQL>drop user ⽤户名 [cascade]13.3 修改⽤户的默认表空间sql>alter user default tablespace 新表空间名<!--[if !supportLists]-->第⼗四章<!--[endif]-->管理权限14.1 分配权限sql>grant 权限列表 to ⽤户名在grant 命令中使⽤了with admin option ⼦句,被授予权限的⽤户可以进⼀步将这些系统权限授予其他的⽤户. sql>grant 权限列表 to ⽤户名 with admin option;sql>select * from dba_sys_privs where grantee=’⽤户名’;14.2 回收权限sql>revoke 权限列表 from ⽤户名。

ORACLEDBA教程[1]

ORACLEDBA教程[1]
ORACLEDBA教程[1]
ORACLE的体系结构 进 程
多进程/多用户
使用多个进 程执行 ORACLE的不 同代码,对于 每一个连接的 用户都有一个 进程。
后台进程
SGA
服务器进程 用户进程
ORACLEDBA教程[1]
ORACLE的体系结构 进 程
专用服务器方式 为每个用户单独
开设一个服务器进程 。适用于实时系统。 不设置参数:
据的修改,以备恢复数据时使用。其特点如
下:
• 每一个数据库至少包含两个日志文件组。 • 日志文件组以循环方式进行写操作。 • 每一个日志文件成员对应一个物理文件。
ORACLEDBA教程[1]
ORACLE的体系结构 物理结构
日志开关(Log Switch)是为实现日志文件
组的循环使用而设置的。出现日志开关的情
写操作。)
ORACLEDBA教程[1]
ORACLE的体系结构 后台进程
检查点(Checkpoint) :
在检查点出现期间,DBWR进程将数据 缓冲区中的所有脏缓冲块写到数据文件中 ,LGWR进程将日志缓冲区中的所有记录 项写到日志文件中,以确保上一个检查点 至今修改过的所有数据块都被写到磁盘上 。
MTS_SERVICE
MTS_DISPATCHERS
MTS_SERVERS
MTS_LISTERNET_ADDRESS
后台进程
SGA
服务器进程 服务器进程
调度器
用户进程
用户进程
用户进程
ORACLEDBA教程[1]
ORACLE的体系结构 进 程
参数的涵义
• MTS_SERVICE:服务器名,缺省值为DB_NAME • MTS_DISPATCHERS:调度器个数 • MTS_SERVERS:可以启动的服务器进程的个数 • MTS_LISTERNET_ADDRESS:SQL*NET监听器地

oracle管理权限和角色

oracle管理权限和角色

oracle管理权限和角色介绍这一部分主要看看oracle中如何管理权限和角色,权限和角色的区别在哪里。

当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。

如果要执行某种特定的数据库操作,则必需为其授予系统的权限;如果用户要访问其它方案的对象,则必需为其授予对象的权限,为了简化权限的管理,可以使用角色。

权限:权限是指执行特定类型sql命令或是访问其它方案对象的权利,包括系统权限和对角权限两种。

系统权限介绍系统权限是指执行特定类型sql命令的权利,它用于控制用户可以执行的一个或是一组数据库操作。

比如当用户具有create table权限时,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。

oracle提供了160多中系统权限。

常用的有:create session 连接数据库;create view 建视图;create procedure 建过程、函数、包;create cluster 建簇;create table 建表;create public synonym 建同义词;create trigger 建触发器;显示系统权限oracle提供了166系统权限,而且oracle的版本越高,提供的系统权限就越多,我们可以查询数据字典视图system_privilege_map,可以显示所有系统权限。

基本语法:select * from system_privilege_map order by name;oracle11GR2中提供了208个系统权限。

授予系统权限一般情况,授予系统权限是有dba完成的,如果用其它用户来授予系统权限,则要求用户必需具有grant any privilege的系统权限在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其它的用户或是角色。

为了让大家快速入门,我们举例说明:1、创建两个用户ken,tom初始阶段他们没有任何权限,如果登陆就会出错误的信息。

19.管理角色

19.管理角色

◦ 删除角色: 从所有用户和所授权的角色那删除该角色。 从数据库中删除该角色。 ◦ 需要 ADMIN OPTION 或 DROP ANY ROLE 权限 ◦ 删除一个角色:
DROP ROLE hr_manager;
用户
用户 角色
HR_CLERK
HR_MANAGER
PAY_CLERK
应用 角色
BENEFITS
PAYROLL
应用 权限
Benefits privileges
Payroll privileges
Password protected (not default) PAY_CLERK
Default role PAY_CLERK_RO
INSERT, UPDATE, DELETE, and SELECT privileges
CREATE ROLE hr_manager IDENTIFIED EXTERNALLY;
角色名 CONNECT, RESOURCE, DBA EXP_FULL_DATABASE IMP_FULL_DATABASE DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE
◦ ◦ ◦ ◦
比较容易的权限管理 动态的权限管理 选择权限的可获得性 可通n:
◦ 不用标识:
CREATE ROLE oe_clerk;
◦ 使用口令:
CREATE ROLE hr_clerk IDENTIFIED BY bonus;
◦ 由外部标识:
ALTER USER scott DEFAULT ROLE hr_clerk, oe_clerk; ALTER USER scott DEFAULT ROLE ALL; ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk; ALTER USER scott DEFAULT ROLE NONE;
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


让自己更加强大,更加专业,这才能 让自己 更好。2 020年1 1月下 午8时22 分20.1 1.2220: 22Nove mber 22, 2020

这些年的努力就为了得到相应的回报 。2020 年11月2 2日星 期日8时 22分42 秒20:2 2:4222 November 2020

科学,你是国力的灵魂;同时又是社 会发展 的标志 。下午8 时22分 42秒下 午8时2 2分20: 22:4220 .11.22
– 需要 ADMIN OPTION 或 DROP ANY ROLE 权限 – 使用以下命令删除角色:
DROP ROLE hr_manager;
角色创建原则
用户
用户角色
HR_CLERK
HR_MANAGER
PAY_CLERK
应用程序角色
BENEFITS
PAYROLL
应用程序权限
津贴权限
工资表权限
使用口令与缺省角色的原则
– 外部验证:
CREATE ROLE hr_manager IDENTIFIED EXTERNALLY;
预定义角色
角色名 CONNECT, RESOURCE, DBA EXP_FULL_DATABASE IMP_FULL_DATABASE DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE
受口令保护(非缺省设置) PAY_CLERK
Байду номын сангаас
缺省角色 PAY_CLERK_RO
INSERT、UPDATE、DELETE 和 SELECT 权限
选择权限
获取角色信息
可以通过查询以下视图来获取有关角色的信息: • DBA_ROLES:数据库中存在的所有角色 • DBA_ROLES_PRIVS:授予用户和角色的角色 • ROLE_ROL_PRIVS:授予角色的角色 • DBA_SYS_PRIVS:授予用户和角色的系统权限 • ROLE_SYS_PRIVS:授予角色的系统权限 • ROLE_TAB_PRIVS:授予角色的对象权限 • SESSION_ROLES:用户当前启用的角色
撤消用户角色
• 撤消用户角色需要有 ADMIN OPTION 或 GRANT ANY ROLE 权限。
• 使用以下命令撤消角色:
REVOKE oe_clerk FROM scott; REVOKE hr_manager FROM PUBLIC;
删除角色
– 删除角色:
• 删除授予所有用户和角色的角色 • 删除数据库角色
UPDATE ON JOBS
角色的优点
– 轻松权限管理 – 动态权限管理 – 可选择权限可用性 – 可以通过操作系统授予
创建角色
通过 ADMIN 选项授予的角色:
– 不验证:
CREATE ROLE oe_clerk;
– 使用口令:
CREATE ROLE hr_clerk IDENTIFIED BY bonus;
ALTER ROLE oe_clerk IDENTIFIED BY order;
ALTER ROLE hr_clerk IDENTIFIED EXTERNALLY; ALTER ROLE hr_manager NOT IDENTIFIED;
分配角色
使用 GRANT 命令分配角色
GRANT oe_clerk TO scott; GRANT hr_clerk TO hr_manager; GRANT hr_manager TO scott WITH ADMIN OPTION;

安全放在第一位,防微杜渐。20.11.22 20.11.2 220:22: 4220:2 2:42November 22, 2020

加强自身建设,增强个人的休养。202 0年11 月22日 下午8时 22分20 .11.222 0.11.22

精益求精,追求卓越,因为相信而伟 大。202 0年11 月22日 星期日 下午8时 22分42 秒20:2 2:4220. 11.22
谢谢大家!
SELECT_CATALOG_ROLE
说明
提供这些角色的目的是为了向后 兼容
导出数据库的权限
导入数据库的权限
对于数据字典表的 DELETE 权限 对于数据字典程序包的 EXECUTE 权限
对于数据字典表的 SELECT 权限
修改角色
• 使用 ALTER ROLE 可修改验证方法。 • 要求使用 ADMIN 选项或具有 ALTER ANY ROLE 权限。
设置缺省角色
• 可以为一个用户分配多个角色。 • 可以为用户分配一个缺省角色。 • 限制用户的缺省角色的数目。
ALTER USER scott DEFAULT ROLE hr_clerk, oe_clerk;
ALTER USER scott DEFAULT ROLE ALL;
ALTER USER scott DEFAULT ROLE ALL EXCEPT hr_clerk;

人生得意须尽欢,莫使金樽空对月。2 0:22:42 20:22:4 220:22 11/22/2 020 8:22:42 PM

做一枚螺丝钉,那里需要那里上。20. 11.2220 :22:422 0:22Nov-2022-Nov-20

日复一日的努力只为成就美好的明天 。20:22: 4220:2 2:4220: 22Sunday, November 22, 2020
小结
在这一课中,您应该能够掌握:
– 创建角色 – 为角色分配权限 – 为用户或角色分配角色 – 设置缺省角色
练习 17 概览
• 此练习涉及以下主题:
– 列出角色的系统权限 – 创建、分配和删除角色 – 创建应用程序角色

生活中的辛苦阻挠不了我对生活的热 爱。20. 11.2220 .11.22S unday, November 22, 2020
启用和禁用角色
– 禁用角色以暂时撤消用户拥有的该角色。 – 启用角色以暂时授予该角色。 – SET ROLE 命令可启用和禁用角色。 – 登录时启用用户的缺省角色。 – 启用角色可能需要口令。
启用和禁用角色
SET ROLE hr_clerk; SET ROLE oe_clerk IDENTIFIED BY order; SET ROLE ALL EXCEPT oe_clerk;
ALTER USER scott DEFAULT ROLE NONE;
应用程序角色
– 应用程序角色只能由授权的 PL/SQL 程序包启用。 – USING package 子句用来创建应用程序角色。
CREATE ROLE admin_role IDENTIFIED USING hr.employee;
管理角色
目标
完成这一课的学习后,您应该能达到下列目标:
– 创建和修改角色 – 控制角色的可用性 – 删除角色 – 使用预定义角色 – 显示数据字典中的角色信息
角色
用户 角色
A
B
C
HR_MGR
HR_CLERK
权限
SELECT ON JOBS
INSERT ON JOBS
CREATE TABLE
CREATE SESSION

每天都是美好的一天,新的一天开启 。20.11. 2220.1 1.2220: 2220:22 :4220:2 2:42Nov-20

相信命运,让自己成长,慢慢的长大 。2020 年11月2 2日星 期日8时 22分42 秒Sunday, November 22, 2020

爱情,亲情,友情,让人无法割舍。2 0.11.22 2020年 11月22 日星期 日8时2 2分42 秒20.11. 22
相关文档
最新文档