在Linux enterprise 5下安装Oracle 10g.docx
《在Linux enterprise 5下安装Oracle 10g.docx》由会员分享,可在线阅读,更多相关《在Linux enterprise 5下安装Oracle 10g.docx(8页珍藏版)》请在冰豆网上搜索。
在Linuxenterprise5下安装Oracle10g
在Linux enterprise 5下安装Oracle 10g
一、安装系统
首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2G则swap分区设置为与内存大小一样。
在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。
#vi/etc/selinux/config
修改
SELINUX=disabled
为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作
二、安装Oracle前的系统准备工作
1.检查需要的软件包
使用rpm-qa|grep软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:
FromRedHatAS5Disk1(32Bit)
#rpm-Uvhsetarch-2*
#rpm-Uvhmake-3*
#rpm-Uvhglibc-2*
#rpm-Uvhlibaio-0*
FromRedHatAS5Disk2(32Bit)
#rpm-Uvhcompat-libstdc-33-3*
#rpm-Uvhcompat-gcc-34-3*
#rpm-Uvhcompat-gcc-34-c-3*
#rpm-Uvhgcc-4*
#rpm-UvhlibXp-1*
FromRedHatAS5Disk3(32Bit)
#rpm-Uvhopenmotif-2*
#rpm-Uvhcompat-db-4*
如果使用DVD安装介质的话,会很方便。
2.修改Linux发行版本信息
由于Oracle10g发行的时候,RedHatEnterpriseLinux5没有发行,所以Oracle10g并没有对RedHatEnterpriseLinux5确认支持,我们有两种方法可以让Oracle10g支持RedHatEnterpriseLinux5。
方法一:
我们需要手工修改Linux的发行注记,让Oracle10g支持RedHatEnterpriseLinux5。
编辑/etc/redhat-release文件
#vi/etc/redhat-release
将其中的内容RedHatEnterpriseLinuxServerrelease5(Tikanga)修改为RedHatEnterpriseLinuxASrelease4(NahantUpdate4)
方法二:
还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle10g支持RedHatEnterpriseLinux5,修改方法如下:
#viinstall/oraparam.ini
在其中的CertifiedVersions段落增加redhat-5
#[CertifiedVersions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
3.修改系统内核参数
#vi/etc/sysctl.conf
kernel.shmall=2097152 // 该参数表示系统一次可以使用的共享内存总量(以页为单位)。
缺省值就是2097152,通常不需要修改
kernel.shmmax=2147483648 // 该参数定义了共享内存段的最大尺寸(以字节为单位)。
缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
kernel.shmmni=4096 // 这个内核参数用于设置系统范围内共享内存段的最大数量。
该参数的默认值是4096。
通常不需要更改
kernel.sem=25032000100128 // 表示设置的信号量
fs.file-max=65536 // 表示文件句柄的最大数量。
文件句柄设置表示在linux系统中可以打开的文件数量
net.ipv4.ip_local_port_range=102465000
net.core.rmem_default=262144 // 默认的接收窗口大小
net.core.rmem_max=262144 // 接收窗口的最大大小
net.core.wmem_default=262144 // 默认的发送窗口大小
net.core.wmem_max=262144 // 发送窗口的最大大小
修改好内核参数后,执行如下命令使新的设置生效
#/sbin/sysctl-p
4.创建Oracle用户、组、安装目录
(1)创建Oracle用户组
#groupaddoinstall
#groupadddba
(2)创建Oracle用户
#useradd-m-goinstall-Gdbaoracle
(3)设置Oracle用户口令
#passwdoracle
(4)创建Oracle安装目录以及数据存放目录
#mkdir-p/DBSoftware/app/oracle
#mkdir-p/DBData/oradata
(5)修改目录权限
#chown-Roracle:
oinstall/DBSoftware/app/oracle//DBData/oradata/
#chmod-R755/DBSoftware/app/oracle//DBData/oradata/
5.添加以下内容到/etc/security/limits.conf
#vi/etc/security/limits.conf
oraclesoftnproc2047
oraclehardnproc16384
oraclesoftnofile1024
oraclehardnofile65536
6.添加以下内容到/etc/pam.d/login
#vi/etc/pam.d/login
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
7.添加以下内容到/etc/profile
#vi/etc/profile
if[$USER="oracle"];then
if[$SHELL="/bin/ksh"];then
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
fi
8.配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
9.配置oracle用户环境变量
#su-oracle
$vi~/.bash_profile
增加如下内容:
exportORACLE_BASE=/DBSoftware/app/oracle //上面创建的Oracle安装文件夹
exportORACLE_SID=orcl
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportPATH=$PATH:
$ORACLE_HOME/bin
exportLD_LIBARY_PATH=$ORACLE_HOME/lib
exportPATH
umask022
保存后使用如下命令,使设置生效:
$source~/.bash_profile
三、安装Oracle,并进行相关设置
1.解压缩安装文件
Oracle的安装包有这样几种格式:
(1)zip
这种格式最好解压缩,直接使用命令unzip文件名即可
(2)cpio.gz
这种格式有这样几种解压缩方式
#zcatXXXX.cpio.gz|cpio-idmv
#gunzipXXXX.cpio.gz 解压出XXXX.cpio文件
#cpio-idvm解压缩完成后,设置oracle帐户可以操作安装文件所在的目录
chown-Roracle:
oinstall“安装文件所在目录”
2.用oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:
$./runInstaller
如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:
#exportDISPLAY=:
0.0
#xhost+ (此时SELINUX一定要已经禁用了,否则会报错。
)
$./runInstaller
出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。
安装过程中,需要使用root权限执行两个脚本。
3.安装完成后,将/etc/redhat-release文件中的内容修改回RedHatEnterpriseLinuxServerrelease5(Tikanga)
4.创建监听以及创建数据库
(1)创建监听程序
使用Oracle提供的NETCONFIGURATIONASSISTANT创建TNS监听
$netca
基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号
TNS监听创建完成后可以使用如下命令进行检查:
#netstat-atln 检查监听端口是否打开
$lsnrctlstatus 检查TNS监听状态
确认监听已经成功启动后,即可执行DatabaseConfigureAssistant进行数据库的创建,执行命令如下:
$dbca
在创建数据库的过程中,建议将数据库的字符集设置为UnicodeUTF-8,防止出现乱码。
四、数据库的启动脚本(本人不建议用这种方法,测试未通过)
#vi/etc/rc.d/init.d/oracle
=====Script====
#!
/bin/bash
#
#chkconfig:
35951
#description:
initscripttostart/stoporacledatabase10g,TNSlistener,EMS
#matchthesevaluestoyourenvironment:
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
exportORACLE_TERM=xterm
exportPATH=/u01/app/oracle/bin:
$ORACLE_HOME/bin:
$PATH
exportORACLE_SID=demo1
exportDISPLAY=localhost:
0
exportORACLE_USER=oracle
#seehowwearecalled:
case$1in
start)
su-"$ORACLE_USER"< lsnrctlstart
sqlplus/nolog< connect/assysdba
startup
EOS
emctlstartdbconsole
EOO
touch/var/lock/subsys/$scriptname
;;
stop)
su-"$ORACLE_USER"< lsnrctlstop
sqlplus/nolog< connect/assysdba
shutdownimmediate
EOS
emctlstopdbconsole
EOO
rm-f/var/lock/subsys/scriptname
;;
*)
echo"Usage:
$0{start|stop}"
;;
esac
===========endofscript==============
授权:
chownroot.root/etc/rc.d/init.d/oracle
修改文件属性:
chmod755/etc/rc.d/init.d/oracle
以后启动/关闭Oracle可以使用如下命令操作:
#serviceoraclestart // 启动监听、数据库以及em
#serviceoraclestop // 关闭监听、数据库以及em
推荐方法
1)、以root编辑/etc/oratab,类似orcl:
/u01/product/10.2.0/db_1:
N这种格式,其中orcl是你的ORACLE_SID,/u01/product/10.2.0/db_1是ORACLE_HOME,这里需要把N改为Y,即orcl:
/u01/product/10.2.0db_1:
Y这样。
2)、以oracle编辑$ORACLE_HOME/bin/dbstart,找到其中第78行:
ORACLE_HOME_LISTNER=改为你自己的路径,或者可以改成ORACLE_HOME_LISTNER=$ORACLE_HOME
保存脚本,以oracle用户运行dbshut和dbstart看是否能关闭、启动数据库。
如果不能,一般是参数设置,根据报错找到对应位置更改。
3)、利用rc.local直接把dbstart加到rc.local中,实现开机自动启动。
这里需要注意的是必须以oracle启动该脚本。
用root编辑/etc/rc.local,添加下面一行:
su-oracle-c"/dbsoftware/app/oracle/product/10.2.0/db_1/bin/dbstart"
至此,用reboot重启主机,可以自动启动oracle.
五、常见问题(FAQ)
错误1
在./runInstaller运行时出现,
错误描述:
Exceptioninthread"main"java.lang.UnsatisfiedLinkError:
/tmp/OraInstall2007-09-25_10-54-49PM/jre/1.4.2/lib/i386/libawt.so:
libXp.so.6:
cannotopensharedobjectfile:
Nosuchfileordirectory
atjava.lang.ClassLoader$NativeLibrary.load(NativeMethod)
atjava.lang.ClassLoader.loadLibrary0(UnknownSource)
atjava.lang.ClassLoader.loadLibrary(UnknownSource)
atjava.lang.Runtime.loadLibrary0(UnknownSource)
atjava.lang.System.loadLibrary(UnknownSource)
atsun.security.action.LoadLibraryAction.run(UnknownSource)
atjava.security.AccessController.doPrivileged(NativeMethod)
atsun.awt.NativeLibLoader.loadLibraries(UnknownSource)
atsun.awt.DebugHelper.(UnknownSource)
atjava.awt.Component.(UnknownSource)
这个错误的出现原因是因为RatHatEnterpriseLinux5标准安装时,缺少libXp-1.0.0-8.i386.rpm包的缘故,我安装时尽管选的是全安装,还是出现这个问题。
在光盘的Server文件下找到libXp-1.0.0-8.i386.rpm,在该目录下使用命令:
错误2
在oracleUniversalInstaller:
Install过程中出现,
错误描述:
ExceptionString:
Errorininvokingtarget'all_no_orclihsodbc'ofmakefile'/oracle/oracle/product/10.2.0/rdbms/lib/ins_rdbms.mk'.See'/oracle/oraInventory/logs/installActions2007-09-25_03-42-11AM.log'fordetails.
ExceptionSeverity:
1
这个原因也是由于缺少相应的包compat-libstdc++-33-3.2.3-61.i386.rpm,手动安装吧。
进到光盘的Sever目录下,运行下面命令:
[root@localhost Server]#rmp-ivhcompat-libstdc++-33-3.2.3-61.i386.rpm