服务器 频道

在linux平台上搭建oracle 9I数据库

  【IT168 服务器学院】Linux ES 3.0下搭建oracle9i 服务器

  服务器类型:HP ML570 [ RIAD 5 280GSCSI CPU 2 ]

  安装

  第一次接触oracle,感觉很辛苦,光是装一个oracle就这么费事!晕了好几次:) 好了,这是我安装oracle时的笔记(参考了N多文档)
  Red Hat Enterprise Linux ES release 3 (Taroon) Kernel 2.4.21-4.EL NO on i6868 Oracle9i Release 9.2.0.4

  首先除了LINUX和ORACLE安装盘之外,还要准备一些补丁包。

  (一) Oracle公司声称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍 内存大小的交换空间,哈哈!恰好我的机器刚好满足它的最低要求,不过我听说256M也能安装ORACLE,本人对此深信不疑,当系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。 要检查内存空间,在命令行方式(bash环境)下执行如下命令: grep MemTotal /proc/meminfo 要检查交换空间,在命令行下执行如下命令: grep SwapTotal /proc/meminfo 第二是主机名和IP地址最好要手动设置

  (二) 检查系统下是否有以下软件包
  compat-libstdc++-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122 compat-db-4.0.14-5 compat-gcc-7.3-2.96.122 tcl-devel-8.3.5-92.i386.ipm openmotif21-2.1.30-8 setarch-1.3-1
  如果没有可以采用#rpm –ivh ……rpm 来安装,具体大多数在第三张盘上,还有,这些包有一定的依赖性,这就需要你来动手试了。

  (三) 添加安装过程中需要用到的用户和组,这当中会用到二个用户一个是root,一个是oracle
  #groupadd oinstall #groupadd dba #useradd –g oinstall –G dba oracle #passwd oracle

  (四) 新建安装目录
  #mkdir –p /opt/oracle/product/9.2.0 #chown –R oracle.oinstall /opt/oracle #mkdir /var/opt/oracle #chown oracle.dba /var/opt/oracle #chmod 755 /var/opt/oracle

  (五) 设置内核参数,调节信号灯及共享内存
  [root@sun root]# echo 250 32000 100 128 > /proc/sys/kernel/sem
  [root@sun root]# echo 536870912 > /proc/sys/kernel/shmmax
  [root@sun root]# echo 4096 > /proc/sys/kernel/shmmni
  [root@sun root]# echo 2097152 > /proc/sys/kernel/shmall
  [root@sun root]# echo 65536 > /proc/sys/fs/file-max
  [root@sun root]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
  当然为了一开机系统就能自动帮你设好这些参数,也可改动 /etc/sysctl.conf 这个文件,加入以下的语句:
  kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
  注意:如果你的共享内存不够大的话,在安装的过程中会提示ORA-27123错误,到时候你只要把/proc/sys/kernel/shmmax的值调大就可以了,至于多大就看你的了

  (六) oracle对文件的要求:
  编辑文件:/etc/security/limits.conf 加入以下语句:
  oracle soft nofile 65536
  oracle hard nofile 65536
  oracle soft nproc 16384
  oracle hard nproc 16384

  (七) 设置oracle的环境
  #su – oracle $
  vi ~/.bash_profile
  export LD_ASSUME_KERNEL=2.4.1
  export DISPLAY=”192.168.9.205:0.0” (127.0.0.1:0.0)
  export ORACLE_BASE=/opt/oracle
  export ORACLE_HOME=/opt/oracle/product/9.2.0
  export ORACLE_SID=ora9i (数据库全局变量名)
  export ORACLE_TERM=xterm (xterm窗口模式 vt100 终端调试模式)
  export NLS_LANG=AMERICAN (设置语言AMERICAN英文)
  export ORACLE_OWNER=oracle
  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/opt/oracle/product/9.2.0/lib:/lib:/usr /lib:/usr/local/lib
  export PATH=/opt/ora9/product/9.2/bin:$PATH
  export PATH=$PATH:$ORACLE_HOME/bin
  然后注销再重新登录就可以,oracle 的环境就应该生效了

  (八) #xhost +192.168.0.2 (本地IP地址) (xhost disable访问控制,客户端可以从任何主机进行连接) 这个命令用来保证oracle用户调用X11,否则无法安装

  (九) 安装 在安装之前需要打一个补丁 为了应用这个补丁,可以运行:
  $su – root #unzip p3006854_9204_LINUX.zip Archive:p3006854_9204_LINUX.zip creating:3006854/ inflating:3006854/rhel3_pre_install.sh inflating:3006854/README.txt #cd 3006854 #sh rhel_pre_install.sh Applying patch… Patch successfully applied
  新开一个窗口#su - oracle 在登录终端中切换到oracle用户:
  在oracle主目录里运行:#/mnt/cdrom/install/linux/runinstaller *********************************************************
  安装过程中的注意事项:
  1.在安装中让你输入 UNIX group name:oinstall (#groupadd oinstall) 如果提示orainstRoot.sh权限问题,在root终端下执行: #sh /tmp/orainstRoot.sh 然后继续
  2.在安装中选择 software only 不要建数据库
  3. 安装过程中提示/opt/oracle/product/9.2 权限问题,可另开窗口修改权限为oracle-dba 在结束的时候还会提示权限问题,另开窗口修改权限为root-root 注意的是以下几点: Relink阶段,会出两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore 忽略. 不过在我安装的过程中还有一个错误会出现二次ins_rdbms.mk我选择了忽略,如果有人知道这个错误怎么修复请发信件告诉我 再安装过程中,系统会提醒你用root身份去执行两个sh文件,再root的登录终端中按提示操作就可以了

  (十) 升级oracle
  # su - oracle 安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
  $ cd $ORACLE_HOME/Apache/Apache/bin
  $ ./apachectl stop ./apachectl stop: httpd stopped LISTENER也需要停下来. $ lsnrctl stop LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 07-NOV-2003 16:25:41 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521)) The command completed successfully
  注意: 如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.

  (十一) 打补丁 开始打补丁升级.
  解包:
  # unzip /home/oracle/p3095277_9204_LINUX.zip
  Archive: p3095277_9204_LINUX.zip inflating: 9204_lnx32_release.cpio inflating: README.html inflating: patchnote.css # cpio –idmv < /home/ora9/Disk1/9204_lnx32_release.cpio 做完这个后,再切换到oracle用户控制台, 再次运行/home/oracle/Disk1/runInstaller升级,
  注意必须先选择最下面的安装选项,安装OUI 要不然没有办法打那个最上面的升级补丁。
  升级完OUI后,要退出 $ cd $ORACLE_HOME/bin $ ./runInstaller 选择第一个选项,将Oracle升级到9.2.0.4。 这时候还是会有一个错误出现ins_oemagent.mk,再次选择忽略它,这个错误会在9.0.2.4补丁包被应用后由3119415_9204_LINUX.zip这个补丁修正。 p2617419_220_GENERIC.zip,它主要是用来悠agent服务不能启动的错误,可以运行: #su – oracle $cp p2617419_210_GENERIC.zip /tmp $cd /tmp $unzip p2617419_210_GENERIC.zip 在应用补丁 3119415 之前,请确信 oracle 用户可以访问fuser。否则,补丁不能被应用,因为 opatch 要使用 fuser。
  为了应用补丁 3119415,可以运行: #su – oracle $unzip p3119415_9204_LINUX.zip
  $ cd 3119415 $export PATH=$PATH:/tmp/OPatch
  $export PATH=$PATH:/sbin
  # the patch needs “fuser” which is located in /sbin
  $which opatch /tmp/OPatch/opatch
  $opatch apply

  (十二)创建数据库
  现在你可以使用 dbca 创建数据库:
  $su - oracle #dbca 启动和停止 Oracle 9i 数据库 (Startup and Shutdown of the Oracle 9i Database)
  1.sqlplus: Oracle 9i (9.0.1 & 9.2.0) 不再使用 svrmgrl,而改用 sqlplus。
  例如,启动数据库,可以运行下面的命令:
  #su – oracle $sqlplus /nolog SQL>connect / as sysdba SQL>startup 斜杠 (/ -- slash) 使用 SYS 连接到方案 (schema)。本例中,将使用 SYS 数据库用户以 SYSDBA 身份连接到方案。SYSDBA 赋予用户如下特权: - sysoper privileges WITH ADMIN OPTION - create database - recover database until 立即停止数据库,可以运行下面的命令:
  #su – oracle $sqlplus /nolog SQL>connect / as sysdba SQL>shutdown –immediate
  2.$ORACLE_HOME/bin/dbstart 和 $ORACLE_HOME/bin/dbshut 你也可以使用 $ORACLE_HOME/bin/dbstart 启动数据库,使用 $ORACLE_HOME /bin/dbshut 停止数据库。甚至可以将 $ORACLE_HOME/bin/dbstart 写入 /etc/rc.d/rc. local 启动脚本,当系统启动时,自动启动数据库。为了使 $ORACLE_HOME/bin/dbstart 和 $ORACLE_HOME/bin/dbshut 正常工作,需要将 /etc/oratab 文件中第 3 个字段的值由 N 改为 Y

  Oracle RAC 数据库创建过程中的注意事项

   • ORA-29807 错误 在数据库创建过程的“创建数据字典视图”阶段中,您将接收到一个 ORA-29807 错误。如果您搜索日志文件,您将看到以下内容: drop operator XMLSequence * ERROR at line 1: ORA-29807:specified operator does not exist 这是一个已知的问题 (Bug:2686156),并且可被忽略。要继续数据库创建过程,请单击 "Ignore" 按钮:

  
  • ORA-01430 错误 在数据库创建过程的“增加 Oracle Spatial”阶段中,您将接收到一个 ORA-01430 错误。如果您搜索日志文件,您将看到以下内容: (SDO_ROOT_MBR mdsys.sdo_geometry) * ERROR at line 2: ORA-01430:column being added already exists in table 这是一个已知的问题,并可被忽略。要继续数据库创建过程,请单击 "Ignore" 按钮。
  

0
相关文章