Oracle数据库体系结构概述

一、框架

Oracle数据库体系结构概述_第1张图片

二、详述

(1) Oracle数据体系结构

由实例和存储结构组成


(2) 实例

1实例是用户与物理数据库之间的中间软件。
2同一时间一个用户只能与一个实例联系
3用户操作数据库的过程就是通过与实例建立联系,通过实例操作数据库的过程


(3) SGA

系统全局区,多用户共享


(4) 重做日志缓冲区

存放修改日志记录,通过LGWR写入日志文件中。


(5) 数据高速缓存区

1.将修改后的数据提交到数据库缓存区内,BDWR进程将其写进数据库中。
2.读取数据库中的数据,放到缓冲区中供用户读取。


(6) 共享池

用于缓存执行过的sql,PL/sql语句和数据字典信息。对sql,plsql进行语法分析,编译,执行操作


(7) Java池

存储分析执行Java程序的缓存


(8) 大型池

为多线程服务器,数据库备份恢复,排序等需要大量缓存的内存区域。


(9) 流池

用于对流的支持


(10) SGA的管理

通过设置初始参数target对各个缓存区进行自动管理


(11) PGA

系统全局区,当前用户使用
1.排序区
2.游标区
3.会话区
4.堆栈区


(12) 后台进程

SMON:系统监控进程,对系统监控
PMON:进程监控进程,对失败的用户进程,服务器进程恢复,对进程仅行监控和维护
CKPT:检查点进程,记录数据库的结构和状态,保证数据同步
ARCH:归档进程
DBWR:数据库写入进程
LGWR:日志写入进程
RECO:恢复进程,在分布式数据库环境中自动解决分布式事务的故障。一个节点的RECO自动解决所有的悬而未决的事务。
LCKn:锁进程。LCKn进程用于Oracle并行服务器环境中。在数据库中最多可以启动10个LCKn进程,主要用于实例间的封锁。
Dnnn:调度进程,调度进程接受用户进程请求,将它们放入请求队列中,然后为请求队列中的用户进程分配一个服务器进程。最后,从响应队列返回数据给用户进程。


(13) 数据文件

1.概述:
保存存储在数据库所有数据
2.内容:
–每个数据文件有两个文件号
相对文件号:用于表空间内唯一标识
绝对文件号:用于数据库范围的唯一标识。
–数据库中有多个数据文件。


(14) 控制文件

概述
存储数据库结构状态等信息
内容
–描述了数据库的物理结构
–是一个很小的二进制文件
–一个数据库至少有一个控制文件


(15) 重做日志文件

概述
记录修改数据库的操作的信息
内容
一个数据库至少有两个重做日志文件,用于日志切换。


(16) 口令文件

用于保存具有SYSDBA,SYSOPER权限的用户名和SYS用户口令


(17) 归档日志文件

记录写满的重做日志文件


(18) 参数文件

概述存储数据库初始化的参数值
内容
参数文件记录了Oracle数据库的基本参数信息,主要包括数据库名、控制文件所在路径、进程等。参数文件分为文本参数文件和服务器参数文件两种。


(19) 逻辑结构


(20) 表空间

1.最大的逻辑存储单元。
2.用户在数据库建立的所有内容都存放在表空间中。
3.一个数据库有一个或多个表空间组成。
4.一个表空间有一个或多个数据文件。数据文件大小决定了表空间的大小,一个数据文件只能属于一个表空间
5.一个数据库对象只能存放在一个表空间,但可以存放在多个数据文件中。
6.永久性表空间:保持基本表,视图,索引等。
临时表空间:用于保存系统中短期活动的数据。
撤销表空间:用于帮助回退未提交的食物数据
管理数据库
1.控制整个数据库占用空间的大小
2.控制数据库在磁盘上的分配
3.控制用户所占用的存储空间的大小


(21) 段

1.有一个或多个连续或不联系的区组成的逻辑存储单元。
2.一个对象只拥有一个段。一个段至少包含一个区。
3.段不再是存储空间的分配单位,而是一个独立的逻辑存储结构。段存于表空间中并且由盘区组成。
4.数据段:表或簇
临时段:当需要排序而占用很大的内存时,临时表空间会指派临时段排序,会话结束后,临时段数据清空
回滚段:存放回滚的数据
索引段:存放索引信息。


(22) 盘区

1.系列的数据块构成的,是存储空间分配与回收的最小单位
2.当创建一个数据库对象时,数据库会给对象分配若干区组成一个段,当分配的区用完,则分配一个新区。


(23) 数据块

1.大小在数据库创建时设置,不可更改
2.一个数据块还有多个系统块


(24) 有关sql语句

通过参数target查看SGA的大小:
SQL> SELECT ((SELECT SUM(value) FROM V SGA)(SELECTCURRENTSIZEFROMV SGA_DYNAMIC_FREE_MEMORY))/1024/1024||’MB’
AS “SGA_TARGET”
FROM DUAL;
设置SGA的大小:
ALTER SYSTEM set SGA_TARGET
管理表空间的

包含数据库中所有表空间的描述信息
SELECT * FROM DBA_TABLESPACE

包含当前用户表空间的描述信息
SELECT * FROM USER_TABLESPACE

包含从控制文件中获取的表空间名称和编号信息
SELECT * FROM V$TABLESPACE;

包含数据文件以及所属的表空间的描述信息
SELECT * FROM DBA_DATA_FILES

查看每个表空间的大小
SELECT tablespace_name,SUM(bytes) / 1024 / 1024
FROM dba_segments GROUP BY tablespace_name

你可能感兴趣的:(Oracle/数据库)