Java课件 第23讲 Oracle体系结构体验__3
《ORACLE体系结构》PPT课件

– 将表空间设置为脱机或 只读
– 删除或截断表
– 备份表空间
整理ppt
24
LOG Writer(LGWR)
LGWR在以下情况将缓 冲区中的数据写入磁盘:
– 事务提交 – 三分之一的redo日志缓
冲区已满
– Redo日志缓冲区中的内 容超过1M
– 每三秒钟 – 在DBWn写磁盘之前
整理ppt
25
System Monitor(SMON)
Redo Log Buffer Cache缓存对于数据块 的所有修改。
– 主要用于恢复 – 其中的每一项修改记录都被称为redo 条目。 – 利用Redo条目的信息可以重做修改。
整理ppt
15
Large Pool
Large Pool是SGA中一个可选的内存区域, 它只用于shared server环境。
information
SGA
Shared Server
Stack space
sort area, cursor information
SGA Session information
Shared SQL整A理repapt
Shared SQL Area
18
Program Global Area(PGA)
– ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;
整理ppt
11
Library Cache
Libray Cache缓存最近被执行的SQL和 PL/SQL的相关信息。
– 实现常用语句的共享 – 使用LRU算法进行管理 – 由以下两个结构构成:
• Shared SQL area • Shared PL/SQL area
Oracle数据库的体系结构经典课件PPT(34张)

file#:存放数据文件的编号。 status:数据文件的状态。 checkpoint_change#:数据文件的同步号,随着系统
的运行自动修改,以维持所有数据文件的同步。
bytes:数据文件的大小。 blocks:数据文件所占用的数据块数。 name:数据文件的名称以及存放路径。
日志文件是数据库系统的最重要的文件之一, 它可以保证数据库安全,是进行数据库备份与 恢复的重要手段。如果日志文件受损,数据库 同样可能会无法正常运行。
Oracle中的日志文件组是循环使用的,当所有 日志文件组的空间都被填满后,系统将重新切 换到第一个日志文件组。发生日志切换时,日 志文件组中已有的日志信息是否被覆盖,取决 于数据库的运行模式。
3.归档重做日志文件
归档重做日志文件用于对写满的日志文件进行复制并保存,具 体功能由归档进程ARCn实现,该进程负责将写满的重做日志 文件复制到归档日志目标中。
4.警告、跟踪日志文件
当一个进程发现了一个内部错误时,它可以将关于错误的信息 存储到它的跟踪文件中。而警告文件则是一种特殊的跟踪文件, 它包含错误事件的说明,而随之产生的跟踪文件则记录该错误 的详细信息。
SQL> COLUMN name FORMAT A50; SQL> SELECT name FROM v$controlfile; NAME ------------------------------------------------ E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.C
《oracle体系结构》PPT课件

数据字典缓冲区(Data Dictionary Cache)
数据字典缓冲区是ORACLE特地为数据字 典准备的一块缓冲池,供ORACLE内部使 用。
21
数据库高速缓存
这些缓冲是对应所有数据文件中的一些被使用到的数据块。 让他们能够在内存中进行操作。任何文件的数据块都有可 能被缓冲。数据库的任何修改都在该缓冲里完成,并由 DBWR进程将修改后的数据写入磁盘。
运行iSQL*Plus工具时需开启的服务
OracleDBConsoleorcl
访问Oracle Enterprise Manager 时需开启的服务
7
客户端连接工具
SQL*Plus 在Oracle安装的路径下可以找到该工具
登陆界面如下:
8
客户端连接工具
iSQL*Plus 首先要启动服务
然后在浏览器里输入 http://localhost:5560/isqlplus 进入
登陆页面
9
客户端连接工具
该工具的登陆界面如下
客户端配置好网络服务名后,会在这个下拉框显示出来
10
使用PL/SQL Developer
这个窗口列出了所有的数据库对象, 可以可视化的创建和管理
11
使用PL/SQL Developer
Cache) (3)重做日志缓存(Redo Log Buffer
Cache) (4)Java池(Java Pool) (5)大池(Lager Pool)
18
共享池
共享池是SGA中最关键的内存片段,特别 是在性能和可伸缩性上。一个太小的共享 池会扼杀性能,使系统停止,太大的共享 池也会有同样的效果,将会消耗大量的 CPU来管理这个共享池。不正确的使用共 享池只会带来灾难。共享池主要又可以分 为以下两个部分:
Oracle体系结构培训课件PPT(77张)

重做日志缓冲区
重做日志缓冲区用于缓存数据库重做日 志记录,以便数据库损毁时可以进行必要的 恢复。
重做日志缓存是一个循环缓存区,在使 用时从顶端向低端写入数据,然后再返回到 缓冲区的起点循环写入。
13
共享池
共享池相当于程序高速缓冲区,所有的 用户程序都放在共享池中。
当用户将SQL指令发送至Oracle,系 统首先解析语法是否正确。解析时所需的系 统信息,以及解析后的结果将存放在共享池 内。所以当不同用户执行相同SQL指令时, 可以共享已解析好的结果。
14
共享池
共享池=库缓存+数据字典缓存 库缓存=共享SQL区+PL/SQL域+锁+闩 数据字典缓冲区存放数据字典信息。
15
程序全局区 PGA:Program Global Area
PGA是单个Oracle进程(包括服务器进程和 后台进程)使用的内存区域,不属于实例的 内存结构。
PGA含有单个进程工作时需要的数据和控制 信息,PGA是非共享的,只有服务进程本身 才能够访问它自己的PGA区。
11
数据高速缓存
当用户第一次提出数据查询请求时,Oracle会 首先在数据高速缓存中寻找该数据。如找到,系统 就直接对它们进行处理。
如找不到,系统首先在数据高速缓存中查找空 闲数据块,然后将数据库文件中的数据读入空闲块 处理,如搜索了一定的数据块后仍找不到空闲块, 由后台进程DBWR将内存中部分修改过的数据写入 文件,以腾出空间。
后台进程 服务进程
SGA区 物理存储
数据文件 控制文件 日志文件
初始化文件 密码文件 归档文件
逻辑存储
表空间 段 区
块
7
请大家看一下书上§2.2 Oracle内存结构
Oracle数据库体系结构

在Oracle 9i之前,初始化参数都是以文本格式存放 的。在Windows平台上,建议将PFILE文件存放在 %ORACEL_HOME%\database目录中,文件名为 initSID.ora,其中SID为实例名。
(2)SPFILE
SPFILE是以二进制格式存放的。在Window 平台上,Oracle建议将SPFILE存放在 %ORACLE_HOME%\dbs 目录中。文件名为sp。
2.4.2 段
• 段是用户建立的数据库对象(如:表,索引, 簇等)的存储表示。它是有一个或多个区组 成的。
• 当建立表、索引、簇时,Oracle会为这些对 象分配段,以存放它们的数据信息,并且段 名与对象名完全相同。
• 用户建立的每一个表都会有一个在表空间中 存储的逻辑段。为用户所建立的对象生成的 段都要在磁盘上占用空间。
• 日志文件主要用于数据库恢复。
• 查看重做日志文件
SQL> select member from v$logfile;
MEMBER -------------------------------------------------E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG
db_block_size 指定标准oracle块的尺寸
db_cache_size 指定标准数据高速缓存的尺寸
share_pool_size 指定共享池的尺寸
常用初始化参数(一)
参数名 log_buffer sga_max_size java_pool_size large_pool_size
Oracle数据库知识体系构架精品PPT课件

什么是数据库?什么是Oracle?
➢ 简单地说,数据库(Database,简称DB)是一个提供数据的基地。它能保存数
据并让用户从它这里访问有用的数据。确切地说,数据库是某个企事业单位存在计
算机内的一组业务数据,它能以最佳方式、最少的数据重复被这个单位中的所有可
能的应用系统所共享。数据库中的业务数据是以一定的组织方式存储在一起的相互
恢复:一套一致的数据文件完整备份与在线重做日志文件、 归档日志文件一起能保证所有已经提交的事务恢复到先前 状态。
备份:能在数据库打开的情况下进行。 ➢ 缺省数据库以非归档模式创建。
Oracle的控制文件
➢ 每一个ORACLE数据库有一个控制文件,用于维护数据库的全局物理结 构,所有数据库结构的改变都会引起控制文件的改变(同时被记录在 跟踪文件,由Oracle后台进程自动完成),包含下列信息类型:
➢ Oracle9i首次引入数据库参数文件SPFILE,是一个二进制文件, 通过它可以使用SQL命令在线修改数据库参数,可与PFILE相互转 换
Oracle的内存结构
Oracle的内存结构
➢ 内存结构是Oracle数据库体系中最为重要的部分之一, 是影响数据库性
➢ 能的第一个因素。
Instance
Oracle日志文件的作用
重做日志文件用于记录用户对数据的修改或数据库管理员对数据库结构的修 改,并提供一种介质失败时的恢复机制。 ➢ 重做日志文件分组管理。 ➢ 一个Oracle数据库要求至少有两组重做日志文件。 ➢ 组中每个日志文件被称作一个组成员。每一个日志文件组对应1个或多个日志
文件。
Oracle日志文件的工作原理
重做日志文件循环使用,当一个重做日志文件充满时,LGWR 将日 志写入
[计算机]oracle体系结构
Oracle体系结构:物理结构,逻辑结构,内存结构,数据库实例和进程,数据字典物理结构:数据文件,日志文件,控制文件,配置文件数据文件用来存储数据库中的全部数据,如数据库表中的数据和索引数据。
通常为后缀名为.dbf格式的文件。
日志文件(又称重做日志文件),用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。
名字通常为Log*.dbf格式控制文件每个Oracle数据库都有相应的控制文件,用于打开、存取数据库。
它们是较小的二进制文件,其中记录了数据库的物理结构。
名字通常为Ctr*.ctl格式配置文件是一个ASCII文本文件,记录Oracle数据库运行时的一些重要参数。
名字通常为initsid*.ora格式,如:initCIMS.ora,SID相当于它所控制的数据库的标识符。
每个Oracle数据库和实例都有它自己惟一的init.ora文件。
逻辑结构:表空间,段,区,数据库块,模式对象Oracle中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间:(1)System表空间(2)回滚表空间(RollBack TableSpace)(3)临时表空间(Temp TableSpace)段:数据段,索引段,临时段,回退段区是由很多连续的数据块组成的数据库存储空间。
缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区。
Oracle数据库的模式对象包括表、视图、序列、同义词、索引、触发器、存储过程等。
内存结构:系统全局区,程序全局区,排序区,软件代码区系统全局区(SGA,System Global Area.)是内存结构的主要组成部分,是Oracle为一个实例分配的一组共享内存缓冲区,保存着Oracle系统与所有数据库用户的共享信息,包括数据维护、SQL语句分析,重做日志管理等。
是实例的主要部分。
数据块缓冲区中存放着Oracle系统最近从数据文件中读取的数据块。
Oracle的体系结构
2.逻辑存储结构
2.3段
段是由一系列盘区组成,它也不再是存储空间的 分配单位,而是一个独立的逻辑存储结构。
对于具有独立存储结构的对象,它的数据全部存 储在保存它的段中。一个段只属于一个特定的数 据库对象,每当创建一个具有独立段的数据库对 象时,Oracle将为它创建一个段。
(1). SYSTEM表空间(SYSAUX表空间加以辅 助),用于存储:
数据字典、内部系统表基表 PL/SQL程序的源代码和解析代码 数据库对象的定义
2.逻辑存储结构
2.4表空间
(2). 撤销表空间,专门用来在自动撤销 管理方式下存储撤销信息,即回退信息。
(3).临时表空间。在实例运行过程中, Oracle使用一些临时空间来保存SQL语句执 行过程中所产生的临时数据。
4.实例的内存结构
Oracle的2个主要的内存结构
系统全局区(System Global Area,SGA) 程序全局区(Program Global Area,PGA)
4.实例的内存结构
4.1系统全局区SGA
位于系统的共享内存段中,SGA区中的数据可以被所有的 服务和后台进程共享。
如果多个用户连接到同一个数据库实例,则实例的SGA区 中的数据可被多个用户共享。在数据库实例启动时,SGA 的内存被自动分配;当数据库实例关闭时,SGA被回收。
段 段
数据库的逻辑存储组成
2.逻辑存储结构
2.1数据块(Data Blocks)
数据块是Oracle用来管理存储空间的最小单元, 也是执行数据库输入输出操作时的最小单位。
SQL> select name,value from V$parameter where name='db_block_size';
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SGA Data buffer cache Redo log buffer
SMON DBW0 PMON CKPT
LGWR Others
Parameter file Password file
Data files
Control files
Redo log files Archived log files
Oracle数据库的体系结构和操作及 网络配置
• • • • • • • Oracle数据库的体系结构 数据库管理员 数据库的启动与关闭 初始化参数文件 数据字典 动态性能视图 Net8基本配置
概述
User process Instance
Server process
PGA
Shared pool Library cache Data dict. cache
A Abort
I Immediate
N Normal
x o
NO YES
T Transactional
不同类型的SHUTDOWN
Transfer of Funds Shutdown Normal Shutdown Shutdown Immediate Transactional
1
Check account balances Insert new funds Remove funds from old account Commit Database down Database down Database down
处理一个 SQL 语句
• 使用以下进程连接一个实例:
– 用户进程 – 服务器进程
• 使用Oracle 服务器的SQL类型:
– 返回结果行的查询. – DML 语句改变日志. – 提交保证事务恢复.
• 其它不参与SQL语句处理的 Oracle server 部件.
连接一个实例
User Server Oracle server
Database
Oracle 数据库文件
Data files Control files Redo log files
Parameter file
Password file
Database
Archived log files
其它关键的物理结构
Parameter file
Password file
回滚段
老的映象
新的映象 表
回滚段
DML 语句
COMMIT 处理
Instance
1
Server process Data buffer cache
SGA Redo log buffer
Shared pool
4 3
LGWR
2
User process Data files Control files Redo log files
UPDATE emp ...
4
Server process
1
2
3
1
Data files
Control files
Redo log files
Database
重做日志缓冲区
Redo log buffer
• • • •
LOG_BUFFER参数定义其大小 记录通过实例对数据库的改变 顺序使用 循环使用的缓冲区
Database
日志写进程 (LGWR)
Instance SGA Data buffer cache Redo log buffer
Shared pool
LGWR 何时写:
• 执行COMMIT时 • 重做日志缓冲区写 满三分之一 • 重做日志在1 MB以 上时 • DBW0 写之前
LGWR
Data files
共享池
Data dictionary cache
• 库高速缓存存放SQL语句的文本,分析后的代码及执 行计划. • 数据字典高速缓存存放有关表,列和其它对象定义及 权限. • SHARED_POOL_SIZE参数定义共享池的大小.
数据库高速缓存
Data buffer cache
• • • •
存储当前最近使用的数据块 DB_BLOCK_SIZE参数决定数据块的大小 DB_BLOCK_BUFFERS参数定义数据块的个数 DB_BLOCK_SIZE* DB_BLOCK_BUFFERS为 数据库高速缓存的大小
程序全局区 (PGA)
• 非共享 • 只能由服务器进程写 • 包含的内容有:
– – – – 排序区 会话信息 游标状态 堆栈空间
Server process PGA
处理 DML 语句
SGA
User process Shared pool
Data buffer cache
Redo log buffer
Control files
Redo log files
Database
实例的其它后台进程
• 其它必需的进程:
– – – – 数据库写进程 (DBW0) 进程监控进程 (PMON) 系统监控进程 (SMON) 检查点进程 (CKPT)
• 归档进程 (ARC0)通常是在运行数据库 情况下才创建
数据库写进程 (DBW0)
服务器进程
• 在服务器上运行 (主机) • 在专用服务器配置中仅为单个用户进 程服务 • 使用一个独占的PGA • 包括Oracle程序接口(OPI) • 由客户端生成进程调用 • 将结果返回给客户端
Oracle数据库的体系结构和操作及 网络配置
• • • • • • • Oracle数据库的体系结构 数据库管理员 数据库的启动与关闭 初始化参数文件 数据字典 动态性能视图 Net8基本配置
用户 INTERNAL
• INTERNAL
– 缺省口令 : oracle – 口令的修改需要使用Oracle的实用 程序 – 具有SYSOPER和SYSDBA权限
Oracle数据库的体系结构和操作及 网络配置
• • • • • • • Oracle数据库的体系结构 数据库管理员 数据库的启动与关闭 初始化参数文件 数据字典 动态性能视图 Net8基本配置
2
3 4 5
Log out
Shutdown 时间
4 3
2
1
时间
Normal
Transactional
Immediate
Abort
Oracle数据库的体系结构和操作及 网络配置
• • • • • • • Oracle数据库的体系结构 数据库管理员 数据库的启动与关闭 初始化参数文件 数据字典 动态性能视图 Net8基本配置
User
Server
客户
服务器 Server
应用服务器 User 浏览器
处理一个查询
• 分析:
– – – – 查找相同的语句 检查语法,对象名和权限 分析期间锁定使用的对象 创建和存储执行计划
• 执行: 查找选定的结果行 • 获取: 结果行返回给用户进程
Shared pool Library cache
SMON: 系统监控进程
• 自动恢复实例:
– 前滚重做日志中的数据库改变 – 为用户访问打开数据库 – 回滚未提交的事务
• 收集空闲空间 • 去配临时段
PMON: 进程监控进程
可以对失败的进程进行清理: • 回滚事务 • 释放占用的锁 • 释放其它的资源
归档进程
• 数据库归档方式
– NOARCHIVELOG方式 :发生磁盘故障 后不需要恢复的数据库 – ARCHIVELOG方式:运行系统的数据库
• ARC0 进程
– 联机重做日志自动归档 – 保留数据库改变的全部记录
用户进程
• 在客户机上运行 • 当调用一个工具或应用时产生 • 运行工具或应用 (SQL*Plus, Server Manager, Oracle Enterprise Manager, Developer/2000) • 包括用户程序接口 (UPI) • 生成对Oracle服务器的调用
ALTER DATABASE database MOUNT;
• 将数据库的状态从MOUNT转变成OPEN:
ALTER DATABASE database OPEN;
Shutdown 选项
Shutdown 模式 Allow new connections Wait until current sessions end Wait until current transactions end Force a checkpoint and close files Shutdown模式 : A x x x x I x x x o T x x o o N x o o o