一、安装openSuSE 11.0(查看空间里的另一篇日志)。
二、准备
1、检查是否安装C/C++编译器工具,命令:gcc --version
如果没有安装,则用YaST进行安装。
2、检查unixODBC-devel和sysstat是否安装, 命令:#rpm -aq unixODBC-devel sysstat
如果没有安装,请用YaST进行安装。
3、检查SUSE版本是否正确,命令:# cat /etc/SuSE-release
4、检查/etc/hosts,注释掉127.0.0.2,并把服务器设置的IP类似地设置上。命令:#vi /etc/hosts
5、语言最好用GB2312中文,防止中文操作乱码,命令:#vi /etc/sysconfig/language
6、如果在安装Oracle过程中,安装界面乱码,则可以先使用命令:#export LC_ALL=C
7、检查orarun是否安装,命令:rpm -qa | grep orarun。如果没有安装,请登录http://ftp.novell.com/partners/oracle/sles-10/,下载相应版本的程序包orarun-***.rpm,并安装,安装命令:#rpm -ivh orarun-***.rpm。
本人的服务器是openSuSE 11.0的,所以下载安装orarun.rpm(从readme中获知)。
注意:我在这里安装的时候,还是发生了很多不愉快:
1>命令:#rpm -ivh orarun.rpm 发生错误:无法访问 /var/lib/gdm/.gvfs: 权限不够,找到它#ls /var/lib/gdm/.gvfs,发现离奇的事情:
这个文件在openSuSE安装时有错误?网上发现有人这么解释:GNOME虚拟文件系统,不用动它。出自:http://www.linuxdiyf.com/viewarticle.php?id=205180
所以,我果断地认为是不是安装的orarun_****.rpm版本选择错误,很快尝试下来,下载的任何一个rpm安装都报这个错误。
2>后来,从http://der.iteye.com/blog/196425文章中,发现openSuSE下rpm可以双击安装,速尝试,果然会自动启动YaST2进行安装检测,不过报错了:在其他地方被占用,不能打开。果断重启openSuSE,root账户登录桌面,找到orarun.rpm,双击,安装,一闪而过。
这下应该说明已经安装成功了吧!!!再进行其他几项检测:
orarun的安装会在/etc/profile.d/下生成oracle.csh和oracle.sh
orarun的安装会在/etc/sysconfig/下生成oracle
8、检查一下/etc/sysconfig/oracle下RMEM_MAX与RMEM_DEFAULT的值是否为4194304(老版本的是262144),若不是,请更新一下,命令:# vi /etc/sysconfig/oracle
9、创建用户组oinstall、dba,创建用户oracle,归属于dba,oinstall组。
10、创建安装目录:
# mkdir -p /usr/local/Oracle/oracle-11g/product/11.2/db/ 11、设置环境变量,命令:#vi /home/oracle/.bash_profile (suse用户下是.profile)
12、设置limits.conf,命令:# vi /etc/security/limits.conf
加入内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
13、设置login,命令# vi /etc/pam.d/login
加入内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
14、据http://www.linuxidc.com/Linux/2011-07/38732.htm文章指出,安装之前,还要检查一些依赖的安装项,但另一篇http://www.huomo.cn/database/article-19f43.html文章中未提及。
1)依赖的安装包,命令:#rpm -q binutils gcc gcc-c++ glibc glibc-devel ksh-93t libstdc++-devel libstdc++33 libstdc++43-devel libaio libaio-devel libgcc43 make sysstat unixODBC-32bit unixODBC-devel-32bit
未安装的程序包可以插入openSuSE 11.0安装光盘,从YaST2中搜索安装。
安装报错:
libstdc++ : RPM安装时,包不能访问 /var/lib/gdm/.gvfs:没有权限
unixODBC-32bit: RPM安装时,包不能访问 /var/lib/gdm/.gvfs:没有权限
网上搜索libstdc++33得到相关compat-libstdc++-33-3.2.3-61.x86_64.rpm,尝试下载安装,命令:# rpm -ivh compat-libstdc++-33-3.2.3-61.x86_64.rpm
又是这个错误,root登录桌面,双击rpm安装文件启动YaST2报错,任然无法安装,真是没辙了。先安装再说,毕竟报错是跟其他包冲突了。
2)依赖的设置项。
1>增加核心参数,命令:#vi /etc/sysctl.conf (需要root用户执行,su root)
增加内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6553600
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
执行命令以确认:
命令:#sysctl –p (作用:使/ect/sysctl.conf 更改立即生效)
命令:#chkconfig boot.sysctl on (作用:解决在系统重新启动之后不能自动读取刚才创建的文件的问题)
2>命令:# vi /etc/security/limits.conf
增加内容:(这个在安装orarun时自动增加了)
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
3>命令:# vi /etc/pam.d/login
增加内容:
if [$USER = "oracle"]; then
if [$SHELL = "/bin/ksh"]; then
ulimit –p 16384
ulimit –n 65536
else
ulimit –u 16384 –n 65535
fi
fi
三、安装Oracle
1、下载oracle,地址:http://www.oracle.com
2、解压,# unzip10201_database_linux32.zip
oracle11g有两个zip包,分别解压后,将第二个包里面的Component的内容移到第一个包的Component里面(BC比较后发现没有重复),否则安装过程中会提示无法打开一些文件。
3、安装详解:
1)以root身份打开另一个终端窗口,执行命令:
#xhost +
access control disabled, clients can connect from any host
#xhost + localhost
localhost being added to access control list
这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面。
2)安装,命令:#./runinstaller -ignoreSysPrereqs
在http://der.iteye.com/blog/196425文章中指出:以root身份更改/etc/profile.d/oracle.sh文件,命令:#vi /etc/profile.d/oracle.sh
3)再次安装,命令:./runinstaller -ignoreSysPrereqs 或者./runinstaller 问题依旧。
修改/etc/profile.d/oracle.sh:
修改/etc/profile.d/oracle.csh:
4)修改配置文件是为了跟oracle账户下的.profile文件中设置的环境变量保持一致,必须重启计算机或者执行脚本,使其生效。
5)如果发生--njni10错误,以root身份执行下面的命令:
#rm -f $ORACLE_HOME/install/make.logcd $ORACLE_HOME/bin
#./relink all > $ORACLE_HOME/install/make.log
6)再次执行,命令:#./runInstaller -ignoreSysPrereqs
7)