centos6.X版本安装oracle11g

检查物理内存

Oracle公司要求安装Oracle11g的服务器,物理内存不能小于1G,否则无法进程安装。可以使用free -m命令查看物理内存。

检查swap分区

可以使用free -m命令查看swap的大小。如果swap分区太小,可以使用以下方法增加swap大小:

用root执行:

dd if=/dev/zero of=/var/swap bs=1M count=2048

意思是创建/var/swap文件,大小为2G(共计2048个大小为1M的块)的swap文件,该文件的大小可以按照实际需求调整。

用root执行:

mkswap /var/swap

意思是创建swap空间

用root执行:

swapon /var/swap

意思是启用这个swap文件

修改/etc/fstab文件,在末尾添加

/var/swap     swap     swap    defaults 0 0

这样每次开机,系统都会自动启用这个swap文件

检查主机名

使用hostname命令可以显示主机名,请与/etc/sysconfig/network文件中的HOSTNAME记录和/etc/hosts文件中的127.0.0.1这一行中的记录进行核对,如果三个地方的主机名不一致,将来会在用netca对oracle进行网络配置的时候报错。如果需要修改主机名,也是在这三处进行设置,使用root执行:

hostname  新主机名

vi /etc/sysconfig/network 将HOSTNAME设置为新主机名

vi /etc/hosts,第一行末尾增加新主机名,如:

127.0.0.1 localhostlocalhost.localdomain 新主机名

检查系统时间

使用date -R命令输出系统时间,输出如下:

root@rhel6 ~]# date -R

Mon, 22 Sep 2014 16:52:22 +0800

请注意,如果最后的一列不是+0800,说明安装系统的时候时区选择的不对,使用root执行下面命令进行修复:

cp -f /usr/share/zoneinfo/Asia/Shanghai     /etc/localtime

如果需要调整系统时间,使用date–s 命令后面加需要设置的时间,例如:

date -s '20140922 17:00:00'

然后执行

hwclock –w

修改X-server访问权限

当我们执行oracle安装程序./runInstaller的时候,这个程序作为一个X client,接入到我们执行语句的Xmanager,Xmanager就是一个X server,用来显示X client的界面。默认情况下Linux上的程序(X client)只会在默认的DISPLAY上进行显示输出。默认的DISPLAY为:

DISPLAY=:0.0

也就是服务器本机的Xserver。如何将界面显示到Xmanager的X server呢?两个办法,一种是修改DISPLAY,用oracle用户执行:

DISPLAY=<你运行Xmanager的主机IP>:0.0;export DISPLAY;

另外一种就是完全放开限制,用root执行

xhost +

推荐第二种方法,设置更简单。如果你使用的远程控制控制软件没有Xserver功能(如putty、SecureCRT),又或者你没有通过上面两种方法设置X server的访问权限,那么你在执行./runInstaller的时候会得到这样一个报错:

xhost: unable to open display

检查selinux

安装oracle11g的服务器需要关闭SELinux,查看/etc/selinux/config文件,如果发现:

SELINUX=enforcing

说明系统已经启用了SELinux,请将该配置修改为

SELINUX=disabled

修改完毕后,需要重启服务器才能生效。

可以用setenforce 0命令立刻关闭SELINUX。

关闭不需要的服务

服务器如果打开太多服务,不但会占用服务器资源,增加服务器负担,还会带来安全问题,用root执行下列语句关闭一些平时用不到的服务(包括Linux防火墙服务iptables):

chkconfig --level 345 acpid off;

chkconfig --level 345 auditdoff;

chkconfig --level 345 avahi-daemon off;

chkconfig --level 345 bluetooth off;

chkconfig --level 345 cpuspeed off

chkconfig --level 345 cups off;

chkconfig --level 345cups-config-daemon off;

chkconfig --level 345 gpm off;

chkconfig --level 345 hidd off;

chkconfig --level 345 httpd off;

chkconfig --level 345 iiim off;

chkconfig --level 345ip6tables off;

chkconfig --level 345iptables off;

chkconfig --level 345irqbalance off

chkconfig --level 345 iscsioff;

chkconfig --level 345 iscsidoff;

chkconfig --level 345 isdn off;

chkconfig --level 345 kdump off;

chkconfig --level 345 kudzu off;

chkconfig --level 345 libvirtd off;

chkconfig --level 345 mcstrans off;

chkconfig --level 345mdmonitor off;

chkconfig --level 345 nfslock off;

chkconfig --level 345 sendmail off;

chkconfig --level 345 smartd off

chkconfig --level 345 smb off

chkconfig --level 345 squid off

chkconfig --level 345 tog-pegasus off;

chkconfig --level 345 yum-updatesd off;

service cpuspeed stop

service iptables stop

service irqbalance stop

service xinetd reload

chkconfig --level 345 pcmcia off;

chkconfig --level 345 pcscd off;

chkconfig --level 345 postfixoff;

chkconfig --level 345 rhnsd off;

请注意,如果系统输出

error reading information on servicesmb: No such file or directory

这样的提示,说明你在安装操作系统的时候就没有安装这些服务,忽略这些提示即可。

安装ORACLE需要的包

yum install  -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gccgcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 libgcc*.i686 libgcclibstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaiolibaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBCunixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp ksh

系统内核参数

   首先需要配置的内核参数,是/etc/sysctl.conf,典型的配置如下:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr=1048576

net.ipv4.ip_local_port_range = 900065500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

vm.swappiness=40

vm.vfs_cache_pressure=200

vm.min_free_kbytes=409600

修改完参数后,需要用root执行

sysctl -p

检查修改的配置是否有效,并使其立即生效。

里面参数的具体意义如下:

kernel.shmmax = 2147483648 #单个进程使用的共享内存段的最大值,单位是字节,一般取物理内存大小的一半。32位操作系统的最大值是4294967295

(也就是4G-1)

kernel.shmmni = 4096 #整个系统共享内存段的最大数目,默认是4096

kernel.shmall = 2097152 #默认值是2097152系统可以使用的共享内存的总量,以页(PAGESIZE)为单位,内存页的大小可以通过getconf PAGESIZE命令来查看,默认是4096。其值应不小于shmmax/page_size

kernel.sem = 250 32000 100 128 #信号量方面的设置,分别是:每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数

fs.file-max = 65536 #系统中所允许的文件句柄最大数目

net.ipv4.ip_local_port_range = 102465000 #当程序打开随机端口进行对外连接时,程序可使用的IPv4端口范围

net.core.rmem_default = 1048576 #套接字接收缓冲区大小的默认值

net.core.rmem_max = 1048576 #套接字接收缓冲区大小的最大值

net.core.wmem_default = 262144 #套接字发送缓冲区大小的默认值

net.core.wmem_max = 262144 #套接字发送缓冲区大小的最大值

vm.swappiness=40 #默认是60,设置为0的时候表示最大限度使用物理内存,然后才是swap空间,100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。推荐设置为20-40,但不要设置为0,否则程序容易被内核KILL掉。

vm.vfs_cache_pressure=200 #默认值:100 控制内核回收再利用用于缓存目录与inode对象的内存的趁势,默认100表示内核以平等的速度去考虑pagecache和swapcache的回收再利用。减小它,会触发内核保持目录与inodes的缓存内存。增大它,会触发内核回收再利用目录与inodes的缓存内存

vm.min_free_kbytes=409600 #默认值 3519 这个参数值用来强制linux虚拟内存保留最小值的空闲

fs.aio-max-nr=3145728 #文件系统最大异步io数量

需要注意的是,shmmax这个参数在系统安装完毕后有个默认值,可以按照物理内存的一半进行设置。如果shmmax/ PAGESIZE 大于 shmall,则需要按照实际值增大shmall。上面的配置,PAGESIZE* shmall = 8G,也就是说,在物理内存是16G以上的时候,需要修改shmall。
总结:shmmax需要修改为物理内存的一半,物理内存大于16G的时候,需要同时调整shmall,shmall应该设置为大于等于 (物理内存/2)/4096。使用ipcs  -sa命令可以看到共享内存段个数
勘误:有的文档说“三个参数的关系必须是(shmall* shmmni>= shmmax)”其实是不正确的,shmmni恰巧等于PAGESIZE,都是4096,但它们完全是两码事,千万不要混淆。正确的算法应该是shmall* PAGESIZE>= shmmax
勘误:有的文档说“shmmax应该设置为物理内存的一半减一”其实是不正确的,物理内存的一半即可,不需要减一。他们可能混淆了shmmax 在32位操作系统的最大值是4294967295(也就是4G-1)

修改文件进程数的限制

Oracle数据库在运行的时候会打开大量的文件和进程,可以通过ulimit–a命令看到系统当前对同时打开的文件数、进程数、栈大小、占用CPU时间等限制。Oracle在安装和运行的时候,要求系统的这些限制必须放大到一定范围内,因为系统的默认值是非常小的。需要修改这3个文件:

1.修改/etc/pam.d/login文件,

vi /etc/pam.d/login

在文件尾部添加如下内容:

session required pam_limits.so

注意:有的文档上说,添加的内容是sessionrequired /lib/security/pam_limits.so。这是在32位系统上用的,如果是64位系统,需要修改为sessionrequired /lib64/security/pam_limits.so。一旦64位系统设置的路径错误的设置为lib,会导致服务器无法登录。其实没必要这么麻烦,直接写pam_limits.so就行,系统会自动选择正确的文件。

2.修改/etc/security/limits.conf文件:

vi /etc/security/limits.conf

在文件尾部添加如下内容:

*      soft    nproc    16384

*      hard    nproc    16384

*      soft    nofile    65536

*      hard    nofile    65536

*      soft     stack    10240

*      hard    stack    32768

上面的内容,就是文件数、进程数、栈大小的设置。注意,如果服务器上只运行oracle数据库,可以把前面的星号替换为oracle,如果需要同时运行恒生的中间件,建议保留为星号。

3.修改/etc/security/limits.d/90-nproc.conf文件:

这个配置文件是RHEL6新增的,如果这个配置文件不修改,/etc/security/limits.conf中的配置就不会生效。

vi /etc/security/limits.d/90-nproc.conf

把 *          soft    nproc    1024 这一行,在开头加#号注释掉,如果不注释,普通用户可以开启的进程就被限制为1024个。也可以使用下面命令快速修改:

sed -i 's/^*/#*/g'/etc/security/limits.d/90-nproc.conf

勘误:limits.conf文件实际是 Linux PAM(插入式认证模块,Pluggable Authentication Modules)中 pam_limits.so 的配置文件,而且只针对于单个会话,也就是说,如果/etc/pam.d/login中不加载pam_limits.so,那么limits.conf文件中的配置是不生效的。有的文档上只修改limits.conf,没有修改login文件,这是不对的。以上3个文件请务必同时修改

勘误:如果在limits.conf中配置了文件进程数的限制,那就不需要再用ulimit命令来设置了。有的文档会在/etc/profile或者oracle用户的.bash_profile中使用ulimit命令来设置,这完全是多余的。/etc/profile不需要修改,.bash_profile请参考下面的章节。

增加oracle用户和组

使用root用户执行如下语句,会添加oinstall、dba两个用户组,添加oracle用户,创建oracle目录并授权,使用passwd命令来设置oracle的密码:

groupadd  oinstall

groupadd  dba

useradd -g oinstall -G dba oracle

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown -R oracle.oinstall  /u01

mkdir -p /u02/oradata/

chown -R oracle:oinstall /u02

chown-R oracle:oinstall /home/oracle/
echo 'oracle' | passwd oracle --stdin

设置oracle用户配置文件

使用vi~oracle/.bash_profile命令来编辑oracle用户的登录配置文件,典型配置如下:

if [ -f ~/.bashrc ]; then

      .~/.bashrc

fi

ORACLE_BASE=/u01/app/oracle; exportORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;exportORACLE_HOME

ORACLE_SID=orcl;export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; exportPATH

NLS_LANG="SIMPLIFIEDCHINESE_CHINA.ZHS16GBK"; export NLS_LANG

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;exportLD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH

请将ORACLE_SID修改为实际的SID值,ORACLE_SID的长度不能大于8个字符。注意:修改完.bash_profile配置文件之后,oracle用户需要重新SSH登录,所设定的环境变量才会真正生效,当然也可以执行以下命令使.bash_profile配置文件中的内容立即生效: source .bash_profile或者. .bash_profile

安装oracle文件

Oracle的安装包要跟操作系统的位数一致,32位的系统只能安装32位的oracle,64位的操作系统只能安装64位的oracle,不能混淆。推荐将oracle的安装包放到oracle的主目录/home/oracle或者/u01目录,可以避免一些权限问题。使用下面命令解压Oracle11g的安装包:

32位安装包:

unzip p13390677_112040_LINUX_1of7.zip

unzip p13390677_112040_LINUX_2of7.zip

64位安装包:

unzip p13390677_112040_Linux-x86-64_1of7.zip

unzip p13390677_112040_Linux-x86-64_1of7.zip

就解压完成了,cd 到database子目录,用oracle用户执行下面命令,就可以开始图形化安装了:

./runInstaller

图形安装自行参考自身需要













猜你喜欢

转载自blog.csdn.net/yangzhyu/article/details/79928132