在64位Linux环境下安装Oracle数据库10g

  经过数天不懈的努力,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' //让数据库启动起来