LINUX ORACLE 11G 安装注意事项
装前硬件准备建议:
Swap分区必须要3G以上,最好在安装redhat linux as 4 时就分配好3G以上的空间.
硬盘不少于10G吧
安装前软件准备建议:
Redhat linux as 4
Oracle11g linux版
在安装Redhat linux as 4时尽量多的安装与程序开发相关的程序包,这样可以免去后面需要单个查找安装程序包的麻烦.
在安装过程中涉及的几个文件位置及用途
/etc/sysctl.conf (修改内核参数)
/etc/security/limits.conf (shell对oracle用户的限制)
/etc/profile (系统相关的环境变量)
/opt/oracle/.bash_profile (oracle用户相关的环境变量)
第一步:创建oracle安装相关用户组及用户:
安装oracle必须先创建oinstall,dba组和oracle用户,这点与windows不同,在windows上安装oracle会自动创建的这些用户组和用户的.
创建用户组和用户的命令如下(用root身份):
[root@linuxoa pafirc] groupadd oinstall
[root@linuxoa pafirc] groupadd dba
[root@linuxoa pafirc] useradd –m –d /opt/oracle –g oinstall –G dba oracle
groupadd oinstall 是创建用户组,用来做oracle的安装和维护工作
useradd 是创建用户
-m –d /opt/oracle 是把/opt/oracle目录作为oracle用户的主目录或登录默认目录
–g oinstall 是表示oracle用户的初始组为oinstall
–G dba 是表示oracle用户同时属于dba组,做数据维护,和数据库管理工作.
创建oracle用户的密码:命令如下
[root@linuxoa pafirc] passwd oracle
根据提示,输入2次密码就可以了.
为了让oinstall用户组对oracle安装目录有写权限,需要做如下修改
[root@linuxoa pafirc] chmod –R 775 /opt/oracle
第二步:修改内核参数
如果内核参数配置的不对,在”产品特定先决条件检查”中也会被检测出来,也需要修改内核参数.在/etc/sysctl.conf中做如下修改.
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
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=4194304
net.core.wmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_max=4194304
配置完成后,执行下面的命令,使配置立刻生效:
[oracle@linuxoa pafirc] /sbin/sysctl –p /ect/sysctl.conf
第三步: 设置Shell对于oracle用户的限制:
这一步需要修改/etc/security/limits.conf文件,添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
为了使上述文件生效,需要修改/etc/pam.d/login文件,在这个文件中添加以下内容:
session required /lib/security/pam_limits.so
设置oracle用户的文件权限掩码,并添加特殊的shell限制,通过配置/etc/profile完成,在后面追加如下内容
if [$USER = "oracle"]; then
if [$SHELL = "/bin/ksh"]; then
ulimit -p 16384
ulimit -p 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
注意:
在vi中添加和图形编辑器中添加的区别,如果是在vi中添加,需要在$USER前面加上转义字符”\”,变成 if [\$USER = "oracle"]; then
第四步:设置oracle相关环境变量:
以oracle用户身份登录,修改当前用户下的.bash_profile(这是用户主目录下的一个隐藏文件)
ORACLE_BASE=/opt/oracle;export ORACLE_BASE
ORACLE_HOME=/opt/oracle/app/oracle/product/11.1.0/db_1; export ORACLE_HOME(注意:这个2行应该在一行中)
ORACLE_SID=orcl;export ORACLE_SID
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin;export PATH
Lisner配置:Netca
Database配置:dbca
Tns 配置:netmgr
最后关于几个错误,安装过程中太多了:只记下这几个:(
ORA-12514: TNS: listener does not currently know of service requested in connect descriptor
Tnsping orcl
Sqlplus /nolog
Connect ./ as sysdba
Select * from v$instance
Startup
/home/oracle/app/oracle/product/network/admin>lsnrctl start
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 14-7月 -2009 01:51:48
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /home/oracle/product/bin/tnslsnr: please wait...
TNS-12537: TNS:connection closed
TNS-12560: TNS:protocol adapter error
TNS-00507: Connection closed
Linux Error: 29: Illegal seek
更改了主机名,更改过hosts文件。首先查看$ORACLE_HOME/network/admin/listener.ora 文件中的host是多少。
另外需在/etc/hosts文件中查看是否有
127.0.0.1 localhost
这条记录,如果后边的localhost被改为了其他也需增加这条记录。如你改为了
127.0.0.1 redhatas
这时增加进去这条记录就是由两条记录:
127.0.0.1 redhatas
127.0.0.1 localhost
附一下linux as 5 64bit安装oracle 10g的报错:
错误一:
/tmp/OraInstall2007-12-30_02-16-11PM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
原因是:缺少支持打印的图形化动态链接库libXp.so.6
这个错误是由于缺少系统安装包,在RHEL5以前的版本,可以安装xorg-x11-deprecated-libs包即可,这个安装包可以在系统光盘第三张盘中找到(对于redhat as4.2以前,redhat as4.4是在第四张安装光盘)
我下载的文件如下:
xorg-x11-deprecated-libs-6.8.2-31.i386.rpm
错误二:
Exception :java.lang.UnsatisfiedLinkError:/usr/java/j2sdk1.4.2_06/jre/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory
这个错误是也是由于缺少系统安装包造成的,只需安装XFree86-libs包即可,这个安装包可以在系统光盘中找到。
在上面两个错误如果出现在redhat as5版本中,解决如下:
在RHEL5中上面的包被libXp所取代了,因此rpm -ivh libXp-1.0.0-8.i386.rpm将包打上后问题即可解决。
错误三:
error while loading shared libraries: libstdc++-libc6.1-1.so.2
只用执行如下操作ln -s libstdc++-libc6.2-2.so.3 libstdc++-libc6.1-1.so.2