【体系结构】Oracle体系结构的独特理解


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 所有对数据的修改,都会以日志的形式存放到日志文件中。日志文件中也就记录着数据库中每一个数据块的所有变化过程。

 



----------- end --------------

 

 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2640745/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31529886/viewspace-2640745/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值