linux oracle semopm,Linux 内核参数设置于详解 --Oracle 安装

1.

Linux核心参数

#vi /etc/sysctl.conf

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

cat >>/etc/sysctl.conf <

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

EOF

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

# /sbin/sysctl -p

使修改的参数生效。

2.

kernel.shmmax

含义:共享内存段最大值(以字节为单位)。

设置:kernel.shmmax>=sag_max_size不小于物理内存的一半,应该足够大。

查看:cat /proc/sys/kernel/shmmax

ipcs –lm

引用:

shmmax设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。

SHMMAX仅仅是在共享内存段被创建的时候用来比较的一个数字,当共享内存段被一个进程(Process)创建,操作系统检查是否被要求的共享内存段的值大于shmmax的值,如果是,那么将会抛出一个错误。这个时候系统会创建另外的一个或多个共享内存段满足进程的需求。一般来说,共享内存段个数和系统性能没有太直接的关系,也不会对性能产生太大的影响。

Steve Adams在他的小册子中说过,在实例启动以及Server Process创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响,但是其他时候都不会有影响。这意味着如果你的程序不是经常CreateProcesses(以及Destroy Them),性能方面就不是考虑的问题。

Oracle安装文档建议32BitLinux系统设置shmmax为32Bit最大的限制值(setting shmmax to the 32-bit number limit),也就是4G。

所以一般来说,1-4G的物理内存,可以直接设置shmmax为最大物理内存即可,那么SGA肯定在一个共享内存段中,32Bit Linux系统物理内存大于4G的设置为4G即可 。

总之,一般设置shmmax >=SGA(32Bit系统是否支持到1.7G以上SGA需要注意),缺省为32M,

如果是64Bit的Linux操作系统,shmmax设置为大于SGA_MAX_SIZE即可。

3.

kernel.shmall

含义:控制共享内存页数(以页为单位)。

设置:kernel.shmall > = kernel.shmmax / page_sizeORACLE DOC默认值:2097152*4096=8GB

控制共享内存页数(shmall) =最大共享内存段的大小(shmmax) /共享内存页的大小(4KB)

查看:cat /proc/sys/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)。

其值应不小于shmmax/page_size.缺省值就是2097152,如果服务器上运行的所有实例的SGA总和不超过8GB(通常系统可分配的共享内存的和最大值为8GB),通常不需要修改。

4.

kernel.shmmni

含义:设置系统范围内共享内存段的最大数量。PS:注意这个参数不是shmmin是shmmni; shmmin表示内存段最小大小。

设置:shmmni缺省值4096

查看:cat /proc/sys/kernel/shmmni

5.

fs.file-max

含义:一个进程可以打开的文件句柄的最大数量。

设置:fs.file-max=65536

查看:cat /etc/sysctl.conf |grep 'fs.file-max'

6.

net.ipv4.ip_local_port_range

含义:专用服务器模式下与用户进程通信时分配给用户的端口区间。

设置:net.ipv4.ip_local_port_range = 1024 65000

查看:cat /etc/sysctl.conf |grep 'net.ipv4.ip_local'

7.

net.core.rmem_default

含义:默认接收缓冲区大小。

设置:net.core.rmem_default=262144

查看:cat /etc/sysctl.conf

8.

net.core.rmem_max

含义:接收缓冲区最大值。

设置:net.core.rmem_max=262144

查看:cat /etc/sysctl.conf

9.

net.core.wmem_default

含义:默认的发送缓冲区大小。

设置:net.core.wmem_default=262144

查看:cat /etc/sysctl.conf

10.

net.core.wmem_max

含义:发送缓冲区最大值。

查看:net.core.wmem_max=262144

设置:cat /etc/sysctl.conf

11.

kernel.sem信号量

含义:

查看:cat /proc/sys/kernel/sem      ipcs -ls

1>.semmsl

含义:每个信号量set中信号量最大个数

设置:最小250;对于processes参数设置较大的系统建议设置为processes+10

2>.semmns

含义:linux系统中信号量最大个数

设置:至少32000;SEMMSL * SEMMNI

3>.semopm

含义:semop系统调用允许的信号量最大个数

设置:至少100;或者等于SEMMSL

4>.semmni

含义:linux系统信号量set最大个数

设置:最少128

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件环境的一般要求 RHEL 5.x系统、RHEL 6.x系统 图形桌面环境 + 开发工具 + 中文Java支持 —— 在RHEL 6.x中安装时,ksh需改用5.x的软件包 准备工作: yum install yum* yum groupinstall “X 窗口系统” “桌面” “桌面平台” “中文支持” “开发工具” [root@dbserver ~]# yum -y install java-* [root@dbserver ~]# cd /usr/lib/jvm/jre-1.6.0/lib [root@dbserver lib]# mv fontconfig.bfc fontconfig.bfc.origin [root@dbserver lib]# cp fontconfig.RedHat.6.bfc fontconfig.bfc [root@dbserver ~]# rpm -e ksh 因为默认没有装 [root@dbserver ~]# rpm -ivh .../ksh-5.2.14-36.el5.i386.rpm 用户环境要求 创建组账号oinstall、dba,用户账号oracle 创建Oracle基本目录 为用户oracle设置环境变量,并允许使用X终端 [root@dbserver ~]# groupadd oinstall //安装组 [root@dbserver ~]# groupadd dba //管理组 [root@dbserver ~]# useradd -g oinstall -G dba oracle [root@dbserver ~]# passwd oracle   [root@dbserver ~]# mkdir /opt/oracle [root@dbserver ~]# chown -R oracle:oinstall /opt/oracle/ [root@dbserver ~]# chmod -R 775 /opt/oracle/ [root@dbserver ~]# vi /home/oralce/.bash_profile …… umask 022 export ORACLE_BASE=/opt/oracle export ORACLE_SID=orcl export DISPLAY=:0.0 export LANG=zh_CN.UTF-8 export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_2 [root@dbserver ~]# xhost + //须在图形环境执行 access control disabled, clients can connect from any host 内核及会话要求 修改内存调度参数、端口范围、I/O请求…… 增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中可以打开的文件的数量。 kernel.shmmni = 4096 共享内存的总页数 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586 [root@dbserver ~]# sysctl –p kernel.sem: 以kernel.sem = 250 32000 100 128为例:        250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。        32000是参数semmns的值,表示系统内可允许的信号量最大数目。        100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。        128是参数semmni的值,表示系统信号量集合总数 net.core.rmem_default: 表示套接字接收缓冲区大小的缺省值。 net.core.rmem_max: 表示套接字接收缓冲区大小的最大值。 net.core.wmem_default: 表示套接字发送缓冲区大小的缺省值。 net.core.wmem_max: 表示套接字发送缓冲区大小的最大值 [root@dbserver ~]# vi /etc/pam.d/login …… session required pam_limits.so [root@dbserver ~]# vi /etc/security/limits.conf …… oracle soft nproc 8192 oracle hard nproc 16384 oracle soft nofile 32768 oracle hard nofile 65536 运行runInstaller安装程序 将下载的两个zip包解压到同一位置 进入database目录,由用户oracle执行安装 通过 -jreLoc 参数指定中文Java环境的路径 [root@dbserver ~]# su - oracle [oracle@dbserver ~]$ cd /var/ftp/pub/database/ [oracle@dbserver database]$ ./runInstaller -jreLoc /usr/lib/jvm/jre-1.6.0 正在启动 Oracle Universal Installer... 检查临时空间: 必须大于 80 MB。 实际为 64829 MB 通过 检查交换空间: 必须大于 150 MB。 实际为 2047 MB 通过 检查监视器: 监视器配置至少必须显示 256 种颜色。 实际为 16777216 通过 准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2011-10-12_08-07-32PM. 请稍候... SHAPE \* MERGEFORMAT 典型的安装设置 单实例数据库、企业版、管理口令 基本目录:/opt/oracle/ 软件位置:/opt/oracle/product/11.2.0/dbhome_1/ 数据库位置:/opt/oracle/oradata/ 产品清单:/opt/oracle/oraInventory/ SHAPE \* MERGEFORMAT SHAPE \* MERGEFORMAT 验证安装结果 从命令行使用sqlplus工具访问数据库 从浏览器访问 https://dbserver:1158/em/ 用户名sys、管理口令、连接身份SYSDBA [root@dbserver ~]# cd /opt/oracle/product/11.2.0/dbhome_1/bin/ [root@dbserver bin]# ./sqlplus sys AS SYSDBA …… Enter password: //输入管理密码 Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> SHOW USER; //查看当前用户 USER is "SYS“ SQL> HELP INDEX; //查看指令列表 …… COMPUTE LIST SET XQUERY CONNECT PASSWORD SHOW SHAPE \* MERGEFORMAT 优化执行环境 全局配置/etc/profile,添加基目录、执行路径…… 修改/etc/oratab,使orcl实例随数据库软件启动 [root@dbserver ~]# vi /etc/profile …… export ORACLE_BASE=/opt/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_OWNER=oracle export ORACLE_SID=orcl export ORACLE_TERM=xterm export PATH=\$PATH:\$ORACLE_HOME/bin [root@dbserver ~]# vi /etc/oratab orcl:/opt/oracle/product/11.2.0/dbhome_1:Y Oracle的服务组件 监听器lsnrctl:提供数据库访问,默认端口1521 启动器dbstart、dushut:启动、停止数据库实例 控制器emctl:开启、关闭OEM平台,默认端口1158 [oracle@dbserver ~]$ lsnrctl status [oracle@dbserver ~]$ emctl stop dbconsole [oracle@dbserver ~]$ dbshut $ORACLE_HOME [oracle@dbserver ~]$ dbstart $ORACLE_HOME [oracle@dbserver ~]$ emctl stop dbconsole 使用系统服务脚本 编写/etc/init.d/oracle控制脚本 使用chkconfig工具添加为系统服务 使用service工具来启动、停止、重启oracle服务 SHAPE \* MERGEFORMAT 逻辑备份与恢复 配置Oracle备份目录 创建本地目录(如 /opt/mydbbackup),并调整属性 在SQL>环境中指定备份位置,并授权备份用户 [root@dbserver ~]# mkdir /opt/mydbbackup [root@dbserver ~]# chown oracle:oinstall /opt/mydbbackup/ [root@dbserver ~]# sqlplus sys AS SYSDBA Enter password: SQL> CREATE DIRECTORY dmpdir AS '/opt/mydbbackup'; Directory created. SQL> GRANT read,write ON DIRECTORY dmpdir TO sysman; Grant succeeded. SQL> GRANT all ON DIRECTORY dmpdir TO system; Grant succeeded. 逻辑备份与恢复 执行逻辑备份 使用expdp工具导出数据库 [root@dbserver ~]# expdp lisi/123456 DIRECTORY=dmpdir DUMPFILE=lisi-20111014.dmp #导出用户lisi的数据库 ……. [root@dbserver ~]# expdp system/123456 DIRECTORY=dmpdir DUMPFILE=orcl-full-20111014.dmp FULL=Y #导出整个数据库 …… 执行逻辑恢复 使用impdp工具导入数据库 [root@dbserver ~]# impdp lisi/123456 DIRECTORY=dmpdir DUMPFILE=lisi-20111014.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE #恢复用户lisi的数据库 [root@dbserver ~]# impdp system/123456 DIRECTORY=dmpdir DUMPFILE=orcl-full-20111014.dmp REUSE_DATAFILES=Y TABLE_EXISTS_ACTION=REPLACE FULL=Y #恢复整个数据库 注意: 
glibc-32bit-8.1-9 
glibc-devel-32bit-8.1-9
compat-libstdc++-33-3.2.3-47.3.x86_64.rpm 
libaio-0.3.105-2.x86_64.rpm
以下是在Linux系统上安装Oracle的步骤: 1. 下载Oracle安装文件。在Oracle官网上下载适用于Linux系统的Oracle安装文件。 2. 安装必要的软件包。在Linux系统上,安装Oracle需要一些必要的软件包,例如:binutils、compat-libcap1、compat-libstdc++-33、compat-libstdc++-33.i686、gcc、gcc-c++、glibc.i686、glibc-devel.i686、ksh、libaio、libaio.i686、libgcc.i686、libstdc++.i686、libstdc++-devel.i686、libXext.i686、libXtst.i686、libX11.i686、libXau.i686、libxcb.i686、make、nfs-utils、net-tools、smartmontools、sysstat和unixODBC。 3. 创建Oracle用户和组。在Linux系统上,使用root用户创建一个名为oracle的用户和一个名为oinstall的组。 4. 配置内核参数。在Linux系统上,需要设置一些内核参数以确保Oracle能够正常工作。这些参数包括:shmmax、shmmni、shmall、semmns、semopm、semmni、file-max、ip_local_port_range、rmem_default、rnet_max、wmem_default、wmem_max和kernel.sem。 5. 配置用户环境变量。在oracle用户的.bash_profile文件中设置一些环境变量,例如ORACLE_HOME、ORACLE_SID、PATH和LD_LIBRARY_PATH。 6. 解压Oracle安装文件。在oracle用户的主目录下创建一个名为oracle_install的目录,将Oracle安装文件解压到该目录中。 7. 运行安装程序。使用oracle用户身份运行安装程序,根据安装向导的提示进行安装。 8. 安装完成后,执行必要的配置。安装完成后,需要执行一些必要的配置,例如:创建Oracle数据库、配置监听器、启动Oracle服务等。 总之,安装Oracle需要一些准备工作和操作步骤,但只要按照步骤进行,就可以成功地在Linux系统上安装Oracle

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值