rac内存管理

一、内存管理第一层:

1、memory_target和memory_max_target开启自动内存管理。

rac1

SQL> show parameter memory

NAME TYPE VALUE

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

hi_shared_memory_address integer 0

memory_max_target big integer 0

memory_target big integer 0

shared_memory_address integer 0

rac2

SQL> show parameter memory

NAME TYPE VALUE

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

hi_shared_memory_address integer 0

memory_max_target big integer 0

memory_target big integer 0

shared_memory_address integer 0

二、内存管理第二层

1、sga_target、sga_max_size实现自动sga管理。

rac1

SQL> show parameter sga

NAME TYPE VALUE

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

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 2928M

sga_target big integer 2928M

rac2

SQL> show parameter sga

NAME TYPE VALUE

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

lock_sga boolean FALSE

pre_page_sga boolean FALSE

sga_max_size big integer 2928M

sga_target big integer 2928M

2、pga_aggregate_target实现自动pga管理。

rac1

SQL> show parameter pga

NAME TYPE VALUE

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

pga_aggregate_target big integer 974M

rac2

SQL> show parameter pga

NAME TYPE VALUE

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

pga_aggregate_target big integer 974M

三、内存管理第三层

rac1

SQL> show parameter db_cache_size

NAME TYPE VALUE

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

db_cache_size big integer 0

SQL> show parameter log_buffer

NAME TYPE VALUE

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

log_buffer integer 16941056

SQL> show parameter shared_pool_size

NAME TYPE VALUE

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

shared_pool_size big integer 0

SQL> show parameter shared_pool_size

NAME TYPE VALUE

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

shared_pool_size big integer 0

SQL> show parameter large_pool

NAME TYPE VALUE

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

large_pool_size big integer 0

SQL> show parameter java_pool

NAME TYPE VALUE

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

java_pool_size big integer 0

SQL> show parameter stream

NAME TYPE VALUE

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

streams_pool_size big integer 0

rac2

SQL> show parameter db_cache_size

NAME TYPE VALUE

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

db_cache_size big integer 0

SQL> show parameter log_buffer

NAME TYPE VALUE

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

log_buffer integer 16941056

SQL> show parameter shared_pool

NAME TYPE VALUE

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

shared_pool_reserved_size big integer 28521267

shared_pool_size big integer 0

SQL> show parameter large_pool

NAME TYPE VALUE

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

large_pool_size big integer 0

SQL> show parameter java_pool

NAME TYPE VALUE

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

java_pool_size big integer 0

SQL> show parameter streams

NAME TYPE VALUE

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

streams_pool_size big integer 0

四、shm修改

如果想修改OS下oracle数据库内存大于OS内存一般以上,需要修改shm值(shm值默认为OS物理内存的50%),修改方法如下:

[[email protected] ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Fri Dec 4 19:49:21 2015

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=4225f161-f532-422f-82a4-1bc53ce8ea1a / ext4 defaults 1 1

UUID=07d3b54d-5537-4f84-bd9e-ceb3937312d0 swap swap defaults 0 0

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

[[email protected] ~]# vim /etc/fstab

#

# /etc/fstab

# Created by anaconda on Fri Dec 4 19:49:21 2015

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

UUID=4225f161-f532-422f-82a4-1bc53ce8ea1a / ext4 defaults 1 1

UUID=07d3b54d-5537-4f84-bd9e-ceb3937312d0 swap swap defaults 0 0

tmpfs /dev/shm,size=5g tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

重启服务器,或者杀掉占用shm内存的进程,重新挂在磁盘。

时间: 2024-10-29 19:11:22

rac内存管理的相关文章

Oracle RAC 实例管理(Cluster Group Service)

CGS是Oracle RAC 实例管理的实现方法,负责实现如下功能 1)实例之间的心跳机制 2)当实例离开或者加入集群时完成数据库集群的重新配置 3)解决数据库层面出现的脑裂 1,网络心跳 数据库层面的网络心跳是通过LMON进程实现的,每个实例的LMON进程会定期通过数据库的私网与所有远程实例进行通信,以确认其他实例的状态,如果,某一个实例一段时间之内不能够响应其他节点发送的网络心跳信息,那么数据库集群就需要进行重新配置,用户能够看到的最直观的信息就是ora-29740错误. 2,磁盘心跳 数据

linux内存管理

一.Linux 进程在内存中的数据结构 一个可执行程序在存储(没有调入内存)时分为代码段,数据段,未初始化数据段三部分:    1) 代码段:存放CPU执行的机器指令.通常代码区是共享的,即其它执行程序可调用它.假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段.     2) 数据段:存放已初始化的全局变量.静态变量(包括全局和局部的).常量.static全局变量和static函数只能在当前文件中被调用.     3) 未初始化数据区(uninitializeddata s

Block内存管理实例分析

在ios开发中,相信说道block大家都不陌生,内存管理问题也是开发者最头疼的问题,网上很多讲block的博客,但大都是理论性多点,今天结合一些实例来讲解下. 存储域 首先和大家聊聊block的存储域,根据block在内存中的位置,block被分为三种类型: NSGlobalBlock NSStackBlock NSMallocBlock 从字面意思上大家也可以看出来 NSGlobalBlock是位于全局区的block,它是设置在程序的数据区域(.data区)中. NSStackBlock是位于

Obstack是C标准库里面对内存管理的GNU扩展

Obstack介绍 Obstack初始化 在Obstack中申请对象 释放对象 申请growing object 获取Obstack状态 数据对齐 以下是来自wiki对obstack的介绍: Obstack是C标准库里面对内存管理的GNU扩展(实际上就是GNU C library了).Obstack===Object stack.没错,Obstack就是一个栈,栈里面的元素是对象object(不是面向对象的对象哦,这里的对象单指数据元素).这些数据是动态的,也就是使用的是动态内存.这种内存管理技

OC内存管理

OC内存管理 一.基本原理 (一)为什么要进行内存管理. 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等. 管理范围:任何继承NSObject的对象,对其他的基本数据类型无效. 本质原因是因为对象和其他数据类型在系统中的存储空间不一样,其它局部变量主要存放于栈中,而对象存储于堆中,当代码块结束时这个代码块中涉及的所有局部变量会被回收,指向对象的指针也

39-oc集合中对象的内存管理

集合中对象的内存管理 集合的内存管理原则是什么 当把一个对象添加到集合中时,这个对象会做了一次retain操作,计数器会+1 当一个集合被销毁时,会对集合里面的所有对象做一次release操作,计数器会-1 当一个对象从集合中移除时,会对这个对象做一次release操作,计数器会-1 集合方法的普遍规律是什么 如果方法名是add\insert开头,那么被添加的对象,计数器会+1 如果方法名是remove\delete开头,那么被移除的对象,计数器-1

iOS基础 ----- 内存管理

Objective-C 的内存管理方式有引用计数机制,垃圾回收机制,自动释放池.有alloc,就有释放.iOS应?程序出现Crash(闪退),90%的原因是因为内存问 题.在?个拥有数?个甚?是上百个类的?程?,查找内存问 题极其困难,学会内存管理,能帮我们减少出错的?率.内存问题体现在两个??:内存溢出.野指针异常. 引用计数器 在Xcode4.2及之后的版本中由于引入了ARC(Automatic Reference Counting)机制,程序编译时Xcode可以自动给你的代码添加内存释放代

c++ 块内存管理

#pragma once   //头文件 #include<iostream> #include<string.h> #include<list> #include "TypeTraits.hpp"  //类型萃取 #include <stdarg.h> using namespace std; struct SaveAdapter//保存适配器 基类 { virtual void save(const char* fmt, ...) =

魏兆辉的IOS基础学习笔记之十二 OC语言基础-07 Foundation内存管理

本篇博文,将给大家介绍下再Objective-C中如何使用内存管理.一个程序运行的时候,如果不及时的释放没有用的空间内存.那么,程序会越来 越臃肿,内存占用量会不断升高.我们在使用的时候,就会感觉很卡,最终使得程序运行奔溃.因此,将无效的内存及时清理释放,是非常有必要的. 一个对象在最初创建使用,到最后的回收释放,经历的是怎样一个过程呢?包括:诞生(通过alloc或new方法实现).生存(接收消息并执行操作).交友(通过复合以及向方法传递参数).最终死去(被释放掉). 一.引用计数 在对象创建的