对于Oracle数据库入门级基础的一些理解

Oracle是由实例和数据库组成,其中数据库包括:数据文件、控制文件、日志文件,实例包括:内存池、后台进程。

Oracle里面可以有多个数据库,每个数据库是相互独立的,每个数据库里面包含各自的密码文件、参数文件、数据文件、控制文件和日志文件(物理文件)。数据库里面的文件不能被直接读取,必须通过实例,进行访问数据库,一个实例可以连接多个数据库,一个数据库只能被一个实例链接。

 

Oracle运行时体系可以理解为:内存结构+进程结构+存储结构。

内存结构:

实例启动时会被分配SGA内存池,实例关闭时自动被释放。SGA 内存池里面数据库缓冲区是执行sql语句的区域,执行的sql语句不会直接对数据库文件进行操作,是先将数据库文件复制到数据库缓冲区,然后再更改在数据缓冲区内的数据库文件副本,修改完缓冲区的数据库磁盘文件副本后,如果缓冲区副本数据块与数据库磁盘上的文件不同时,被称为“脏缓冲区”,然后脏缓冲区的数据块副本就会必须写回到磁盘的数据文件里。

进程结构:

进程结构主要有后台进程和用户连接进程两大类

用户连接进程是在用户连接oracle时启动。 服务器进程是用户建立会话时,用于连接oracle实例。 后台进程是当oracle实例启动时启动。

只有当用户与实例进行连接后,才能对数据库进行操作。当一个UserUser Process建立了一个connect后,Oracle Server会创建一个Server Process。然后再由User ProcessServer Process建立了连接之后,Server Process会通过用户提交的请求信息来确定与oracle instance建立一个会话。 (一个用户可以建立多个会话,同一个用户可以多次的连接到同一个实例。)

每连接到一个数据库时都会为此数据库创建一个单独的内存区域,结束时收回。

后台进程主要是完成数据库管理任务,后台进程是实例与数据库文件联系的纽带。

数据库写进程最多20个,与CPU个数无关。

存储结构:

可以分为逻辑结构和物理结构。 物理结构即磁盘上的物理文件,主要由数据文件(包含所有数据库数据,而且该文件只属于一个数据库,可以直接读进内存,执行sql语句会被复制到缓冲区)、控制文件、重做日志文件、归档日志文件、参数文件、口令文件组成。  逻辑结构典型的就是oracle里的表空间,

表空间:用于存储数据库对象的逻辑空间,表空间是在数据库中开辟的一个空间,用于存放数据库的对象,它是信息存储的最大逻辑单位,是存放数据库文件的地方,其中数据又被存放在表空间中的数据文件中。一个数据库可以由多个表空间组成,Oracle的调优就是通过表空间来实现的。(Oracle数据库独特的高级应用)

表空间的作用:分类管理、批量处理; 将琐碎的磁盘文件整合、抽象处理成为逻辑结构。这样更加便于我们去管理数据库。

 

逻辑空间到物理空间的映射:段、区、块。

段存在于表空间,段又是区的集合,区是数据块的集合。数据块会被映射到磁盘块

 

你可能感兴趣的:(对于Oracle数据库入门级基础的一些理解)