Oracle 的体系很庞大,要学习它,首先要了解 oracle 的框架。在这里,北街简要的写一下 oracle 的架构,好让初学者对 oracle 有一个整体的认识。
一、oracle 的物理结构
oracle的物理结构由控制文件、数据文件、重做日志文件、参数文件、归档文件、密码文件组成。
控制文件:包含维护和验证数据库完整性的必要信息,例如,控制文件用于识别数据文件和重做日志文件,一个数据库至少需要一个控制文件。
数据文件:存储数据的文件;
重做日志文件:含对数据库所做的更改记录,这样万一出现故障可以启用数据恢复。一个数据库至少需要两个重做日志文件。
参数文件:定义Oracle例程的特性,例如,它包含调整SGA中一些内存结构大小的参数。
归档文件:是重做日志文件的脱机副本,这些副本可能对于从介质失败中进行恢复很必要。
密码文件:认证哪些用户有权限启动和关闭Oracle例程。
二、oracle 的逻辑结构
oracle 的逻辑结构由表空间、段、区、块组成。
表空间:是数据库中的基本逻辑结构,一系列数据文件的集合。
段:是对象在数据库中占用的空间
区:是为数据一次性预留的一个较大的存储空间
块:ORACLE 最基本的存储单位,在建立数据库的时候指定
三、oracle 的内存分配
oracle 的内存分为 SGA 和 PGA。
SGA:是用于存储数据库信息的内存区,该信息为数据库进程所共享。它包含 Oracle 服务器的数据和控制信息,它是在 Oracle 服务器所驻留的计算机的实际内存中得以分配,如果实际内存不够再往虚拟内存中写。
PGA:包含单个服务器进程或单个后台进程的数据和控制信息,与几个进程共享的 SGA 正相反 PGA 是只被一个进程使用的区域,PGA 在创建进程时分配在终止进程时回收
四、oracle 的后台进程
oracle的后台进程包括:数据写进程、日志写进程、系统监控、进程监控、检查点进程、归档进程、服务进程、用户进程
数据写进程:负责将更改的数据从数据库缓冲区高速缓存写入数据文件
日志写进程:将重做日志缓冲区中的更改写入在线重做
日志文件系统监控:检查数据库的一致性如有必要还会在数据库打开时启动数据库的恢复
进程监控:负责在一个 Oracle 进程失败时清理资源
检查点进程:负责在每当缓冲区高速缓存中的更改永久地记录在数据库中时,更新控制文件和数据文件中的数据库状态信息。
归档进程:在每次日志切换时把已满的日志组进行备份或归档
服务进程:用户进程服务。
用户进程:在客户端,负责将用户的SQL语句传递给服务进程,并从服务器段拿回查询数据。
五、oracle例程
Oracle 例程由 SGA 内存结构和用于管理数据库的后台进程组成。例程一次只能打开和使用一个数据库。
六、SCN(System Change Number)
SCN(System Change Number)也叫系统改变号,一个由系统内部维护的序列号。当系统需要更新的时候自动增加,他是系统中维持数据的一致性和顺序恢复的重要标志。



笨笨几天没来了,最近一直在加班+上班还是上班,问候你了。
了解之前,弱弱的问一句oracle是个什么神奇的东东 扫盲一下!
以前上学的时候学过这个数据库,不过没什么兴趣,上课的时候就翘课潇洒去了!
学过,但是没怎么用过!
你说会出现 mesql 么?
你的RSS好像有问题我看到的是二手台式机
同上看到的是二手电脑
@软件盒子 和@sosohehe 我的RSS没问题,我手动把“二手台式机”那篇延后了……
相识在于缘,相知在于诚,有老朋友的时候,能结识一些您这样新好朋友感到荣幸。
只学过sql 没碰过Oracle~
回家之前来拜访一下博主,端午节快乐啊。
@ikeeptrying oracle比sql强多了~不过懂sql对oracle也很有帮助!
这个看不懂了,那就点点AD好了,呵呵,,,,
没学过,看不懂。。
二手电脑是什么情况。
@Maxsailor 那是一篇临时文章,被自动发布了~
@帅哥 想学不?
@TTkea 你是个好人~