怎么设置oracle内存,oracle内存分配与调整

Oracle关于内存参数及大页设置的相关概念和设置之Limits概念和配置

最近,对Linux大页的调整,所以重温了一些Linux内存及SGA等相关概念、参数和配置,这里进行一下记录,省的总Google.

十载的芝罘网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整芝罘建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“芝罘网站设计”,“芝罘网站推广”以来,每个客户项目都认真落实执行。

limits.conf文件实际是Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,突破系统的默认限制,对系统访问资源有一定保护作用。 limits.conf 和sysctl.conf区别在於limits.conf是针对用户,而sysctl.conf是针对整个系统参数配置。

limits.conf是 pam_limits.so的 配置文件,然後/etc/pam.d/下的应用程序调用pam_***.so模块。譬如说,当用户访问服务器,服务程序将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目 录下选择一个对应的服务文件,然後根据服务文件的内容选择具体的PAM模块进行处理。

格式为:

-c 指定修改core文件的大小,1000指定了core文件大小。也可以对core文件的大小不做限制,如: ulimit -c unlimited

对於需要做许多套接字连接并使它们处於打开状态的应用程序而言,最好通过使用ulimit -n,或者通过设置nofile参数,为用户把文件描述符的数量设置得比默认值高一些

maxlogins - 此用户允许登录的最大数目

注意:要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:session required /lib/security/pam_limits.so

详细说明:

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有 soft,hard 和 -,

soft 指的是当前系统生效的设置值。

hard 表明系统中所能设定的最大值。

soft 的限制不能比har 限制高。

用 - 就表明同时设置了 soft 和 hard 的值。

resource:

示例,若机器上部署了ORACLE数据库,我们需要对oracle用户的资源做下调整,如下:

要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:

--查看当前系统配置文件ulimit的全局配置

ulimit -a

如果未进行具体设置的话,会使用默认配置,如下查看:

批注:当使用*号让全局用户生效的时候,生效的nproc的值大小是受文件/etc/security/limits.d/90-nproc.conf中nproc值大小制约的,而如果仅仅是针对某个用户,那麽就不受该文件nproc值大小的影响。

Linux系统 /etc/security/limits.conf 配置

参考自

oracle 11g 内存详细配置。 centos 6.5 64bit 64G内存。如何配置oracle内存,需要详细配置,请高手指点。

vi /etc/sysctl.conf

其中有两个参数:

kernel.shmmax:

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。

kernel.shmall:

该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

如何给Oracle数据库分配内存

内存是影响数据库性能的重要因素,Oracle8i使用静态内存管理,Oracle 10g使用动态内存管理。所谓静态内存管理,就是在数据库系统中,无论是否有用户连接,也无论并发用量大小,只要数据库服务在运行,就会分配固定大小的内存;动态内存管理允许在数据库服务运行时对内存的大小进行修改,读取大数据块时使用大内存,小数据块时使用小内存,读取标准内存块时使用标准内存设置。

oracle怎么设置自动管理内存

1、确保有pfile

存在,

sql

create

pfile

from

spfile;

------扫盲一下:创建pfile

一般dbca创建的实例是没有这个文件的,物理文件存在形式是:

init$oracle_sid.ora

2、关闭实例。

3、mv

或者rm掉spfile,也就是spfile$oracle_sid.ora文件.---

目的就是让实例启动时使用的是pfile

4、vi

init$oracle_sid.ora

动态参数文件pfile

,注释掉memory_target

和memory_max_target

5、启动实例,最好是在startup

mount;

-----

至于为什么,自己想

6、show

parameter

memory

查看一下是否成功

7、生成spfile

,重启实例。

oracle怎么调整数据库实例内存

假设:oracle安装目录 D:\oracle

数据库的实例名 XXX

内存配置步骤:

1)打开dos,运行

D:\oracle sqlplus /nolog

SQL connect / as sysdba

SQL create pfile from spfile;

SQL shutdown immediate

SQL exit

2)打开文件D:\oracle\ora92\database\INITXXX.ORA

修改以下值并保存:

*.db_cache_size=819m

*.shared_pool_size=256m

*.pga_aggregate_target=256m

*.large_pool_size=64m

*.java_pool_size=64m

3)删除文件D:\oracle\ora92\database\SPFILEXXX.ORA

4)打开dos,运行

D:\oracle sqlplus /nolog

SQL connect / as sysdba

SQL startup

SQL create spfile from pfile;

SQL exit


本文标题:怎么设置oracle内存,oracle内存分配与调整
路径分享:http://azwzsj.com/article/hecsii.html