1.关掉防火墙和SElinux
service iptables stop ##立刻关闭IPV4防火墙
chkconfig iptables off ##永久关闭IPV4防火墙
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config ##永久关闭SELINUX,修改SELINUX配置文件为关闭,重启后也能生效规则
setenforce 0 ##立刻关闭SElinux
service ip6tables stop ##立刻关闭IPV6防火墙
chkconfig ip6tables off ##永久关闭IPV6防火墙
2.停止ntp服务
service ntpd status ##查看Linux时间同步服务ntpd的状态
service ntpd stop ##立刻关闭ntpd服务
chkconfig ntpd off ##永久关闭ntpd服务
cp -p /etc/ntp.conf /etc/ntp.conf.bak ##备份ntpd服务的配置文件
rm -rf /etc/ntp.conf ##删除ntpd服务的配置文件
3.系统内核参数及相关用户环境变量设置
(1)修改linux内核参数
vi /etc/sysctl.conf
#全部允许使用的共享内存大小,可以设置为内存的 90%/。计算方法内存总数/内存页大小 (cat /proc/meminfo)/ (getconf PAGESIZE) /1024
kernel.shmall = 2097152
#shmmax 是单个段允许使用的大小。可以设置为内存的 90%。例如 2G 内存,2*1024*1024*1024*90% = 1932735283,下面设置为0.5G.
kernel.shmmax = 536870912
#SHMMNI整个系统的内存segment的总个数 。设置系统级最大共享内存段数量。oracle推荐最小值为4096,可以适当比4096增加一些。
kernel.shmmni = 4096
#对应的4个值从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI,可以使用cat /proc/sys/kernel/sem查看。
#SEMMSL= 设置每个信号灯组中信号灯最大数量,推荐的最小值是250。对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。
#SEMMNS=设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL*SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL*SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL*SEMMNI。Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:(600+10)*142
#SEMOPM参数:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。
#SEMMNI= 设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。
kernel.sem = 250 32000 100 128
#在系统中全局设置内存转储功能
fs.suid_dumpable = 1
#fs.aio-max-nr 参数,指的是系统同时可以拥有的的异步IO请求数目,数据库是在机房意外断电的情况下突然关闭的,关闭的一瞬间有大量的事务正在运行,所以重新启动的时候必然有大量的回滚与已提交但没有写入到数据文件的数据要开始写入,这时候的IO量是非常大的,由于启用了异步IO,此时大量的上下文切换达到了操作系统设定的最大值,oracle可能会停止响应,oracle推荐设置为1M以上(1024*1024).
#/proc/sys/fs/aio-nr 文件提供了系统范围异步 I/O 请求现在的数目。
#/proc/sys/fs/aio-max-nr 文件是当前系统所允许的并发请求的最大个数
fs.aio-max-nr = 1048576
#file-max是设置系统所有进程一共可以打开的文件数量 。如果得到大量使用完文件句柄的错误信息,应该增加这个值。
#/proc/sys/fs/file-nr 记录系统中fd的使用情况,已分配文件句柄的数目,已使用文件句柄的数目,文件句柄的最大数目
fs.file-max = 6815744
#表示TCP/UDP协议允许使用的本地端口号(向外连接的端口范围)
net.ipv4.ip_local_port_range = 9000 65500
#rmem_default指定了接收套接字缓冲区大小的缺省值(以字节为单位,如下面参数设置为4M)
#rmem_max指定了接收套接字缓冲区大小的最大值(以字节为单位)
#wmem_default 指定了发送套接字缓冲区大小的缺省值(以字节为单位)
#wmem_max指定了发送套接字缓冲区大小的最大值(以字节为单位)
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
------------------------------------------------------------------------
kernel.shmall = 471859
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.suid_dumpable = 1
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
--------------------------------------------------------------------------
配置完后运行下面命令使配置生效:
sysctl -p
如有bridge报错,执行下面操作加载相关bridge模块:
modprobe bridge
lsmod|grep bridge
(2)修改用户shell限制,修改/etc/security/limits.conf文件,增加内容如下:
vi /etc/security/limits.conf
# oracle和grid用户shell限制
#格式username|@groupname type resource limit
#type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。- 就表明同时设置了 soft 和 hard 的值。
#resource有如下参数:
#core - 限制内核文件的大小
#date - 最大数据大小
#fsize - 最大文件大小
#memlock - 最大锁定内存地址空间
#nofile - 打开文件的最大数目
#rss - 最大持久设置大小
#stack - 最大栈大小
#cpu - 以分钟为单位的最多 CPU 时间
#noproc - 进程的最大数目
#as - 地址空间限制
#maxlogins - 此用户允许登录的最大数目
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 4096
oracle hard nofile 65536
(3)修改/etc/pam.d/login文件
vi /etc/pam.d/login
#要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
session required /lib/security/pam_limits.so
session required pam_limits.so
(4)更改安装所有者的ulimit设置
vi /etc/profile
#为了修改对当前用户的进程限制,修改环境变量文件
if [ $USER = "oracle" ]||[ $USER = "grid" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
(5)用户和组
groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper
gird:
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
passwd grid
oracle:
useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle
passwd oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/11.2.0
chmod -R 775 /u01
(6)用户环境变量
gird用户:/home/grid/.bash_profile
# oracle需要使用的tmp目录,需确保空间大于400M
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
#ORACLE_TERM指定要与安装程序一起使用的终端定义资源文件。如果未设置ORACLE_TERM,则安装程序将使用UNIX环境变量TERM的值,并搜索等效的ORACLE_TERM资源
export ORACLE_TERM=xterm
# NLS_DATE_FORMAT用于设置日期显示格式
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
#TNS_ADMIN指定监听文件的目录
export TNS_ADMIN=$ORACLE_HOME/network/admin
#PATH用于定义Shell的可执行文件的搜索路径
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
#设置LD_LIBRARY_PATH,以便程序加载运行时能够自动找到需要的动态链接库
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
#告诉Java执行环境,在哪些目录下可以找到您所要执行的Java程序所需要的类或者包
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
#设置Oracle的默认编辑器,例:SQL> select count( * ) from dual; SQL> ed
export EDITOR=vi
#设置语言环境
export
#用于定义语言,地域以及字符集属性。NLS_LANG参数由以下部分组成:NLS_LANG=<Language>_<Territory>.<Clients Characterset>
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
#umask设置了用户创建文件的默认 权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。
umask 022
source /home/grid/.bash_profile
oracle用户:/home/oracle/.bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=node1.localdomain
export ORACLE_SID=devdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_UNQNAME=devdb
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
export
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_DATE_FORMAT='yyyy/mm/dd hh24:mi:ss'
umask 022
source /home/oracle/.bash_profile
评论回复