网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.必须引起DBA重视的Oracle数据库碎.
.梦网网关接口.
.Oracle数据库的Hang.
.一个DBA_Monitor.sql程序.
.Oracle中password file的作用及说.
.Oracle PL/SQL游标的学习.
.使用DBMS_SUPPORT包(zt).
.入侵Oracle数据库时常用的操作命.
.Oracle中几个关于日期方面的SQL实.
.Solaris 9下安装Oracle 9操作指南.
.Oracle中使用SQL MODEL定义行间计.
.Oracle 数据库设计阶段性能优化策.
.一张软盘上的Linux或小Linux的文.
.关于Oracle降序索引的定意及回溯.
.Linux Shadow-Password-HOWTO.
.[Tip]你的Oracle是32位的还是64位.
.有关Oracle数据库的备份情况.
.甲骨文扩大合作伙伴网 推新Oracl.
.ORACLE ERP导数据(BOM清单).
.甲骨文表示保护数据库安全关键在.

内存管理简介

发表日期:2008-2-9


    对于Oracle的内存的治理,截止到9iR2,都是相当重要的环节,治理不善,将可能给数据库带来严重的性能问题。下面我们将一步一步就内存治理的各个方面进行探讨。     l       概述     oracle的内存可以按照共享和私有的角度分为系统全局区和进程全局区,也就是SGA和PGA(process global area or private global area)。对于SGA区域内的内存来说,是共享的全局的,在UNIX上,必须为oracle设置共享内存段(可以是一个或者多个),因为oracle在UNIX上是多进程;而在WINDOWS上oracle是单进程(多个线程),所以不用设置共享内存段。PGA是属于进程(线程)私有的区域。在oracle使用共享服务器模式下(MTS),PGA中的一部分,也就是UGA会被放入共享内存large_pool_size中。     对于SGA部分,我们通过sqlplus中查询可以看到:     SQL> select * from v$sga;     NAME                      VALUE --------------------              ---------- Fixed Size                   454032 Variable Size                 109051904 Database Buffers              385875968 Redo Buffers                  667648 Fixed Size     oracle 的不同平台和不同版本下可能不一样,但对于确定环境是一个固定的值,里面存储了SGA各部分组件的信息,可以看作引导建立SGA的区域。     Variable Size     包含了shared_pool_size、Java_pool_size、large_pool_size等内存设置和用于治理数据缓冲区等内存结构的hash table、块头信息(比如x$bh消耗内存)等     Database Buffers     指数据缓冲区,在8i中包含default pool、buffer_pool_keep、buffer_pool_recycle三部分内存。在9i中包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、db_nk_cache_size。这里要注重在8i中三部分内存总和为db_block_buffers*db_block_size。     Redo Buffers     指日志缓冲区,log_buffer。在这里要额外说明一点的是,对于v$parameter、v$sgastat、v$sga查询值可能不一样。v$parameter里面的值,是指用户在初始化参数文件里面设置的值,v$sgastat是oracle实际分配的日志缓冲区大小(因为缓冲区的分配值实际上是离散的,也不是以block为最小单位进行分配的),v$sga里面查询的值,是在oracle分配了日志缓冲区后,为了保护日志缓冲区,设置了一些保护页,通常我们会发现保护页大小大约是11k(不同环境可能不一样)。参考如下内容     SQL>  select substr(name,1,10) name,substr(value,1,10) value     2  from v$parameter where name = 'log_buffer'; NAME                 VALUE
--------------------     -------------------- log_buffer               524288 SQL> select * from v$sgastat ; POOL  NAME             BYTES ----------- ------------------- fixed_sga                   454032 buffer_cache                385875968 log_buffer                  656384 SQL> select * from v$sga; NAME                     VALUE --------------------              ---------- Fixed Size                  454032 Variable Size                109051904 Database Buffers             385875968 Redo Buffers                667648     关于各部分内存的作用,参考oracle体系结构,在此不再叙述。
上一篇:Lock_sga = true 的问题 人气:788
下一篇:SGA的大小 人气:787
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐