Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2013-10-4 00:58:55 | 查看: 3580| 回复: 2
关于设置HugePage的疑问

各位:

         有关设置HugePage,我有个疑问。

        我的服务器内存是32G,数据库版本11gR2,数据库设置了memory_target,没有设置HugePage。

         根据MOS [ID 1344678.1]得知,对于大内存服务器ORACLE建议设置HugePage,但是设置HugePage与设置memory target不兼容。

        设置memory_target也是ORACLE建议设置的。

        我的疑问是设置HugePage与memory target都是ORACLE建议的,但两者设置不兼容,对于大内存服务器,是否应该设置HugePage?

针对你的问题,可以这样理解,由于Hugepages和AMM都涉及到自动内存管理的问题,同时使用会影响冲突是正常的。

AMM更多是方便客户的内存设置,并不会有其他针对性能上的提升。
Hugepages没有SWAP操作,更大的页块,同时减轻CPU在内存页块管理上的压力。
所以在大内存的情况下,我认为Hugepages使用好,会对系统的性能有帮助的。

如果你感兴趣Hugepages,可以参考下面的文档



下面是针对Hugepages的Oracle官方文档,你可以参考一下

HugePages on Linux: What It Is... and What It Is Not... (Doc ID 361323.1)

HugePages on Oracle Linux 64-bit (Doc ID 361468.1)

HugePages and Oracle Database 11g Automatic Memory Management (AMM) on Linux (Doc ID 749851.1)

Linux IA64 example of allocating 48GB SGA using hugepages (Doc ID 397568.1)

Shell Script to Calculate Values Recommended Linux HugePages / HugeTLB Configuration (Doc ID 401749.1)

USE_LARGE_PAGES To Enable HugePages In 11.2 (Doc ID 1392497.1)



你可以根据下面的语句查询当前的SGA和PGA的信息,并结合你实际的业务,去确定你们的SGA和PGA的大小。
The following SQL statements highlight what is happening:
SQL> select * from v$sgainfo where name like 'Maximum SGA%' or name like 'Free SGA%';

NAME                                  BYTES RES
-------------------------------- ---------- ---
Maximum SGA Size                 1068937216 No
Free SGA Memory Available         432013312

SQL> select component,current_size from v$memory_dynamic_components where component like '%Target%';

COMPONENT                           CURRENT_SIZE
----------------------------------- ------------
SGA Target                             641728512
PGA Target                             432013312

更多信息,可以参考下面的文档
Automatic PGA Memory Management (Doc ID 223730.1)
Use Automatic Shared Memory Management (Doc ID 270065.1)
SGA and PGA Management in 11g's Automatic Memory Management (AMM) (Doc ID 1392549.1)


但是实际禁用memory_max_target和memory_target参数需要注意:                                       

官方文档说的是“unset” ,直接alter system set memory_target=0 scope=spfile;是更改不成功的。直接设置为‘0’,就抱如下的错误

ORA-00843: Parameter not taking MEMORY_MAX_TARGET into account
ORA-00849: SGA_TARGET 35433480192 cannot be set to more than MEMORY_MAX_TARGET 0.
ORA-01078: failure in processing system parameters

通过创建pfile.ora文件,然后在文件里删除两个参数"MEMORY_TARGET/MEMORY_MAX_TARGET"。然后再创建spfile就可以了。

下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
2#
发表于 2013-10-4 11:44:44
很实用~~

回复 只看该作者 道具 举报

3#
发表于 2013-10-4 15:45:40
reset MEMORY_MAX_TARGET
MEMORY_TARGET=0  
这样就可以了,要是除掉这两个值,那还的创建pfile

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-6-15 12:04 , Processed in 0.046395 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569