当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

Oracle实例和Oracle数据库详解-入门底子[Oracle防范]

赞助商链接



  本文“Oracle实例和Oracle数据库详解-入门底子[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

  1、ORACLE实例

  1、ORACLE 实例——包含内存构造与后台进程

  System Global Area(SGA) 和 Background Process 称为数据库的实例.

  2、ORACLE 数据库——物理操作系统文件的调集

  一系列物理文件的调集(数据文件,掌握文件,联机日记,参数文件等)

  3、系统全局同享区System Global Area(SGA)

  System Global Area 是一块宏大的同享内存区域,他被看做是Oracle 数据库的一个大缓冲池,这里的数据可以被ORACLE的各个进程共用.其大小可以通过以下语句查看:

  SQL> select * from v$sga;

  NAME VALUE

  -------------------- ---------

  Fixed Size 39816

  Variable Size 259812784

  Database Buffers 1.049E+09

  Redo Buffers 327680

  更具体的信息可以参考V$sgastat、V$buffer_pool

  主要包含以下几个部份:

  a、 同享池(Shared pool)

  同享池是SGA中最关键的内存片段,分外是在性能和可伸缩性上.一个太小的同享池会扼杀性能,使系统终止,太大的同享池也会有一样的效果,将会损耗大量的CPU来管理这个同享池.不精确的利用同享池只会带来灾难.同享池主要又可以分为以下两个部份:

  SQL语句缓冲(Library Cache)

  当一个用户提交一个SQL语句,Oracle会将这句SQL举行解析(parse),这个历程近似于编译,会耗费相对较多的时间.在解析完这个SQL,Oracle会把他的解析后果给保存在Shared pool的Library Cache中,当数据库第二次履行该SQL时,Oracle自动跳过这个解析历程,从而削减了系统运行的时间.这也是为什么第一次运行的SQL 比第二次运行的SQL要慢一点的缘由.

  下面举例阐明parse的时间

  SQL> select count(*) fromscpass ;

  COUNT(*)

  ----------

  243

  Elapsed: 00:00:00.08

  这是在Share_pool 和Data buffer 都没有数据缓冲区的情形下所用的时间

  SQL> alter system flush SHARED_POOL;

  System altered.

  清空Share_pool,保存Data buffer

  SQL> select count(*) from scpass ;

  COUNT(*)

  ----------

  243

  Elapsed: 00:00:00.02

  SQL> select count(*) from scpass ;

  COUNT(*)

  ----------

  243

  Elapsed: 00:00:00.00

  从两句SQL 的时间差上可以看出该SQL 的Parse 时间约为00:00:00.02

  关于保存在同享池中的SQL语句,可以从V$Sqltext、v$Sqlarea中查询到,关于编程者来说,要尽大概提高语句的重用率,削减语句的解析时间.一个计划的差的利用程序可以毁掉整个数据库的Share pool,提高SQL语句的重用率必须先养成杰出的变成习惯,尽大概利用Bind变量.

  数据字典缓冲区(Data Dictionary Cache)

  显而易见,数据字典缓冲区是ORACLE特地为数据字典预备的一块缓冲池,供ORACLE内部利用,没有什么可以说的.


  以上是“Oracle实例和Oracle数据库详解-入门底子[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • SQL Server中利用Linkserver衔接Oracle的办法
  • Oracle数据库网络与安全FAQ精辟堆积
  • Ubuntu 9.10下安装Oracle10g
  • Ubuntu 10.04 下安装Oracle 11g
  • oracle盲注报错语句和oracle提权语句汇总
  • oracle中to_char、to_number、to_date的用法
  • Python模拟Oracle的SQL/PLUS工具的实现办法
  • Oracle数据库访谈之最年青的OCM访谈
  • oracle表数据误删复原
  • Oracle数据库笔记--表空间
  • Oracle数据库树形查询的代码示例
  • oracle中记录和调集
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .