oracle在linux下安装各系统文件配置

时间:2021-03-08 08:33:42
安装oracle时,需要对各种配置文件进行更改。以下对此进行总结整理。

/etc/sysctl.conf文件


要确定所有共享内存的限制,可使用以下命令:
# ipcs -lm
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 32768
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1


kernel.shmall

       该参数控制控制共享内存页数
       即系统一次可以使用的共享内存总量(以页为单位)
       该参数大小为物理内存除以pagesize;
       getconf PAGE_SIZE 
       简言之,该参数的值始终应至少为:
       ceil(SHMMAX/PAGE_SIZE)
       # cat /proc/sys/kernel/shmall
       (注意:i386 平台上的 Red Hat Linux 中的页面大小为 4,096 字节。但您可以使用 bigpages,它支持配置更大的内存页面大小。
       在10204版本上使用LOCK_SGA=TRUE时,操作系统上是必须启动了16M的大页.)


kernel.shmmax

       SHMMAX 参数定义单个共享内存段的最大大小(以字节为单位)。
       Oracle SGA 由共享内存组成,且错误设置 SHMMAX 可能会限制 SGA 的大小。
       shmmax 设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,
       设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降 。
       ipcs -sa 查看看到共享内存段个数。
       SHMMAX 设置不足可能会导致以下问题:
       ORA-27123:unable to attach to shared memory segment
       # cat /proc/sys/kernel/shmmax
       通过直接更改 /proc 文件系统,无需重新启动计算机便可以改变 SHMMAX 的缺省设置。
       可以使用以下方法动态设置 SHMMAX 的值。通过将此命令置于 /etc/rc.local 启动文件中可以使它永久有效:
       # echo "2147483648" > /proc/sys/kernel/shmmax
       还可以使用 sysctl 命令来更改 SHMMAX 的值:
       # sysctl -w kernel.shmmax=2147483648
       最后,通过将该内核参数插入到 /etc/sysctl.conf 启动文件中,您可以使这种更改永久有效:
       # echo "kernel.shmmax=2147483648" >> /etc/sysctl.conf
       kernel.shmmax = 4294967296


kernel.shmmni

       内核参数是共享内存段的最大数量
       该参数的缺省值是 4096。该值足以满足需要,因此通常无需更改。
       注意这个参数不是shmmin,是
       shmmni, shmmin 表示内存段最小大小 
       可以通过执行以下命令来确定 SHMMNI 的值:
       # cat /proc/sys/kernel/shmmni
       4096
       kernel.shmmni = 4096


kernel.sem

设置信号量(semaphores)
#SEMMSL SEMMNS SEMOPM SEMMNI
每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数。
例:kernel.sem = 250 32000 100 128
如当oracle DB初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置


SEMMSL 内核参数用于控制每个信号集合的最大信号数。

       建议将 SEMMSL 最大 PROCESS 实例参数设置再加上 10。
       例如,当最大的PROCESSES参数为500时,SEMMSL应设置为510。
       此外,Oracle 建议将 SEMMSL 设置为不小于 100。
       

SEMMNS 内核参数用于控制整个 Linux 系统中的信号(而非信号集)的最大数量

       Oracle 建议将 SEMMNS 设置为系统上每个数据库的 PROCESSES 实例参数设置之和,
       加上最大的 PROCESSES 的两倍,最后为系统上的每个 Oracle 数据库加上 10。
       使用以下计算式确定可以在 Linux 系统上分配的信号的最大数量。它将是以下两者中较小的一个值:
       SEMMNS — 或 — (SEMMSL * SEMMNI) 。
       

SEMOPM 内核参数用于控制每个 semop 系统调用可以执行的信号操作数。

       系统调用(函数)能够使用一个 semop 系统调用完成多个信号的操作。
       一个信号集可以拥有每个信号集中最大数量的 SEMMSL,
       因此建议将 SEMOPM 设置为等于 SEMMSL。
       建议将 SEMOPM 设置为不小于 100。
      

SEMMNI 内核参数用于控制整个 Linux 系统中信号集的最大数量。

       Oracle 建议将 SEMMNI 设置为不小于 100。

设置信号内核参数
我想更改(增加)的唯一参数是 SEMOPM。所有其他的缺省设置可以完全满足我们的示例安装。
* 您可以通过直接更改 /proc 文件系统,不必重新启动机器而更改所有信号设置的缺省设置。该方法将以下内容置于 /etc/rc.local 启动文件中:
# echo "250 32000 100 128" > /proc/sys/kernel/sem
* 您还可以使用 sysctl 命令来更改所有信号设置的值:
# sysctl -w kernel.sem="250 32000 100 128"
* 最后,可以通过将内核参数插入到 /etc/sysctl.conf 启动文件中以使此更改永久有效:
# echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf

fs.file-max

       进程可以打开的文件句柄的最大数量
       文件句柄数,表示在Linux系统中可以打开的文件数量。
       # cat /proc/sys/fs/file-max
       32768
       Oracle 建议将整个系统的文件句柄值至少设置为 65536。

net.ipv4.ip_local_port_range

       专用服务器模式下与用户进程通信时分配给用户的IPv4端口范围

net.core.rmem_default = 262144

       接收缓冲区的大小


net.core.rmem_max = 262144

       接收缓冲区的最大值


net.core.wmem_default = 262144

       发送缓冲区的大小


net.core.wmem_max = 262144

       发送缓冲区的最大值


fs.aio-max-nr = 1048576   

       文件系统最大异步io

linux limits.conf文件


       配置 limits.conf 文件实际是 Linux PAM
       (插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,
       而且只针对于单个会话。
       要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。
       查看 /etc/pam.d/login 文件中有:
       session required /lib/security/pam_limits.so     
       可以在/etc/security/limits.conf文件中定义限制,也可用Ulimit命令设置。

username|@groupname    type   resource

username|@groupname

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

type   

       soft 指的是当前系统生效的设置值。
       hard 表明系统中所能设定的最大值。
            soft 的限制不能比har 限制高。
       - 就表明同时设置了 soft 和 hard 的值。

resource     

       noproc - 进程的最大数目
       nofile - 打开文件的最大数目
       core   - 限制内核文件的大小
       date   - 最大数据大小  
       fsize  - 最大文件大小

       stack  - 最大栈大小


/etc/sysconfig/network



      这个档案主要的功能在于设定『主机名称( HOSTNAME )与启动 Network 与否』!
      一般来说,如果您变动过这个档案内的主机名称时,请务必重新开机 (reboot),
      因为这样才会让系统上面所有的程式都使用最新设定的主机名称。

      #cat /etc/sysconfig/network
      NETWORKING=yes
      NETWORKING_IPV6=no
      HOSTNAME=
      GATEWAY=

/etc/sysconfig/network-scrips/ifcfg-eth0


      这个档案的内容即是设定网路卡参数的档案啦。
      里面可以设定『network, IP, netmask, broadcast, gateway, 开机时的 IP 取得方式( DHCP, static ), 是否在开机的时候启动』等等。
      至于 ifcfg-eth0 指的是第一块网路卡,而第二块网路卡为 ifcfg-eth1 以此类推。

    

/etc/hosts

      
      hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,以ASCII格式保存在“/etc”目录下
      不同的linux版本,这个配置文件也可能不同。比如Debian的对应文件是/etc/hostname
      hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。
      
      在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。
      通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问。
      比如文件中有这样的定义 192.168.1.100 linumu100 test100
      假设192.168.1.100是一台网站服务器,在网页中输入http://linumu100或http://test100就会打开192.168.1.100的网页。
      
      一般情况下hosts文件的每行为一个主机,每行由三部份组成,每个部份由空格隔开。其中#号开头的行做说明,不被系统解释。
      IP地址 主机名/域名
      第一部份:网络IP地址;
      第二部份:主机名或域名;
      第三部份:主机名别名;
      当然每行也可以是两部份,即主机IP地址和主机名;比如 192.168.1.100 linmu100。
      
      主机名(hostname)和域名(Domain)的区别:
      主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应ip;
      域名通常在internet上使用,但如果本机不想使用internet上的域名解析,这时就可以更改hosts文件,加入自己的域名解析。
      
      显示主机IP:
      # hostname -i

      192.168.1.100

/etc/yum.repos.d/

 
      来自:http://www.2cto.com/os/201303/194201.html
      配置文件:/etc/yum.repos.d/CentOS-Base.repo,也可以此目录下建别的以.repo后缀的文件就行
      [base]:代表容器的名字!中刮号一定要存在,里面的名称则可以随意取。但是不能有两个相同的容器名称, 
      否则 yum 会不晓得该到哪里去找容器相关软体清单档案。
         name:只是说明一下这个容器的意义而已,重要性不高!
         mirrorlist=:列出这个容器可以使用的映射站台,如果不想使用,可以注解到这行;
         baseurl=:这个最重要,因为后面接的就是容器的实际网址! mirrorlist 是由 yum 程式自行去捉映射站台, 
                 baseurl 则是指定固定的一个容器网址!我们刚刚找到的网址放到这里来啦!
         enable=1:就是让这个容器被启动。如果不想启动可以使用 enable=0 喔!
         gpgcheck=1:还记得 RPM 的数位签章吗?这就是指定是否需要查阅 RPM 档案内的数位签章!0表示不检测。
         gpgkey=:就是数位签章的公钥档所在位置!使用预设值即可 www.2cto.com

/etc/ntp.conf


http://hi.baidu.com/binsil/item/a6e2c54e95e85b2010ee1e91 

1.查看操作系统ntp的安装信息。

       [root@rac1 archive2]# rpm -qa | grep ntp
       ntp-4.2.0.a.20040617-4.EL4.1
       chkfontpath-1.10.0-2


2.查看启动信息

       [root@rac1 archive2]# chkconfig --list
       默认情况下,启动操作系统不会启动这个服务。

       设置该服务随着操作系统启动时一起启动。

       [root@rac1 archive2]# chkconfig --level 35 ntpd on

 

3.配置ntp的配置文件

       [root@rac1 archive2]# vi /etc/ntp.conf

       restrict default ignore # 关闭所有的 NTP 要求封包
       restrict 127.0.0.1   # 开启内部递归网络接口 lo
       restrict 192.168.1.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。
       server 198.168.1.111   #198.168.1.111作为上级时间服务器参考
       restrict 198.168.1.111 #开放server 访问我们ntp服务的权限
       driftfile /var/lib/ntp/drift 
       broadcastdelay  0.008 #广播延迟时间#


4.启动服务进程

       [root@rac1 archive2]# /etc/init.d/ntpd start
       Starting ntpd: [  OK  ]

 

 

5.配置客户端

       [root@rac2 etc]# ntpdate 192.168.1.111

       [root@rac2 etc]# hwclock

       定15分钟同步一次

       [root@rac2 etc]# crontab -e

       15 * * * * ntpdate 192.168.1.111