Linux下安装Oracle9i




Red Hat Enterprise Linux ES release 3 (Taroon) Kernel 2.4.21-4.EL ON on i6868
Oracle9i Release 9.2.0.4

首先除了LINUX和ORACLE安装盘之外,还要准备一些补丁包:
p3095277_9204_LINUX.zip
下载地址:http://www.sh.nu/download/oracle/p305277_9204_LINUX.zip
p2617419_210_GENERIC.zip 、 p3006854_9204_LINUX.zip、
p3119415_9204_LINUX.zip、 P3238244_9204_LINUX.zip
下载地址:http://www.cnoug.org/viewthread.php?tid=30405&highlight=&page=2 http://www.itpub.net/showthread.php?s=&postid=1583482#post1583482
http://www.opennet.ru/soft/ora_inst/

(一) 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
(五) 设置内核参数,调节信号灯及共享内存
(1)设置内核参数,调节信号灯及共享内存:
[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 ? 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这个补丁修正。

为了安装 opatch,可以运行:
#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"


linux下oracle9i安装:

Oracle公司宣称在Linux下安装Oracle9i数据库至少要有512MB的内存和至少1GB或者两倍    
内存大小的交换空间,对于系统内存大于2GB的服务器,交换空间可以介于2GB—4GB之间。    

如果是为了在一台仅有256M内存的普通PC机上试用Oracle9i,在分配了1GB左右的交换空间的情况下,也可以正常运行Oracle数    
据库。    
要检查内存空间,登录进入Linux,在命令行方式(bash环境)下执行如下命令:    
grep MemTotal /proc/meminfo    
要检查交换空间,在命令行下执行如下命令:    
grep SwapTotal /proc/meminfo

 

1.解压.cpio文件
  #cpio -idvm < lnx_920_disk1.cpio
  #cpio -idvm < lnx_920_disk2.cpio
  #cpio -idvm < lnx_920_disk3.cpio
  在当前目录下生成Disk1和Disk2,Disk3三个目录.
  chmod -R 777 Disk1 Disk2 Disk3
  
2.打补丁
  unzip oraclerpm.zip
  #rpm -ivh *.i586.rpm --nodeps --force

 

3.建立用户和组
  #groupadd dba
  #mkdir /opt/OracleHome
  #adduser -u 499 -d /opt/OracleHome/ -g dba oracle
  注:-u 后可以是1-500(系统用户) -g 添加到私有组dba中
  #chown oracle.dba /opt/OracleHome/
  #mkdir /opt/OracleHome/Ora9i
  #chown oracle.dba /opt/OracleHome/Ora9i
  #touch /etc/rac_on
  #mkdir /opt/tmp
  #chmod 1777 /opt/tmp
  #cp oracle.bashrc /opt/OraclHome/.bashrc
  .basrc中的内容
 export ORACLE_BASE=/opt/OracleHome/
 export ORACLE_HOME=$ORACLE_BASE/Ora9i
 export ORACLE_TERM=xterm
 export ORACLE_SID=fwh
 export ORACLE_LEBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
 export PATH=$PATH:$ORACLE_HOME/bin
 export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/JLIB:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/jre
 export LC_LANG=en_US
 unset LANG
 检测环境变量
 #su -oracle
 $echo $ORACLE_SID

 

4.linux系统优化
  #dd if=/dev/zero of=/opt/tmpswap bs=1k count=1024000
  #chmod 600 /opt/tmpswap
  #mkswap /opt/tmpswap
  #swapon -v /opt/tmpswap
  #sysctl -w kernel.sem="250 32000 100 128"
  #sysctl -w kernel.shmmax=`expr 512 * 1024 * 1024`
 
  #echo "kernel.sem=250 32000 100 128" >> /etc/sysctl.conf
  #echo "kernel.shmmax=`expr 512 * 1024 * 1024`" >> /etc/sysctl.conf
  注:上两行命令执行后请查看/etc/sysctl.conf的变化.

  #echo 65536 >/proc/sys/fs/file-max
  #ulimit -n 65536
  #ulimit -u 16384
  注:上三行命令是系统优化,建议也添加到/etc/rc.local文件中,每次启动系统自动优化

 

5.安装
  #xhost localhost
  #su - oracle
  #cd /opt/source/Disk1
  #./runInstaller
  指定组
 UNIX GROUP Name:dba
 #cd /tmp
 #./orainstRoot.sh
  指定oracle目录
 Name:ORACLE_HOME
 PATH:同 .basrc中的内容
  选择Database
  选择Enterprise
  选择software Only

 

以下是几点注意事项

然后用命令dbca创建数据库

1.安装时字体问题的解决:
   #unset LANG 
   如果执行上述指令不行的话再修改/root/.i18n和/etc/sysconfig/i18n
   #vi /root/.i18n  
     注:root用户的语言环境,注释掉所有项后添加一行LANG="en_US"
   #vi /etc/sysconfig/i18n  
     注:系统中新增加用户的语言环境(每增加一个用户把它拷贝到其宿主目录生成.i18n)

2.安装过程中的报错:
   前几个按报错信息的指示做,
   只有最后一个/opt/OraclHome/Oracle9i/ctx/lib/下某一文件错,应修改
   /opt/OraclHome/Oracle9i/ctx/lib/env_ctx.mk文件
   在INSO_LINK= 这一行添加一条记录 $(LDLIBFLAG)dl

3.oracle用户SHELL有问题
  #userdel oracle
  #adduser -u 499 -d /opt/OracleHome/ -g dba oracle

小秘籍:

 #hdparm -t /dev/hda 查看硬盘读写速度,如只有2M左右,则执行
 #hdparm -d 1 /dev/hda 开启DMA功能,可把它添加到/etc/rc.local文件中.
 
linux下oracle9i删除:
1.shutdown immediate //停止数据库
2.rm -rf ORACLE_HOME //删除oracle目录
3.rm /etc/ora*  //删除系统中与oracle相关的文件

http://blog.chinaunix.com/opera/showart.php?blogid=11456&id=76912

发表评论

电子邮件地址不会被公开。

Time limit is exhausted. Please reload CAPTCHA.