oracle体系结构介绍

一个ORACLE系统大致分为两个部分:
    实例
        实例是一组内存和进程
        实例主要是为数据库提供一个运行环境和管理手段

    数据库
        数据库是数据的集合
        主要体现为三类文件:控制文件、数据文件、日志文件


    实例与数据库是一对一或多对一的关系


ORACLE实例结构:
    ORACLE实例内存结构
    ORACLE实例内存结构由两部分组成:SGA和PGA
        SGA    系统全局区
           这一部分数据是所有用户共享的

        PGA       程序全局区
           这一部分的数据是每个会话私有的


    SGA结构:
        shared pool  
        存储最近执行的sql语句、plsql代码、结果缓存

        shared pool 有两个子池:库缓存、字典缓存

        查看:
        SQL> show parameter shared_pool
        SQL> alter system set shared_pool_size = 200m;
        
        database buffer cache:
        存放从数据文件中读取到的数据块镜像
        在管理上遵循LRU原则
   
        查看:
        SQL> show parameter db_cache_size
        SQL> alter system set db_cache_size=200m;

        redo log buffer:
        日志缓冲区
   
        记录所有数据块的改变
        当达到一定量的时候写到日志文件中

        日志缓冲区一般不需要太大,太大也是浪费
       
        SQL> show parameter log_buffer

        java pool:
        数据库中有java存储过程等代码时需要
        有时数据库升级会涉及到一些java之类代码,此时可以把java_pool 调大一些

        stream pool:
        使用oracle流之类时,要设置

       
        large pool:
        分配大内存块时,需要
        共享服务进程时,为了减少共享池的压力也需要
        大规模IO操作时,如RMAN备份恢复操作时,可能会用到

    共享池,每一部分设置多大,过去是非常麻烦的问题,10g 开始,引入了 ASMM (自动共享内存管理)
    使用ASMM的方法:
        把 sga_target  设置一个SGA的目标值,但 sga_target 受制到 sga_max_size
            sga_target 必须小于、等于 sga_max_size

   
     PGA
         PGA 存放的是用户的私有数据,它一般包括: 排序区、哈稀区、位图合并区等
         但PGA早已实现在自动管理,所以很少去设置这些了。

         PGA 和 ASMM也类似,一般通过 pga_aggregate_target 分配服务器总的PGA大小
         使用PGA自动管理时,workarea_size_policy 要设置为 auto


    11G开始又有了新的变化
        它可以实现自动内存管理,设置 memory_target 可以让oracle 自动管理内存分配
   
   
    使用自动内存管理时要注意
        statistics_level   不能为basic

实例进程结构:
    ORACLE必须的后台进程:
    DBWR    数据写进程
        DBWR负责把脏缓存(修改过的)写到数据文件中,DBWR的触发时机:
            发生检查点
            脏缓存达到限制,没有自由的缓存
            表空间离线
            表空间只读
            开始热备份表空间 ( begin backup )
            表截断
                 
    LGWR    日志写进程
        负责把日志缓冲区的内容写到日志文件中,LGWR的触发时机:
            提交的时候
            日志缓冲区达到三分之一满
            日志大小达到1M
            每隔3秒
       
               
    SMON    系统监控进程
        实倒在启动的过程中,检查系统状态,必要的时间进行前滚和回滚
        释放临时表空间
   
    PMON     进程监控
        清除失败的进程、回滚其事务、释放锁等

    CKPT    检查点进程
        给信号给DBWR,更新文件头、控制文件等,适时的保持系统控制文件、数据文件的一致

       
    ARCn     归档进程
                 
       
数据库
    数据库就是数据的仓库,主要体现为:数据文件、控制文件、日志文件
    除了这三类文件以外,还有一些外部文件:参数文件、密码文件、归档日志文件

 

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

转载于:http://blog.itpub.net/21175589/viewspace-755686/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值