Oracle 第1章 Oracle入门
注意:本文使用的版本为Oracle 9i
1、技术目标
- 了解 Oracle 体系结构的各种组件
- 掌握 Oracle 中的基本用户管理
- 了解 Oracle 的工具
2、Oracle简介
- 对象关系型的数据库管理系统 (ORDBMS)
- 在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛
- 在数据安全性与数据完整性控制方面性能优越
- 跨操作系统、跨硬件平台的数据互操作能力
3、Oracle主要特点
- 支持多用户、大事务量的事务处理
- 数据安全性和完整性控制
- 支持分布式数据处理
- 可移植性
4、Oracle 9i 体系结构
数据库的体系结构是指数据库的组成、工作过程与原理以及数据在数据库中
的组织与管理机制,Oracle服务器提供开放、全面和综合的信息管理,它由
Oracle数据库 和Oracle实例 组成,如图:
- Oracle数据库:指数据的集合,该集合被视为一个逻辑单元
- Oracle实例:管理数据库的后台进程和内存结构的集合
5、Oracle的主要组件
先看一下组件结构图:
在接下来的小节中将逐一介绍各组件
6、什么是Oracle实例?
- Oracle实例是"后台进程"和"内存结构"的集合,必须启动实例才能访问数据库中的数据
- Oracle实例启动时,将分配一个"系统全局区SGA "并启动一系列的后台进程 ,每个后台进程会执行不同的任务,一个实例只能打开并使用一个数据库
7、什么是Oracle数据库?
Oracle数据库由文件组成,称为数据库文件,提供实际物理存储区。
Oracle数据库主要用于存储和检索信息,包含"逻辑结构 "和"物理结构 "
- 物理结构:包含数据库中的一组文件
- 逻辑结构:数据库创建后形成的逻辑概念
8、关于Oracle会话
- 会话是用户与 Oracle 服务器的单个连接
- 当用户与服务器建立连接时创建会话
- 当用户与服务器断开连接时关闭会话
9、Oracle实例的内存结构是什么?
Oracle实例的内存结构包含两个区 ,如图:
10、Oracle的系统全局区(SGA)
SGA (System Global Area)又称为共享全局区 ,是Oracle实例的一个
基本组件,数据库信息存储于SGA,由多个数据库进程共享,SGA是数
据库中占用服务器内存最大的一个区域,也是影响数据库性能的一个重
要指标,SGA按其作用不同分为:
- 共享池
- 数据缓冲区
- 日志缓冲区
10.1)共享池:
- 共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域
- 共享池由库缓存和数据字典缓存组成。
- 共享池的大小直接影响数据库的性能
10.2)数据缓冲区:
- 用于存储从磁盘数据文件中读入的数据,所有用户共享
- 服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度
- 数据缓冲区的大小对数据库的读取速度有直接的影响
10.3)日志缓冲区
- 日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。
- 日志缓冲区的日志数据达到一定数量时由后台进程将日志数据写入日志文件中
- 相对来说,日志缓冲区对数据库的性能影响较小
11、Oracle的程序全局区, PGA (Program Global Area)
- 包含单个服务器进程所需的数据和控制信息
- PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息
- PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放
12、Oracle实例进程结构
Oracle实例进程结构图:
Oracle实例进程有几种不同的类型,
- 用户进程:在数据库用户请求连接Oracle服务器时启动(客户端程序)
- 服务器进程:在用户建立会话并连接Oracle示例时启动(服务端程序)
- 后台进程:在Oracle实例启动时启动(服务端程序)
12.1)用户进程
用户进程是一个需要与Oracle服务器进行交互的程序,当数据库用户运行一个
应用程序准备向数据库服务器发送请求时,即创建了用户进程,如果用户启动
SQL*Plus时,系统自动建立一个用户进程
12.2)服务器进程
服务器进程用户处理连接到该实例的用户进程的请求,用户建立与数据库的连
接时,即产生服务器进程,该进程为所连接的用户服务,服务器进程直接与
Oracle数据库交互,实现调用和返回结果。服务器进程可以处理多个用户请求
12.3)后台进程 ,如图:
为了充分发挥系统性能以及协调多个用户,Oracle使用了一些附加进程,称为
后台进程。这些进程在Oracle实例启动时自动启动,有5个必须的后台进程:
1.进程监控(PMON) :在用户进程出现故障时执行进程恢复,包括如下任务:
- 释放所有当前挂起的锁
- 回滚用户当前事务处理
- 释放用户当前使用的资源
- 重启已经死锁的调用进程和服务进程
2.系统监控(SMON) :在实例启动时执行实例恢复,包括3个步骤
- 前滚以恢复未写入数据文件但已记入联机日志文件的数据
- 打开数据库,以便用户能登录,访问数据
- 回滚未提交的事务处理
- 整理数据文件的自由空间
- 释放不再使用的临时段
3.数据写入进程(DBWR)
- 管理数据缓冲区,以便用户进程能找到空闲的缓冲区
- 将所有修改后的缓冲区数据写入数据文件
- 使用LRU(最近最少使用)算法将最近使用过的块保留在内存中
- 通过延迟写来优化磁盘I/O读写
4.日志写入进程(LGWR)
- 负责将日志缓冲区中的日志写入日志文件组,数据库在运行时,如果对数据
- 进行修改则产生日志信息,日志信息首先产生于日志缓冲区。此缓冲区按照
- "先进先出"的原则进行操作,当日志信息达到一定数量时,由LGWR进程将日志数据写入日志文件,通常有多个日志文件,日志写入进程以死循环的方式将数据写入文件
5.检查点(CKPT)
检查点(checkpoint,简写CKPT)用于保证所有修改过的数据缓冲区都被写入
数据库文件。在给定的时间内,检查点完成后,CKPT进程更新数据文件头和
控制文件,保存检查点信息,以保证数据库的同步。这是为了在数据库恢复时
只需要提供从上一个检查点以来的修改,确定开始恢复数据的位置
12.4)归档进程(ARCH)
归档进程(ARCH),在日志存满时将日志信息写到磁盘,用于
在磁盘故障时的数据库恢复。Oracle数据库有两种运行方式:
- 归档(ArchiveLog)方式 (数据库默认运行方式)
- 非归档(No ArchiveLog)方式
在非归档方式下,日志切换时直接覆盖以前的文件,不产生归档日志,
在归档方式下运行,日志切换之前,ARCH进程对已写满的日志文件进
行存档,即使在磁盘损坏的情况下,管理员也能将数据库恢复至故障发
生时的状态,当数据库运行在归档方式时ARCH进程才存在
13、Oracle物理组件
物理组件就是Oracle数据库所使用的操作系统物理文件,可分为三类:
- 数据文件用于存储数据库数据,如表、索引数据等
- 控制文件是记录数据库物理结构的二进制文件
- 日志文件记录对数据库的所有修改信息,用于故障恢复
14、Oracle逻辑组件
数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:
14.1)表空间
- 表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间
- 每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联
- 表空间的大小等于构成该表空间的所有数据文件大小之和
- 创建表空间的语法是:
create tablespace 表空间名
datafile '文件名' [size integer [K|M]]
[autoextend [OFF|ON]];
14.2)段
- 段是构成表空间的逻辑存储结构,段由一组区组成
- 按照段所存储数据的特征,将段分为四种类型:
数据段、索引段、回退段和临时段
14.3)区
- 区为段分配空间,它由连续的数据块组成。
- 当段中的所有空间已完全使用时,系统自动为该段分配一个新区
- 区不能跨数据文件存在,只能存在于一个数据文件中
14.4)数据块
数据块是Oracle服务器所能分配、读取或写入的最小存储单元
Oracle服务器以数据块为单位管理数据文件的存储空间
14.5)模式
- 模式是对用户所创建的数据库对象的总称 。
- 模式对象包括表、视图、索引、同义词、序列、过程和程序包等
15、Oracle网络配置
Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接
服务器端配置监听器 ,客户端配置网络服务名 ,如图:
- 服务器端监听器配置信息包括监听协议、地址及其他相关信息,配置信息保存在名为listener.ora的文件中,在安装服务器软件时自动配置一个监听器
- 客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中
- Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名
16、Oracle的查询分析工具
SQL*Plus :Oracle最常用的工具之一,用于接受和执行SQL命令以及PL/SQL块
iSQL*Plus :可以执行能用SQL*Plus完成的所有任务,能通过浏览器访问它
PL/SQL :是SQL 的扩展,结合了SQL语言的数据操纵能力和过程语言的流程控制能力
Oracle企业管理器:
17、Oracle默认帐号
- SYS :数据库中所有数据字典表和视图都存储在 SYS 模式中,SYS用户主要用来维护系统信息和管理实例
- SYSTEM :是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等
- SCOTT :Oracle 数据库的一个示范帐户,在数据库安装时创建
18、创建新用户
要连接到Oracle数据库,就需要创建一个用户帐户
每个用户都有一个默认表空间和一个临时表空间
- CREATE USER命令用于创建新用户
语法:
create user 帐号
identified by 密码
default tablespace 表空间
temporary tablespace 临时表空间;
19、授予权限
权限有两种类型,系统权限 和对象权限,
系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限
对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作
角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,
以简化权限管理
GRANT命令 可用于为用户分配权限 或角色
使用1: 为帐号设置CONNECT角色,允许用户连接至数据库
grant connect to 帐号;
使用 2: 为帐号设置RESOURCE角色允许用户使用数据库中的存储空间
grant resource to 帐号;
使用 3: 为帐号设置系统权限允许用户在当前模式中创建序列,此权限包
含在CONNECT角色中
grant create sequence to 帐号;
使用 4: 授予帐号操作表对象的权限
grant select on 表名 to 帐号;
使用 5: 允许用户更新表中的记录
grant update on 表名 to 帐号;
使用 6: 允许用户插入、删除、更新和查询表中的记录
grant all on 表名 to 帐号;
20、更改和删除用户
alter user 命令可用于更改口令
如, 修改帐号的密码 :
alter user 帐号 identified by 密码;
drop user命令用于删除用户
如,删除帐号
drop user 帐号 cascade;
21、使用Oracle数据库的开发流程
服务端开发流程:
客户端开发流程:
22、Windows中的Oracle服务:
1.OracleHOME_NAMETNSListener
该服务启动数据库服务器的监听器,监听器接受来自客户端应用程序的连接请求
若监听器未启动,则客户端将无法连接到数据库服务器
2.OracleServiceSID
该服务启动系统标识符为SID的数据库实例,其中 SID 是在安装 Oracle 9i 时输入的数据库名称
3.OracleHOME_NAMEAgent
Oracle企业管理器组件智能代理服务,此智能代理用于执行作业和监控 Oracle 服务或对象的性能
在使用Oracle管理服务器网络的环境中必须启动此服务
4.OracleHOME_NAMEHTTPServer
该服务用于启动Oracle HTTP服务器,它提供文档信息、基于Web的企业管理器和iSQL*Plus等服务
5.OracleHOME_NAMEManagementServer
该服务启动Oracle管理服务器,它用于维护管理控制台对各个被管理服务器节点之间的集中的、智能的和分布式的控制
该服务必须经过企业管理器配置向导配置完成后才创建
23、总结:
- Oracle 服务器由Oracle 数据库和 Oracle 实例组成
- Oracle 实例由系统全局区内存结构和用于管理数据库的后台进程组成
- Oracle 中用于访问数据库的主要查询工具有 SQL*Plus、iSQL*Plus 和 PL/SQL
- Oracle 企业管理器是用于管理、诊断和调整多个数据库的工具
- Oracle 中的 SYSTEM 用户和 SYS 用户具有管理权限,而 SCOTT 用户只有基本的权限
- Oracle 服务在 Windows 注册表中注册,并由 Windows 操作系统管理
Oracle 9i 的安装与卸载
Oracle 第2章 Oracle查询、数据类型、函数
相关推荐
本文详细介绍了 Oracle 入门的相关知识点,包括使用 Oracle Enterprise Manager Database Control 管理数据库、创建表空间、配置网络服务名以及使用 SQL*Plus 连接 Oracle 服务器等内容。通过学习这些知识点,初学者...
第1章 在windows 平台上安装oracle database 11g 第2章 配置网络服务名 第3章 使用sql database 第4章 使用sql*plus 第二部分 sql 第5章 sql和pl/sql综述 第6章 简单查询 第7章 sql单行函数 第8章 ...
在第1章中,作者首先介绍了Oracle 11g的基础知识,让读者对其有一个基本的了解。紧接着第2章介绍了Oracle 11g的体系结构,帮助读者建立起对数据库内部结构的认识。第3章至第5章分别讲解了SQL*Plus命令、SQL语言基础...
Oracle数据库是一款由甲骨文公司(Oracle Corporation)开发的商业关系型数据库管理系统(RDBMS),它支持大量数据的存储、检索和管理。在讨论Oracle的必要性时,通常会涉及到数据库的核心操作,即CRUD,这代表创建...
第1章数据库简介ppt 第2章实体-联系模型ppt 第3章Oralce数据库与数据表ppt 第4章sQL查询.ppt 第5章SQL更新数据.ppt 第6章Oracle中的字符型及ppt 第7章Oracle中的数值型ppt 第8章Oracle中的日期型ppt 第9章Oracle中的...
总之,Oracle数据库的学习涵盖认证、用户管理、基本命令等多个方面,理解和掌握这些基础知识是成为合格的Oracle DBA的第一步。通过不断的实践和学习,可以进一步提升在Oracle数据库领域的专业技能。
第1章-Oracle 11g数据库简介 认识Oracle 11g 回忆Oracle的产品版本 学习Oracle 11g的新特性 第2章-Oracle 11g的安装与测试 能够使用Oracle 11g的基本条件 在Windows 2003上安装Oracle 11g 移除Oracle 11g ...
湖北创科教育 主讲:徐小明老师 本集为Oracle 11g入门篇
第1章 Oracle数据库概述 1.1 Oracle数据库产品结构及组成 1.1.1 企业版 1.1.2 标准版 1.1.3 标准版 1.1.4 个人版 1.2 数据库基本术语 1.2.1 数据库 1.2.2 数据库管理系统 1.2.3 数据库系统 ...
在第一章,你将接触到数据库的基本概念,如数据库的定义、Oracle的历史以及数据库系统的架构。了解这些基础知识能帮助你构建对数据库管理系统的整体理解。 第二至第五章,将深入讲解Oracle的安装与配置、SQL语言、...
综上所述,文档《oracle数据库从入门到精通.pdf》从表空间的创建讲起,逐步深入到用户管理、数据类型介绍、数据操作语言、备份恢复命令以及查询语句的编写等多个方面,为读者提供了一个全面的Oracle数据库学习路径,...
常见的数据库范式包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及BCNF(博伊斯-科得范式)等。 备份和恢复是数据库管理中非常重要的方面。Oracle提供了多种工具和技术来备份和恢复数据库,比如RMAN...
Oracle入门教程是一套专为初学者设计的28本完整教程集合,旨在帮助读者逐步掌握Oracle数据库的基础知识和操作技能。Oracle,作为全球最广泛使用的数据库管理系统之一,其功能强大,适用范围广泛,从中小型企业到大型...
第1章 在windows 平台上安装oracle database 11g 第2章 配置网络服务名 第3章 使用sql database 第4章 使用sql*plus 第二部分 sql 第5章 sql和pl/sql综述 第6章 简单查询 第7章 sql单行函数 第8章 ...
根据提供的文件信息,本文将对《Oracle从入门到精通》这一书籍进行详细的解析与总结,以便读者能够快速了解该书的主要知识点。 ### 一、Oracle数据库基础 #### 1.1 Oracle简介 - **定义**:Oracle是全球最大的企业...
在"Oracle入门,第一步:Oracle Concepts"这一描述中,我们可以看出,本书主要目标是帮助初学者建立对Oracle数据库的基本认识,包括数据存储、查询、事务处理、安全性、备份恢复等关键概念。这些概念不仅是数据库...
1. 数据模型:Oracle基于关系数据模型,以表格的形式存储数据,每个表格称为表(Table),表中的每一行代表一个记录,列定义了数据类型和约束。 2. SQL语言:结构化查询语言是与Oracle交互的主要工具,用于创建、...