oracle培训讲义
1-10
Library Cache
Library Cache用于存放最近执行过的SQL语句、PL/SQL 程序。 管理内存分配用LRU(least recently used )算法。
由二个内存结构组成:
共享SQL语句区域 共享PL/SQL区域 大小由Shared Pool的大小决定 。
Shared Pool Library Cache Data Dictionary Cache 1-11
一个和ORACLE数据库直接交互的程序。 进行普通的调用并返回结果。 有二种进行连接方式:专用连接、共享连接。
Server process Session created Oracle server
Connection established User process
Database user 1-20
1、ORACLE体系结构
Oracle整体结构图
User process
Shared Pool
Library Cache
Instance SGA
Database Buffer Cache Java Pool Redo Log Buffer Large Pool
Server process PGA
Data Dictionary Cache
Instance SGA
Database Buffer Cache Java Pool Redo Log Buffer Large Pool
Shared Pool Library Cache PGA Data Dictionary Cache
PMON SMON DBWR LGWR
CKPT
Others
Redo Log Buffer
1-14
Large Pool
在SGA中,是可选的内存区。 用于减轻Shared Pool的负担。 用于: 共享连接的SESSION内存区(UGA)。 I/O服务进程 备份、恢复操作或RMAN管理 并行执行的消息缓冲区 内存管理不有LRU算法 大小用LARGE_POOL_SIZE 可以动态调整
PMON SMON DBWR LGWR
CKPT
Others
Parameter file
Data files
Control files
Redo Log files
Archived Log files
Password file
1-1
ORACLE 数据库服务器
Oracle server
一个ORACLE数据库服务 器:
1-18
用户进程(User Process)
一个和ORACLE数据库请求交互的程序。 和ORACLE建立连接。 不和ORACLE数据库直接交互。
Server process
User process Connection established
Database user 1-19
服务器进程(Server Process)
Redo log files
DB_BLOCK_SIZE决定数据块的大小。 由下面互不关系的子Cache组成: •DB_CACHE_SIZE •DB_KEEP_CACHE_SIZE •DB_RECYCLE_CACHE_SIZE
Database Buffer Cache
1-13
Redo Log Buffer
记录数据块记录的变化日志 主要是用于数据库的恢复 变化记录也被称之为重做体(REDO ENTRIES),重做体 包括了重构的信息或重做的变化。 大小由LOG_BUFFER决定。
Instance
Shared Pool Library Cache
SGA
Database Buffer Cache Java Pool Redo Log Buffer
内存结构
Data Dictionary Cache
Large Pool
PMON SMON DBWR LGWR
CKPT
Others
后台进程
Shared Pool Library Cache Data Dictionary Cache 1-12
Database Buffer Cache
用于存储从数据库文件中读取出来的数据块复制。 在读取数据或更新数据操作中,通过Database Buffter Cache能使性能得到很大的提高。
Database Buffer Cache内存管理通过LRU算法实现。
1-9
共享池(Shared pool)
Shared pool 用于存放: 最近执行过的SQL语句 最近用过的数据定义 Shared pool有二个性能有关的内存结构: Library Cache Data Dictionary Cache
Shared pool大小由SHARED_POOL_SIZE ALTER SYSTEM SET SHARED_POOL_SIZE = 64M; Shared Pool Library Cache Data Dictionary Cache
PGA Server process
User process
1-17
Process Structure
ORACLE数据库在运行期间使用下面几种进程: 用户进程:一个数据库用户请求连接到 ORACLE服务器时启动。 服务器进程:连接到ORACLE数据库实例,当 一个用户创建一个SESSION时启动。 后台进程:数据库实例启动时启动。
释放锁资源
PMON
释放相关的其他资源 重启死的发器 dispatchers )
PGA area
1-25
检查点进程 (CKPT)
Instance SGA
CKPT进程主要负责: 更新文件头信息 更新控制文件信息
唤醒DBWn进程
DBWn LGWR CKPT
Data files
Control files
Data Dictionary Cache
Data Dictionary Cache用于存放最近使用的用户定义,包 括数据文件、表、索引、用户、权限等。 在SQL、PL/SQL语句编绎期间,服务器进程会在Data Dictionary Cache中查找最近访问的用户定义,而不会去数 据库文件中找,通过这种方式,加快处理速度,提高系统的 性能。 Data Dictionary Cache大小由Shared Pool大小决定。
Instance
PMON SMON DBWR LGWR
CKPT
Others
1-21
数据库写进程 (DBWn)
Instance SGA Database Buffer Cache
DeckPoint完成 没有空闲的数据缓冲区 设置时间已到 有RAC ping请求 表空间脱机(offline)
Redo Log files
Database Database
1-26
归档进程 (ARCn)
是可选的后台进程
当归档( ARCHIVELOG )模式已设置的时候,完 成联机日志的自动归档。
保存在数据库操作中产生的所有日志变化记录,这 些记录全部保存在归档日志中。
Data files
Control files
ORACLE数据库培训讲义
DBA第一部分
目的:
1、了解ORACLE数据库体系结构。
2、初步从整体上认识ORACLE。 3、学会基础的ORACLE配置。
目录:
1. ORACLE体系结构 2. 开始ORACLE 3. ORACLE实例管理 4. 创建数据库 5. 管理控制文件
6. 管理联机日志文件
7. 管理表空间和数据库文件 8. 管理表、索引、数据完整性 9. 管理用户、权限、角色。
DBWn
Data files
Control files
Redo Log files
表空间修改为只读 删除表、或truncate表 表空间开始begin backup 1-22
Database Database
日志写 (LGWR)
Instance SGA Redo Log
LGWR进程完成把重做日志 缓冲区的内容写到REDO文 件,开始启动:
Commit进行提交事务
Buffer
Redo缓冲区1/3时
DBWn LGWR
在redo缓冲区有1M日 志
Redo Log files
每三秒启动一次
在DBWn进程写之前
Data files
Control files
Database Database 1-23
系统监控进程 (SMON)
Instance SGA
后台进程(Backgroup Process)
用于维护和管理ORACLE数据库的物理结构和储结构之间的 关系。
主要后台进程包括:
DBWn ARCn PMON LMDn Dnnn CKPT QMNn LMS LGWR SMON CJQ0 Snnn LMON LCKn RECO Pnnn
可选后台进行包括:
1-5
物理结构
ORACLE数据库的物理结构指的是一组在数据库中,由多个操 作系统文件组合在一起的集合,包括:
控制文件,包含了用于维护和校验数据库完整性的信息。 REDO文件,包含了数据库的最近的操作记录日志 数据文件,最重要部分,包含了数据的信息
Oracle Database Redo Control Log Data files files files
1-7
System Global Area
SGA由几种内存结构组成:
共享池(Shared Pool) 数据库缓冲区(Database Buffer Cache) REDO日志缓冲池(Redo Log Buffer ) 大型池(Large Pool) JAVA缓冲池(Java Pool)