经过数天不懈的努力,LINUX历尽三次重装,ORACLE重装N次终于在LiNUXAS4 update6 x86_64 下安装好ORACLE10g R 2 (64位) 了。

下面把安装过程和大家分享一下,以免更多人像我一样花费大量的时间在莫名其妙的问题上。

首先要说明的是,官方也有相应的文档安装但是实际过程中,会有一些问题需要解决。

本文档参照了相关说明,旨在结合具体环境说明问题但水平原因可能还是没有说明白,欢迎大家提意见。Step1 安装RH LINUX AS4图形化安装,比较简单,为安装ORACLE注意a.SWAP分区要设的足够大,最好在2G以上b.安装包含的包要自选,开发包最好都钩上Step2 检查版本和需要的工具包该部分基本没什么问题。

uname -r

//内核版本rpm -q gcc make binutils openmotif glibc

//基本软件包,必须需要rpm -q gcc make binutils openmotif setarch compat-db compat-gcc openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel

//相关文档记载需要检查这些软件包,但有些是没有的,事实证明也确实是不需要的。

/******************************************

//RHEL AS 4的发行注记中提到这些软件包已经被删除:

//compat-gcc//compat-gcc-c++//compat-glibc//compat-libstdc++//compat-libstdc++-devel

//所以他们再也不需要被安装上了。

*********************************************/grep MemTotal /proc/meminfo

//检查内存

grep SwapTotal /proc/meminfo //检查交换分区

df -h //查看硬盘情况Step3 针对 Oracle 配置 Linux3.1 添加用户和组,建立目录

//这个过程一般不会有问题groupadd osintall

//添加组groupadd dba

//添加组useradd -m -g oinstall -G dba oracle

//添加用户id oracle

//验证passwd oracle

//设置密码mkdir -p /u01/app/oracle

//主目录mkdir -p /u02/oradata

//数据库文件目录chown -R oracle:osintall /u01/app/oracle/ /u02/oradata/

//目录关系

chmod -R 755 /u01/app/oracle/ /u02/oradata/

//读写权限设置3.2配置 Linux 内核参数按照官方说明,应该配置如下参数:内核参数vi /etc/sysctl.conf

//添加 kernel.shmall = 2097152

kernel.shmmax = 2147483648

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 = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 262144//然后重启或执行以下命令使参数生效/sbin/sysctl -p3.3 设置环境变量

//以oracle用户身份登陆vi .bash_profile //添加export ORACLE_BASE = /u01/app/oracle

export ORACLE_HOME =$ORACLE_BASE/product/102

export ORACLE_SID = BETAPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

//修改 3.4为用户设置Shell限制/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 pam_limits.so

//我发现加了这个以后系统本机无法登陆,用户名输入正确它会要求你再输入,错误是它会抱错,奇怪的是可以远程登录,所以后来没有改这个参数//oracle用户默认脚本/etc/profile //添加if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi//至此环境配置完成Step4 安装Oralcegunzip 10201_database_linux_x86_64.cpio.gz //解压cpio -idmv < 10201_database_linux_x86_64.cpio //释放文件//在图形化模式下./runInstaller//根据需要安装数据库软件//在安装程序检查系统过程中,遇到错误或警告最好不要强行安装,找到原因,针对解决。最后我只忽略了一个网络配置检查的警告就可安装成功。//在安装过程中到linking时,会出现错误Error in invoking target 'all_no_orcl' of makefile /opt/oracle/10.2.0/db_1/rdbms/lib/ins_rdbms.mk,是由于U2的一个包的问题,需要升级包binutils-2.15.92.0.2-15.0.0.0.2.x86_64.rpm,在http://oss.oracle.com/projects/compat-oracle/files/RedHat/可以下载到。数据库系统安装完成后,我们可以建立数据库了//打开终端dbca

//环境变量设置好了可以直接用该命令,否则进入相应目录//选择相应选项,安装数据库//在创建数据库过程中,如果出现错误ORA-12547: TNS:lost contact,可能是由于缺少包libaio-0.3.103-3.x86_64.rpm,可以在第4张安装盘中找到。当然该错误也可能是内核参数错误或者系统繁忙等引起的:)开始控制数据库了lsnrctl startisqlplusctl startemctl start dbconsole就可以通过相关网页和程序查看数据库运行情况了安装之后,ORACLE下次是不会自己启动的,所以,需要设置自己启动. 我们可以

1.设置/etc/oratab让指定的实例自动启动.以root用户修改oratab文件 su – root

vi /etc/oratab // 将最后的N改为Y

2.简单的服务启动脚本:设置/etc/rc.local$ vi /etc/rc.local

添加以下内容:

su - oracle -c 'lsnrctl start' //让监听启动起来

su - oracle -c 'dbstart' //让数据库启动起来