如何写论文?写好论文?免费论文网提供各类免费论文写作素材!
当前位置:免费论文网 > 美文好词 > 优质好文 > 电脑12g内存够用吗

电脑12g内存够用吗

来源:免费论文网 | 时间:2018-11-08 14:47 | 移动端:电脑12g内存够用吗

篇一:oracle内存优化

oracle 的内存可以按照共享和私有的角度分为系统全局区和进程全局区 SGA和PGA 对于SGA部分,我们通过sqlplus 中查询可以看到:

SQL> select * from v$sga;

NAME VALUE

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

Fixed Size 1222192

Variable Size289409488

Database Buffers545259520

Redo Buffers2969600

其中:

Fixed Size:存储了SGA 各部分组件的信息,可以看作引导建立SGA的区域。

Variable Size:包含了shared_pool_size、java_pool_size、large_pool_size 等内存设置 Database Buffers:

指数据缓冲区,在8i 中包含db_block_buffer*db_block_size、buffer_pool_keep、

buffer_pool_recycle 三部分内存。在9i 中包含db_cache_size、db_keep_cache_size、 db_recycle_cache_size、db_nk_cache_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 2923520

SGA的大小:

设置SGA时要问自己的几个问题

一:物理内存多大

二:操作系统估计需要使用多少内存

三:数据库是使用文件系统还是裸设备

四:有多少并发连接

五:应用是OLTP 类型还是OLAP 类型

1。物理内存好确定

2。操作系统一般使用256m

3。文件系统比较大,raw不用考虑

4。并发数由pga决定

5对于OLTP类型oracle 倾向于可使用MTS,对于OLAP 类型使用独立模式,同时OLAP 还可量的排序操作的查询,这些都影响到我们内存的使用。那么所有的问题综合起来,实际上主 要反映在UGA的大小上。UGA主要包含以下部分内存设置

SQL> show parameters area_size;

NAMETYPE VALUE

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

bitmap_merge_area_sizeinteger 1048576

create_bitmap_area_size integer 8388608

hash_area_size integer 1048576

sort_area_size integer 524288

workarea_size_policy stringAUTO

在1G 的内存的服务器上,我们能分配给SGA 的内存大约为400—500M。若是2G 的内存,的内存给SGA,8G 的内存可以分到5G的内存给SGA。当然我们这里是以默认的排序部分 内存sort_area_size=64k进行衡量的,假如我们需要调大该参数和hash_area_size等参数,然后我们应该根据并发的进程的数量,来衡量考虑这个问题。

注:事实上,通常我们更习惯通过直观的公式化来表达这样的问题:

OS使用内存+SGA+并发执行进程数*(sort_area_size+hash_ara_size+2M) < 0.7*总内存 在我们的实际应用中,假如采用的是裸设备,我们可适当的增大SGA(如果需要的话)。 由于目前几乎所有的操作系统都使用虚拟缓存,所以实际上如果就算SGA 设置的比较大也 不会导致错误,而是可能出现频繁的内存页的换入与换出(page in/out)。在操作系统一级如 果观察到这个现象,那么我们就需要调整内存的设置。

SGA参数说明

Log_buffer

对于日志缓冲区的大小设置,通常我觉得没有过多的建议,因为参考LGWR写的触发

条件之后,我们会发现通常超过3M意义不是很大。作为一个正式系统,可能考虑先设置这 部分为log_buffer=1—3M 大小,然后针对具体情况再调整。

Large_pool_size(大型池)

对于大缓冲池的设置,假如不使用MTS(Multi-Threaded Server),建议在20—30M 足够了保存并行查询时候的一些信息,还有就是RMAN 在备份的时候可能会使用到。如果设置了 MTS,则由于UGA部分要移入这里,则需要具体根据server process数量和相关会话内存参 数的设置来综合考虑这部分大小的设置。

Java_pool_size(JAVA池)

假如数据库没有使用JAVA,我们通常认为保留10—20M大小足够。事实上可以更少, 甚至最少只需要32k,但具体跟安装数据库的时候的组件相关(比如http server)。

shared_pool_size(共享池)

于是我们假定一个1G内存的系统,可能考虑设置该参数为100M,

2G 的系统考虑设置为150M,8G 的系统可以考虑设置为200—300M。

Da

ta buffer

现在我们来谈数据缓冲区,在确定了SGA 的大小并分配完了前面部分的内存后,其余

的,都分配给这部分内存。通常,在允许的情况下,我们都尝试使得这部分内存更大。这部 分内存的作用主要是缓存 DB BLOCK,减少甚至避免从磁盘上获取数据,在8i中通常是由 db_block_buffers*db_block_size 来决定大小的。如果我们设置了buffer_pool_keep 和 buffer_pool_recycle,则应该加上后面这两部分内存的大小。

PGA 的调整

关于内存参数的调整:

对于内存的调整,相对来说简单一些,我们首先可以针对数据缓冲区的大小来看。首先 观察命中率:

SQL> select value from v$sysstat where name ='physical reads';

VALUE

----------

7086

SQL> select value from v$sysstat where name ='physical reads direct';

VALUE

----------

15

SQL> select value from v$sysstat where name ='physical reads direct (lob)';

VALUE

----------

SQL> select value from v$sysstat where name ='consistent gets';

VALUE

----------

77894

SQL> select value from v$sysstat where name = 'db block gets';

VALUE

----------

11138

这里命中率的计算应该是

令 x = physical reads direct + physical reads direct (lob)

命中率 =100 - ( physical reads - x) / (consistent gets + db block gets - x)*100

通常如果发现命中率低于90%,则应该调整应用可可以考虑是否增大数据缓冲区

共享池的命中率:

SQL> select sum(pinhits-reloads)/sum(pins)*100 "hit radio" from v$librarycache; hit radio

----------

87.1601668

假如共享池的命中率低于95%,就要考虑调整应用(通常是没使用bind var )或者增加内存 show parameter shared_pool_size;

调整shared_pool_size 大小

关于排序部分:

SQL> select name,value from v$sysstat where name like '%sort%';

NAMEVALUE

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

sorts (memory)3110

sorts (disk) 0

篇二:oracle 大页内存官方blog

在Linux 64位系统下使用hugepage

By Feng on 二月 25, 2013

首先,为什么要介绍/使用HugePage?

在步入正题之前,先讲一个非常普遍的数据库性能问题。

众所周知,Oracle数据库使用共享内存(SGA)来管理可以共享的一些资源;比如shared pool中存储了共享的SQL语句及执行计划,buffer pool中存储了数据块。对这些资源的访问,其实就是Oracle使用OS的API来访问内存资源的过程。内存操作理应/通常意义上都是很快的,这时候Oracle数据库可以很正常的工作。

但是

a)如果SGA内的某一部分被swap到硬盘上,那么再次访问它,就需要花非常多的时间

b)如果OS本身的内存非常的大,那么管理/访问到我们需要的内存的过程就需要更长时间。

在这些情况下,我们往往会碰到诸如latch/mutex/library cache

lock[pin]/row cache lock的问题.

Linux下HugePage 可以解决由以上两种问题引发的性能波动。

我们知道,在Linux 64位系统里面,默认内存是以4K的页面(Page)来管理的,当系统有非常多的内存的时候,管理这些内存的消耗就比较大;而HugePage使用2M大小的页面来减小管理开销。HugePage管理的内存并不能被Swap,这就避免了swap引发的数据库性能问题。所以,如果您的系统经常碰到因为swap引发的性能问题的系统毫无疑问需要启用HugePage。另外,OS内存非常大的系统也需要启用HugePage。但是具体多大就一定需要使用HugePage?这并没有定论,有些文档曾经提到12G以上就推荐开启,我们强烈建议您在测试环境进行了充分的测试之后,再决定是否在生产环境应用HugePage。

当然,任何事情都是有两面性的,HugePage也有些小缺点。第一个缺点是它需要额外配置,但是这完全是可以忽略的。另外, 如果使用了HugePage,11g新特性 AMM(Automatic Memory Management)就不能使用了,但是ASMM(Automatic Shared Memory Management)仍然可以继续使用。

接下来,我们对配置HugePage需要完成的步骤进行介绍。以下步骤以RHEL5为例。

a) 设置memlock的限制,更改/etc/security/limits.conf加入下面的行

注意上面的数字是以 K 为单位的,可以让它的值稍微比系统的物理内存小就可以了

b) 检查memlock是否生效,要使用oracle的用户执行下面的操作,如果没有生效尝试重新登陆系统

c) 如果使用11g数据库,确认参数MEMORY_TARGET和MEMORY_MAX_TARGET已经设为0

d) 启动数据库,并运行Document 401749.1提供的脚本来计算应该分配多少HugePage页面。例如:

e) 更改/etc/sysctl.conf,把上一步得到的值指定给vm._hugepages参数

f) 重启数据库和OS。

g) 验证HugePage是否已启用

如下图,HugePage一共分配了1496个页面,其中有6个页面为Free,那么使用了1490个页面,每个页面为

2048K.

最后,如果您想了解更多的和HugePage相关的问题,请参考以下的note。

Note 361323.1 : HugePages on Linux: What It

Is... and What It Is Not...

Note 361468.1 : HugePages on Oracle Linux

64-bit

关于这个主题,如果有后续的问题欢迎点击链接参与我们在中文社区的讨论。

篇三:Oracle数据库12c各版本介绍及功能比较

Oracle Database 12c版本介绍

Oracle Database 12c 有三种版本,提供多种企业版选件来满足客户对各种领域(性能和可用性、安全性和合规性、数据仓储和分析、非结构化数据和可管理性)的特定需求。

Oracle Database 12c 标准版1

企业级的性能和安全性

Oracle Database 12c 标准版1经过了优化,适用于部署在小型企业、各类业务部门和分散的分支机构环境中。该版本可在单个服务器上运行,最多支持两个插槽。Oracle Database 12c 标准版1可以在包括Windows、Linux和Unix在内的所有Oracle支持的操作系统上使用。 概述

? ? ? ?

快速安装和配置,具有内置的自动化管理 适用于所有类型的数据和所有应用 公认的性能、可靠性、安全性和可扩展性

使用通用代码库,可无缝升级到Oracle Database 12c 标准版或Oracle Database 12c 企业版

优势

? ? ? ? ?

以极低的每用户180美元起步(最少5个用户)

以企业级性能、安全性、可用性和可扩展性支持所有业务应用 可运行于Windows、Linux和Unix操作系统 通过自动化的自我管理功能轻松管理

借助Oracle Application Express、Oracle SQL Developer和Oracle面向Windows的数据访问组件简化应用开发

Oracle Database 12c 标准版

经济实惠、功能全面的数据库

Oracle Database 12c 标准版是面向中型企业的一个经济实惠、功能全面的数据管理解决方案。该版本中包含一个可插拔数据库用于插入云端,还包含Oracle真正应用集群用于实现企业级可用性,并且可随您的业务增长而轻松扩展。

? ? ? ? ? ?

支持使用一个可插拔数据库实现入门级云计算和整合 跨平台恢复

内置的Oracle真正应用集群支持更高水平的系统正常运行时间 简化的安装和配置

适用于所有类型的数据和所有应用

向上兼容Oracle Database 12c 企业版,从而保护您的初期投资

优势

?

每用户350美元(最少5个用户),您可以只购买目前需要的许可,然后使用Oracle真正应用集成随需扩展,从而节省成本

? ? ? ?

提高服务质量,实现企业级性能、安全性和可用性 可运行于Windows、Linux和Unix操作系统 通过自动化的自我管理功能轻松管理

借助Oracle Application Express、Oracle SQL Developer和Oracle面向Windows的数据访问组件简化应用开发

Oracle Database 12c 企业版

插入云端

全球首屈一指的数据库推出最新版本——Oracle Database 12c现已推出,可在各种平台上使用。Oracle Database 12c 企业版包含 500 多个新特性,其中包括一种新的架构,可简化数据库整合到云的过程,客户无需更改其应用即可将多个数据库作为一个进行管理。 概述

?

Oracle Database 12c 企业版将对正在部署私有数据库云的客户和正在寻求以安全、隔离的多租户模型发挥Oracle数据库强大功能的SaaS供应商有极大帮助

?

Oracle Database 12c 企业版提供综合功能来管理要求最严苛的事务处理、大数据和数据仓库负载

?

客户可以选择各种Oracle数据库企业版选件来满足业务用户对性能、安全性、大数据、云和可用性服务级别的期望


电脑12g内存够用吗》由:免费论文网互联网用户整理提供;
链接地址:http://www.csmayi.cn/meiwen/26440.html
转载请保留,谢谢!
相关文章