oracle 11g ocp 笔记(1)-- oracle 11g体系结构概述

参考文档:  https://blog.csdn.net/gyming/article/details/41593811

 

1、oracle系列产品

1.1 服务器分为数据库服务器、应用服务器和企业管理器。其中企业管理器包括database control application server control 和grid control。

1.2 oracle开发工具包括

       内部语言  --sql和plsql

       外部语言  java  c等

       oracle developer suite等

1.3 oracle应用程序

      两个

 

 

2、预备知识

oracle概念;

表、行、列 等; 基本查询;磁盘,内存等概念,所需大小。

 

3、

3.1单实例体系结构

实例位于RAM和CPU中,暂时的,数据库存在于磁盘上,可以删除前一直存在。

实例由内存和后台进程组成,一个SGA(共享),一个服务器进程对应一个PGA,都可以实现自动管理。

总结:用户 进程、服务器进程、客户端、实例和数据集的关系。

3.2分布式数据集体系结构

分布式环境
         ·实时应用程序集群(RAC) ---- 多个实例打开一个数据库
         ·流                    ---- 多个Oracle服务器相互之间传播事务
         ·数据保护              ---- 主数据库更新备用数据库

确定是否是单实例

    select parallel from v$instance;          -- NO 单实例
    select protection_level from v$database;  -- 备用数据库保护, UNPROTECTED未保护

    select *  from dba_streams_administrator;--尚未配置,不返回任何行。

 

 

4.内存结构
    SGA--系统全局区域(共享内存).
      ·数据库高速缓存区(buffer cache)--可设置,可自动管理,是动态参数。
      ·日志缓冲区   ---大小不变,不能自动管理,是静态参数。
      ·共享池(Shared pool)
            ·库缓存             --最近执行的代码
            ·数据字典缓存    --存储最近使用的对象定义。
            ·PL/SQL区域     --PL/SQL对象
            ·SQL查询和SQL函数结果缓存 (11g版本新功能)
      ·大池(large pool)    --可选
      ·Java池(java pool) --可选
      ·流池(streams pool) --可选
      ·列式内存区(inmemory)    -- 12c的新特性,提高OLAP性能,默认不会启用  --可选

             ------------------其他视图等参照如下网站:https://www.cnblogs.com/lanzi/archive/2011/08/08/2131412.html

       

    PGA--程序全局区域(专用内存).
      ·临时表
      ·排序行
      ·归并位图
      ·变量
      ·调用堆栈

PGA信息查询v$pgastat

 

 

5、进程结构:

注意典型的实例和数据库的交互情况。

在Linux和Unix上,所有的进程都是独立的操作系统进程,都有各自的进程编号.
    在Windows上,整个实例只有一个操作系统进程(oracle.exe),Oracle进程作为此线程中的独立线程运行.
    ·SMON 系统监视器(System Monitor, SMON)
    ·PMON 进程监视器(Process Monitor, PMON)
    ·DBWn 数据库写入器(Database Writer, DBWn)
    ·LGWR 日志写入器(Log Writer, LGWR)
    ·CKPT 检查点进程(Checkpoint Process, CKPT)
    ·MMON 管理监视器(Manageability Monitor, MMON)  -----AWR的时候要使用

  ·MMNL管理监视器(Manageability Monitor, MMON)  -----AWR的时候要使用,MMON的复制进程
    ·MMAN 内存管理器(Memory Manager, MMAN)--自动内存管理时候使用。
    ·ARCn 归档进程(Archiver, ARCn)
    ·RECO--分布式事务的时候使用

 1)系统监视器(System Monitor, SMON)
    主要任务是通过查找和验证控制文件来安装数据库,通过查找和验证所有数据文件和联机日志文件打开数据库,打开数据库后负责执行各种内部管理任务,如比较数据文件中的可用空间.
2)进程监视器(Process Monitor, PMON)
    PMON在会话创建时启动,再会话结束时销毁. PMON监视所有服务器进程,会话异常退出时,回滚事务,释放资源.
3)数据库写入器(Database Writer, DBWn)
    会话通常不将数据或更改写入磁盘,会话将数据或更改写入高速缓存区.
    DBWn在以下四种情况写入磁盘文件.
    ·没有可用的缓冲区
    ·脏缓冲区数据过多
    ·三秒超时
    ·遇到检查点
    在提交事务时,DBWn不做任何动作.
4)日志写入器(Log Writer, LGWR)
    当会话对数据高速缓冲区中的块执行任何更改时,在其将更改应用到块之前,会将更改矢量写到日志缓冲区. 为保证不丢失任何工作,必须在最大程度减少延迟的情况下将这些更改矢量写入磁盘. LGWR将日志缓冲区的内容实时写入联机重做日志文件.当会话发出COMMIT时,LGWR会实时写入,在LGWR将缓冲区写入磁盘时,会话将挂起,只有此时才将事务记录为已经提交(因此是不可逆的).
    LGWR是Oracle体系结构中最大的瓶颈之一.DML的速度不可能超过LGWR将更改矢量写入磁盘的速度.
    在以下三种情况下LGWR将转储日志缓冲区写入到联机重做日志文件中:
    ·会话发出COMMIT.
    ·日志缓冲区占有率达1/3.
    ·DBWn要将脏缓冲区数据写入文件时.
5)检查点进程(Checkpoint Process, CKPT)
    CKPT发起检查点,触发DBWn将脏缓冲区数据写入磁盘.
    8i前,每过一定的时间间隔,就需要设置检查点.8i及之后,DBWn用增量检查点代替完全检查点.
    何时出现检查点:只会应请求这么做,或在有序关闭数据库时出现.
    alter system checkpoint;   -- 强制设置检查点
6)归档进程ARCn
    在归档日志模式下,LGWR将日志缓冲区写到联机重做日志文件中,联机重做日志文件一旦变满,ARCn会制作联机重做日志文件的副本(归档重做日志文件),在ARCn将联机日志文件成功归档到归档日志文件前,不允许覆盖相应的联机重做日志文件.


7)进程对数据库事务的处理过程
    ·会话将数据或更改写入数据高速缓冲区,并在应用到更改的块之前,将更改矢量写入日志缓冲区. 
    ·LGWR将日志缓冲区的数据实时写入磁盘联机日志文件(在日志缓冲区占满1/3,或者会话发出提交事务,或者DBWn要写脏缓冲区时).
    ·DBWn按一定的时机写入磁盘数据文件(缓冲区满,脏缓冲数据过多,三秒超时,检查点请求).
    ·联机重做日志文件写满时,ARCn将联机重做日志文件归档到归档日志文件中.

 

 

 

6、数据库的存储结构。
    1)物理数据库结构
    ·控制文件(Control File)
    ·联机重做日志文件(Redo Log File)
    ·数据文件(Data File)
    ·实例参数文件(Instance Parameter File)
    ·口令文件(Password File)
    ·归档重做日志文件(Archive Redo Log File)
    ·警报日志和跟踪文件(Alert Log and Trance Files)


    2)逻辑数据库结构
    ·表空间(Tablespace)
    ·段(Segment)
    ·区间(Extent)
    ·块(Block)

3)数据字典

    元数据存储在SYSTEM和SYSAUX表空间中.
    数据字典视图:
    ·DBA_   所有对象
    ·ALL_   所有有权访问的对象
    ·USER_  当前用户的对象

如:
         DBA_TABLES  所有表
         ALL_TABLES  所有有权限访问的表
         USER_TABLES 当前用户的表

 

posted @ 2018-04-27 16:59  sunshine_boy_h  阅读(270)  评论(0编辑  收藏  举报