oracle数据库的结构简析
来源:互联网 发布:周渝民演技 知乎 编辑:程序博客网 时间:2024/06/06 20:01
一、Oracle数据库与实例
实例:就是一组操作系统进程(或者是一个多线程的进程)和一些内存,这些进程可以操作数据库。
数据库:只是一个文件集合(包括数据文件、控制文件、临时文件、重做日志文件)。
两者关系:数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。
实际上,准确地讲,实例在其整个生存期中最多能装载和打开一个数据库!
二、Oracle数据库的物理结构
数据文件、控制文件、临时文件、重做日志文件等.
这里参数文件能够操作控制文件,控制文件打开数据文件。
三、Oracle数据库的内存结构
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含Oracle 服务器的数据和控制信息,它是在Oracle服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。它是实例中的全局共享区,实例是由SGA和进程组成。
DBBuffer:缓冲区高速缓存(buffer cache )保存了最近使用过的数据库、或者是修改后已经写回的数据块(干净的数据块).
因为缓冲区高速缓存在保存数据块时使用了最近最多使用(most-recently-used)算法,因此最活跃的数据块儿可以驻留在内存中,从而减少IO、提高性能。包括默认缓存池、保持缓存池、再生缓存池。
共享池:指SGA中存储共享内存结构的区域,如Library cache 中的 SQL区,以及数据字典中的内部信息等。
共享池非常重要,如果因为共享池分配的空间太小,可能导致性能降低。共享池由库缓存池(library cache),数据字
典缓冲池组成。
重做日志缓冲区:SGA的重做日志缓冲区保存着数据库的重做条目(redo entry)或修改日志。该缓冲区的内容总是会尽快写入重做日志。
大共享区: 提供分配大内存快的隔离内存区。
共享池:分为库缓存区和字典缓存区。
库缓存区 又包括 共享sql区 (保留sql语句执行版本)、 pl/sql区(保存编译版本所有用户共享)。
字典缓存区 用于缓存数据字典信息存储频繁使用的数据字典。
固定SGA: 我们无法设置大小、oracle自己独立的去控制。
它是SGA的一个组件,其大小因平台和版本而异。安装时,固定SGA会“编译到”Oracle二进制可执行文件本身当中(所以它的名字里有“固定”一词)。在固定SGA中,有一组指向SGA中其他组件的变量,还有一些变量中包含了各个参数的值。我们无法控制固定SGA的大小,不过固定SGA通常都很小。可以把这个区想成是
SGA中的“自启”区,Oracle在内部要使用这个区来找到SGA的其他区。
四、Oracle数据库的逻辑结构
- oracle数据库的结构简析
- Oracle数据库的物理结构
- oracle数据库的存储结构
- Oracle数据库的应用结构
- Oracle数据库的表结构
- oracle数据库的存储结构
- Oracle数据库的物理结构
- oracle数据库的整体结构
- oracle数据库的逻辑结构
- [Oracle入门]Oracle数据库的存储结构
- Oracle-Oracle数据库结构
- Sql Server数据库向Oracle数据库的迁移数据库结构
- 数据库树结构 oracle的专用方法
- Oracle 10的数据库逻辑结构
- oracle数据库的物理存储结构
- Oracle数据库的逻辑存储结构
- 一个典型的oracle数据库结构
- oracle批量修改数据库的表结构
- python常见模块命令(os/sys/platform)
- 黑马程序——OC 面向对象1
- php字符串与数组的特殊情况
- 正则表达式
- 堆和栈的全面总结
- oracle数据库的结构简析
- Sed简介
- android常用广播
- SQL存储过程实例详解
- ADB server didn't ACK
- codeforces 461C 暴力+BIT
- “逻辑思维7级”微课堂、智学堂指南(新人入门手册)
- 【合集】用Raspberry Pi(树莓派)打造各种服务器
- 人,与动物的本质区别,在哲学里说是制造和使用工具