Oracle读书笔记1:服务器与实例体系结构

Oracle读书笔记1:服务器与实例体系结构

一.数据库服务器

    可以通过Oracle实例访问数据库
    实例是一组进程和内存结构,暂时性的存在于CPU上和服务器节点的内存中
    用户针对实例建立会话,由实例管理对数据库的所有访问,用户不可能直接联系数据库
    Oracle服务器的模型是C/S模型,用户进程和服务器进程之间使用Oracle Net协议通信
    用户进程和服务器进程并称为会话组件
    客户端层生成SQL命令,服务器层执行SQL命令,两个层由局域网划分
    客户端层由两个组件组成:用户和用户进程
    服务器层由三个组件组成:执行SQL的服务器进程、实例和数据库本身
    用户<->用户进程<->服务器进程<->实例<->数据库
    连接:用户进程和实例(服务器进程)之间的通信
    会话:用户通过用户进程与实例之间建立的特定连接


二.单实例体系结构
单实例环境中,一个实例打开一个数据库
实例由内存结构和进程组成,暂时存在于RAM和CPU中,实例关闭时即消失,生命周期就是其在内存中存在的时间
数据库由磁盘上的物理文件组成,不管在运行还是停止状态,文件都会一直存在
构成实例的进程称为后台进程(background process),实例处于活动状态时,它们始终存在并运行
在操作系统的共享内存段实现的内存结构称为系统全局区(system global area,SGA),SGA在实例启动时分配,关闭时释放
用户会话由用户计算机本地运行的用户进程组成
服务器进程有时称为前台进程

与每个服务器进程相关的是一个非共享内存区,即程序全局区(program global area,PGA),与系统全局区(可用于所有前后台进程)不同,此区是会话专用的
后台进程也拥有PGA
SGA由所有前后台进程共享,PGA仅供分配到的会话的前台进程访问,SGA和PGA内存都可以实现自动管理

构成Oracle数据库的物理结构是数据文件、重做日志和控制文件
数据存储在数据文件中
物理结构与逻辑结构之间的关联在数据字典中维护和记录,数据字典包含用来描述整个数据库的元数据
通过查询数据字典中的某些视图,DBA可以准确地确定每个表的每个部分的位置
数据字典是存储在数据库中的一组表

RDBMS标准的要求是:数据库不得丢失数据,这意味着数据必须备份。引用eygle的一句话,备份重于一切
备份之间对数据所做的任何变更必须以一定的方式进行捕获,以便可以将它们应用于已还原的备份中,Oracle通过重做日志实现了对变更的捕获。
重做日志是对应用于数据的所有变更向量(change vector)的一系列的记录,变更向量是DML语句所做的更改

控制文件存储数据库物理结构的详细信息,并且是链接到逻辑结构的起点,当某个实例打开数据库时,

它首先要读取控制文件,通过使用控制文件中的信息,实例可以连接到数据库的其余部分及其中的数据字典

三.分布式系统体系结构
    分布式环境中,有多种组合实例与数据库的方式
        实时应用群集(Real Application Clusters,RAC),多个实例打开一个数据库
        流,用于多个Oracle服务器相互之间传播事务
        数据保护,主数据库更新备用数据库,而备用数据库用于支撑主数据库完全损坏时的情况

    确定数据库是单实例还是分布式系统的一部分
        作为用户SYSTEM连接到数据库,执行查询SELECT PARALLEL FROM V$INSTANCE;

        如果是单实例数据库,那么将返回NO


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页