Oracle数据库内存与磁盘I/O监控全解析
1. ISM与LOCK_SGA参数
在较新的Solaris(2.6及以后版本)和Oracle(8i及以后版本)中,ISM(Intimate Shared Memory)默认是启用的。在数据库中, init.ora 参数 USE_ISM 默认将该参数设置为 TRUE 。可以在操作系统层面的 /etc/system 文件中禁用它。要使用ISM,必须在数据库和操作系统层面都启用它。此外,SGA(System Global Area)必须分配在一个连续的共享内存段中,而不是之前讨论的多个段。如果出现这种情况,不会有任何消息提示,但可能会遇到SGA的部分页面被换出。早期的ISM需要操作系统补丁来防止因bug导致的损坏,所以要与系统管理员(SA)确认操作系统是否已针对此bug进行了补丁更新。
如果不是在Sun Solaris系统上,也有办法避免SGA被换出。 init.ora 参数 LOCK_SGA 可以设置为 TRUE ,以防止SGA被移出物理内存。但要注意,和ISM一样,将SGA锁定在物理内存中可能会导致其他进程的分页和交换,从而影响其他应用程序。
2. 清理共享内存和信号量
偶尔会出现实例崩溃,但该实例的共享内存和信号量仍然存在的情况。在重启实例之前,必须清除这些共享内存区域和信号量,因为旧的内存段存在会导致新的SGA无法分配。清除旧内存段有两种方法:重启机器或使用 ipcrm 逐
超级会员免费看
订阅专栏 解锁全文
950

被折叠的 条评论
为什么被折叠?



