如何限制oracle 内存占用过高占用的内存

&&&&减少Oracle内存占用
&减少Oracle内存占用
windowsxp下Oracle10g占用内存比较严重,通过合理设置sga降低需求,一般学习工作是够用了的。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
数据库下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
减少Oracle内存占用
所需积分:1
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
减少Oracle内存占用
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员oracle(62)
Oracle启动之后占用了大量内存。所以解决这个问题就是关闭oracle的一些开机启动服务就可以。等你用oracle的时候在手动开启就可以了。下面我们就一起来具体看一下如何去关闭和开启oracle服务程序
一:右击我的电脑—》服务,找到如下的几个服务程序
把上面几个服务程序通通关闭。然后设置启动方式为手动启动。如果你想用oracle的时候在启动这几个服务就可以了。
二:利用脚本的形式关闭和打开服务
建立“打开或关闭oracle服务.txt”,添加如下代码:
title Oracle服务管理
echo. =-=-=-=-=Oracle服务管理=-=-=-=-=
echo. 1 开启服务
echo. 2 关闭服务
echo. 3 退 出
echo. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
echo. 请输入选择项目的序号:
set /p ID=
if &%id%&==&1& goto cmd1
if &%id%&==&2& goto cmd2
if &%id%&==&3& exit
echo 请输入正确序号!&ping -n 2 127.1&nul&goto MENU
echo 开启Oracle服务中...
net start|findstr /i /c:&OracleDBConsoleorcl&&nul&&set k=1||set k=0
if %k%==0 (net start &OracleDBConsoleorcl&)
net start|findstr /i /c:&OracleOraDb10g_home1iSQL*Plus&&nul&&set k=1||set k=0
if %k%==0 (net start &OracleOraDb10g_home1iSQL*Plus&)
net start|findstr /i /c:&OracleOraDb10g_home1TNSListener&&nul&&set k=1||set k=0
if %k%==0 (net start &OracleOraDb10g_home1TNSListener&)
net start|findstr /i /c:&OracleServiceORCL&&nul&&set k=1||set k=0
if %k%==0 (net start &OracleServiceORCL&)
echo Oracle服务已经成功开启...
echo 关闭Oracle服务中...
net start|findstr /i /c:&OracleDBConsoleorcl&&nul&&set k=1||set k=0
if %k%==1 (net stop &OracleDBConsoleorcl&)
net start|findstr /i /c:&OracleOraDb10g_home1iSQL*Plus&&nul&&set k=1||set k=0
if %k%==1 (net stop &OracleOraDb10g_home1iSQL*Plus&)
net start|findstr /i /c:&OracleOraDb10g_home1TNSListener&&nul&&set k=1||set k=0
if %k%==1 (net stop &OracleOraDb10g_home1TNSListener&)
net start|findstr /i /c:&OracleServiceORCL&&nul&&set k=1||set k=0
if %k%==1 (net stop &OracleServiceORCL&)
echo Oracle服务已经成功关闭...
然后把文件的后缀名改为bat文件,运行这个文件,你就可以看到如下界面:
根据选择你就可以开启或者关闭oracle的有关服务了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:11274次
排名:千里之外
转载:151篇【图文】oracle内存分配与调整_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
oracle内存分配与调整
上传于||暂无简介
大小:517.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢查看:3795|回复:5
公司一台oracle服务器,物理内存总是不停上涨,刚开始以为是linux的内存管理机制,释放过一次缓存,上涨趋势得到了暂时的缓解,没怎么在意,后来,开始猛吃swap,这才慌了,
打算故技重施,再次释放缓存的,发现缓存也只有5g不到,而且释放后,涨势更猛,第二天就再次爆满.
(88.11 KB)
由于公司没有专门的数据库管理员,而我专业又是网络工程,近来才看了些数据库的知识,没有数据库密码.不清楚数据库的SGA,PGA是怎样设的.本着尽职尽责的理念,ps aux --sort=%mem|grep oracle察看相关oracle进程,发现一个叫nmccollector进程占用了58.6%的内存,太坑爹了.相当于9g多内存,也就是cache+buffer以外的大部分内存
(41.93 KB)
百度后,隐约知道nmccollector是oracle EM控制监测方面的进程,想直接关闭EM,又怕又什么危险,
无奈下只有求助各位老少爷们,望各位不吝赐教,感激不尽.
自己顶一下,在线坐等大侠
:'( ,现在知道nmccollector是oracle EM内存访问模式下性能监控的进程,可是还是搞不大懂内存访问模式和sql访问模式有什么区别,继续看文档中,倒是来个人响应一下阿
顶 我也想知道为什么
初级工程师
发觉这里的oracle版块比较冷清!!
引用:原帖由 pimg2005 于
14:49 发表
发觉这里的oracle版块比较冷清!! 是啊,问题解决了,可能是oracle EM性能监控开的时间太长了.进入em关闭内存访问模式下性能监控,内存降了.微信公众号:centoscn
Oracle通过设置大内存页解决使用swap分区问题
在一个新闻网站的后台数据库的监控过程中,经常出现数据库开始使用交换分区的情况,并进而导致整个应用系统响应非常缓慢,不能够提供服务。该服务器的内存为8G,SGA设置为4G,PGA设置为1G。操作系统为64位。按照道理,即使内存发生不够的情况,应该是磁盘读写变得更加激烈,而不是开始频繁的使用swap交换分区,沿着这个思路,寻找相关资料,发现如果配置大内存页可以强行把SGA锁定到内存中,大内存页是不允许被交换的。而同时相关资料也说明,在内存比较大的情况下,当系统内存为8G以上时,如果不采用大内存页(2M),那么管理这些内存所需要的内存也会急剧增加。对于系统可以使用命令cat /proc/meminf查看PageTables项,由于没有采用大内存页管理而额外产生的内存消耗。具体操作步骤:1、查看系统内存cat /proc/meminfo | grep MemTotalMemTotal: & & &8177384 kB2、查看SGA和PGASQL&NAME & & & & & & & & & & & & & & & & TYPE & & & &VALUE------------------------------------ ----------- ------------------------------lock_sga & & & & & & & & & & & & & & boolean & & TRUEpre_page_sga & & & & & & & & & & & & boolean & & FALSEsga_max_size & & & & & & & & & & & & big integer 4Gsga_target & & & & & & & & & & & & & big integer 4GSQL&NAME & & & & & & & & & & & & & & & & TYPE & & & &VALUE------------------------------------ ----------- ------------------------------pga_aggregate_target & & & & & & & & big integer 1G4、查看没有使用大内存页时的情况more /proc/meminfo |grep -i HugePageHugePages_Total: 0HugePages_Free: &0HugePages_Rsvd: &0Hugepagesize: & &05、配置HugePages Pool大小vi /etc/sysctl.conf在最后添加如下的行vm.nr_hugepages = 2300 & & #(这个值应大于或等于 SGA/2m,即 4*1024m/2m)6、配置oracle用户最大线程数、文件句柄和最大能锁定的内存vi /etc/security/limits.conf在最后添加如下的行 & & & oracle &soft & &nproc & 2047 & & & oracle &hard & &nproc & 16384 & & & oracle &soft & &nofile &1024 & & & oracle &hard & &nofile &65536 & & & oracle &soft & &memlock 5194304 & & & & &#(这里是以KB为单位,一般大于等于SGA) & & & oracle &hard & &memlock 51943047、使配置生效sysctl -p 8、重启系统及启动oracle实例,下面是我们使用大内存页后的结果,看到因为管理内存页而额外需要的内存(PageTables)为55Mcat /proc/meminfoMemTotal: & & &8177384 kBMemFree: & & & &950472 kBBuffers: & & & & 16824 kBCached: & & & &1365136 kBSwapCached: & & 170652 kBActive: & & & &1274416 kBInactive: & & &1082156 kBHighTotal: & & & & & 0 kBHighFree: & & & & & &0 kBLowTotal: & & &8177384 kBLowFree: & & & &950472 kBSwapTotal: & & kBSwapFree: & &
kBDirty: & & & & & & 148 kBWriteback: & & & & & 0 kBAnonPages: & & &982112 kBMapped: & & & & &52944 kBSlab: & & & & & &64568 kBPageTables: & & &55580 kBNFS_Unstable: & & & &0 kBBounce: & & & & & & &0 kBCommitLimit: & kBCommitted_AS: &2584964 kBVmallocTotal:
kBVmallocUsed: & &267584 kBVmallocChunk:
kBHugePages_Total: &2300HugePages_Free: & &264HugePages_Rsvd: & & 13Hugepagesize: & & 2048 kB & & &如上由于我们的系统数据库SGA为4G,因此配置了2300个大内存页,这样能够提供足够多的大内存页供数据库的SGA使用。配置大内存的一个另外好处是可以清楚的看到系统使用内存的情况,否则Oracle会占用buffer及cache内存,很难计算系统空余的实际内存数量。 & &从内存meminfo信息中可以看出,2300个大内存页,被使用了6个(这个过程在启动数据库的时候是动态变化的,直到SGA用满)。 & & &在配置的过程中,发现我们的系统内核还不支持大内存页,配置后看到HugePage_Total为0,说明配置无效,需要安装新的内核。大内存页的配置可以参考相关文档。 & & 当配置完成后,同时设置lock_sga为true,Oracle数据库服务器再也不发生大量使用swap分区的情况了,不再出现性能故障。
------分隔线----------------------------
CentOS对“OpenSSL Heartbleed高危安全漏洞”的修复方法,CentOS原生版,6.2/6.3; 默认...}

我要回帖

更多关于 oracle 内存占用过高 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信