(2)Oracle体系结构--Oracle DBA培训教程

1: Oracle引入复杂体系结构的原因是因为要有效的管理数据,同时需要有效使用计算机系统受限制的系统资源(主要是硬盘)。内存的访问是电子速度,而硬盘的访问速度是机械速度。计算机体系结构中的很多系统都受限于外设的速度。

 

2: Oracle实例是一种访问数据库的机制,有内存和一些后台进程组成,内存结构称为系统全局区SGA,后台进程有5个是必须的,分别是SMON,PMON,DBWR,LGWR和 CKPT。每个实例只能对应一个数据库,而一个数据库在RAC环境下可以对应多个实例。SGA包括shared pool(library pool,directory cache),database buffer cache,redo log buffer。

 

3: Oracle数据库是数据的集合,Oracle把这些数据当作完整的单位来处理,是真正的物理存储。有3类操作系统文件组成:

      控制文件control files,维护和校验数据库一致性

      重做日志文件redo log files,系统崩溃后进行恢复所需记录的变化信息

      数据文件data files,数据库中的真正数据

 

4: Oracle其他关键文件

      初始化参数文件parameter files,定义实例的特性,如系统全局区SGA分配,DBWR的个数

      密码文件password files,Oracle在没有启动前需要密码文件验证Oralce管理员或操作员启动或停止Oracle实例。

      归档日志文件archived log files,是日志文件的脱机备份。

 

5: 连接Oracle实例,用户启动一个sqlplus(用户进程),在专用连接情况下并且输入的用户名和密码正确,如果登录成功,Oracle会在运行的服务器上创建一个服务器进程。用户进程和服务器进程打交道,服务器进程和Oracle实例打交道。用户进程和Oracle的连接称为会话Session。

 

6: 连接Oracle服务器的3种方式

      (1): 主机方式,用户进程和服务器进程在同一台服务器上,之间的通信通过操作系统的IPC机制进行

      (2): 客户端-服务端CS方式,连接通过网络协议TCP/IP完成。

      (3): 客户端-应用服务器-服务器

 

7: 服务器进程

       Oracle建立服务器进程的同时分配一块私有的内存区PGA,在专用服务器进程的配置情况下,包括一下4个结构:

    (1)排序区sort area,处理SQL语句的排序

    (2)游标状态区cursor state,指示会话当前所使用的SQL语句的处理状态

    (3)会话信息区session information,会话的用户权限和优化统计信息

    (4)堆栈区stack space,其他的会话变量

     如果是共享服务器进程的配置,上述结构除了堆栈区外大部分存在于SGA中,存在于large pool或shared pool中。

 

8: SQL查询语句的执行步骤

    (1)编译,

            在进行编译时,首先将SQL语句的正文放入共享池sharerd pool的library pool。

            首先杂library pool中搜索是否有相同正文的SQL语句,如果没有就进行后续操作。

            检查SQL语句语法是否正确。

            通过查看数据数据字典来检查表和列的定义。

            对所操作的对象加编译锁,以便在编译期间这些对象的定义不发生变化。

            检查所引用对象的用户权限。

            生成执行该SQL语句所需要的优化的执行计划。

            将SQL语句和执行计划装入共享的SQL区。

        上面每一步骤的操作如果正确就继续执行,否则返回错误。

    (2)执行,

            已经获得了执行SQL语句的全部资源和信息,开始执行。

    (3)提取数据,

            选择所需的数据行,必要时排序,返回客户进程。

你可能感兴趣的:(数据结构,oracle,sql,应用服务器,配置管理)