怎么理解Oracle体系结构

59次阅读
没有评论

共计 1349 个字符,预计需要花费 4 分钟才能阅读完成。

本篇内容介绍了“怎么理解 Oracle 体系结构”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.  从一种角度讲,数据库可以分为数据库软件和数据库文件。我们通常说的数据库指的是数据库文件。通常情况下,将数据库软件安装在服务器,数据库文件存放在存储中。

2.  从另一种角度讲,数据库可以分为数据库文件和数据库实例。这里可以将数据库文件理解为静态,实例理解为动态。用户通过动态的实例,改变数据,再将改变的数据写进静态的数据库文件中。

3.  数据库文件

数据库文件的存放位置是在 $ORACLE_BASE/oradata/{db_unique_name}/ 目录下。这里有三种文件

(1)控制文件(.ctl)

(2)日志文件(.log)

(3)数据文件(.dbf)

4.  数据库实例

数据库实例分成内存和进程。就像每个软件运行时,都在服务器的内存中划出一部分空间分配给自己。Oracle 在 sqlplus 中执行 startup 时,实际上是开启了实例,相当于开启了数据库这个软件,也就是开启了内存和进程。内存和进程都会被移动到服务器的内存中。

5.  数据库的内存结构包括:SGA(系统全局区,共享的,这里共享是指 SGA 所有的空间,oracle 的进程都可以访问)和 PGA(进程全局区,非共享),这两个东西都在内存中。顾名思义,进程全局区存放的是进程。

(1)系统全局区(SGA)包括以下内容:

(1)共享池

(2)流池

(3)JAVA 池

(4)大形池

(5)数据库缓冲区
→ 数据库写进程

(6)重做日志缓冲区
→ 日志写进程

这里,共享池和数据库缓冲区容易出现问题。

(2)进程全局区(PGA)包括以下两大进程:

后台进程和前台进程。这里的后台进程是官方名称,前台进程是指服务器进程。我这里将数据库本身的进程称为后台进程,每一个数据库对外的连接看成是一个前台进程,这样更容易理解。每一个进程(前后台)都有他属于自己的空间,这些空间都在 PGA 里。我们需要关注的是前台进程对 PGA 空间的占用,因为后台进程不怎么出问题。

6. ORACLE 后台进程

Oracle 的 SGA 有六大块,PGA 有 5 大进程,还有三种数据文件。

其中五大进程为:

(1)CKPT(检查点进程)→ 控制文件

(2)SMON(系统监控进程)

(3)PMON(进程监控进程)

(4)DBWN(数据库写进程)→ 数据文件

(5)LGWR(日志写进程)→ 日志文件

7.  控制文件

控制文件内存在两大信息

(1)整个数据库的物理结构信息在控制文件中进行记录。这些物理结构包括整个数据库包括多少个数据文件、日志文件等,以及这些文件的存放位置。

(2)数据库当前的一些运行状态信息。比如哪些数据文件是在线的,哪些数据文件是离线的,Oracle 正在使用哪一个日志文件,日志文件有什么问题。

8.  日志文件

日志文件也叫重做日志文件(redo log),是指 Oracle 所有对数据的修改,都会以日志的形式存放到日志文件中。日志文件中也就记录着数据库中每一个数据块的所有变化过程。

“怎么理解 Oracle 体系结构”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计1349字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)