本文将介绍Oracle Database 9i在Linux下的安装过程,假如你是有过安装Oracle8i的经验,那么以下的安装过程对你来说是小事一桩:
硬件要求:硬盘空间:安装Oracle9i数据库至少要有2.5GB以上的剩余空间。 临时硬盘空间:Oracle安装程序在安装过程中需要400M以上的临时硬盘空间;内存:安装Oralce 9i软件至少需要512M内存(我个人安装过程中使用的是256MB内存)。
1.Red Hat Linux 7.3:下载地点: http://www.puschitz.com/RedhatDownload.Html
2. Oracle9i:下载地点:http://otn.oracle.com/software/prod.../linuxsoft.html
(注:1.版本号9.2.0.1
2.解压办法:以Linux9i_Disk1.cpio.gz为例.
gunzipt Linux9i_Disk1.cpio.gz
cpio –idmv
解包后形成三个目录:installation files:
Disk1 Disk2 Disk3 )
3. binutils:7.3 自带有nutils-2.11.90.0.8-9,但安装的时候易出问题,建议下载binutils-2.10.0.18-1.i386.rpm下载地址:FTP://ftp.redhat.com/pub/redhat/lin...i386.rpm,以root 用户安装binutils:
rpm -Uvh --force --nodeps binutils-2.10.0.18-1.i386.rpm oracle9i安装完成后,将其版本还原:
rpm -Uvh --force --nodeps binutils-2.11.90.0.8-9.i386.rpm
4.JDK:下载地址:http://www.blackdown.org或http://Java.sun.com
安装:bunzip2 -dc jdk118_v3-glibc-2.1.3.tar.bz2 tar xvf jdk118_v3-glibc-2.1.3.tar
ln -s /usr/local/jdk118_v3 /usr/local/java
注:.bz2文件可使用WinRAR解压。
5.配置内核参数
oracle9i使用Linux的共享内存、交换区等资源进行工作,假如你的内核参数设置不能满足oracle的要求,那在安装oracel9i或使用过程就会频频出现问题,因此配置系统内核的参数就显得尤为重要和要害了。内核参数的配置一般在/proc文件夹下配置:
1). 以root用户答应以下命令;
2). 进入目录/proc/sys/kernel;用cat命令或more命令查看semaphore当前参数的值:
cat sem
命令运行后将会出现如下的结果:
250 32000 32 128
其中, 250 是参数SEMMSL的值,32000是参数SEMMNS的值, 32是参数SEMOPM的值,而128则是参数SEMMNI的值。
4). 用以下的命令可以对上述参数进行修改
echo SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value sem
其中SEMMSL_value、SEMMNS_value、SEMOPM_value、SEMMNI_value分别用相应的值进行替换,并且这些值的顺序不能调换
5). 设置共享内存大小,共享内存大小一般设为物理内存的一半,在这里我们假设物理内存为512M则共享内存的值4294967295以此类推,假如你的物理内存是1G则这里的值则是8589934590:
echo 4294967295 shmmax
6 添加用户:Oracle在安装和使用中需要用特定用户(非root用户),按照oracle的标准说明是需要添加三个专门用户和用户组,为了简便大家的安装和使用我们把oracle的安装和使用归到一个特定用户来完成。
首先创建oracle安装组及用户组,我们架设两个用户组命名为oinstall、dba:以root用户登陆系统: 1)groupadd oinstall 2) groupadd dba
添加oracle用户:1)useradd oracle –g oinstall –G dba 2) passWord oracle
7.创建安装目录:以 root用户进行:
mkdir /opt/oracle
mkdir /opt/oracle/prodUCt
mkdir /opt/oracle/product/9.0.1
chown -R oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
8.设置Oracle环境:以oracle用户进行: vi /home/oracle/.bash_profile
eXPort ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.0.1
export ORACLE_SID=sah
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin;
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
9 开始安装
1) cd /backup/Disk1 2) ./runInstaller
安装中出现问题的解决:一般依照错误提示进行即可,假如是因为binutils的问题,那么一定是binutils的版本不对,建议安装好binutils后再进行oracle9i安装。
oracle9i在安装数据库过程中,要求输入sys及system用户的密码,你可随意设定自己的密码了。
10.启动数据库:
注重:svrmgrl 在9i中已经不支持,换作dgmgrl
1) $dgmgrl 2)connect sys/xxxx as sysdba 3)startup
(注:9i的提示和8i有所不同,仅两行,这里就不列出了)
至此,oracle9i安装完毕!
Redhat7.3中Oracle9.2.0的第二次启动失败,字符集加载出问题了,请指教,急。
安装比较顺利。数据库的第一次启动是创建数据库时自动启动的。
当顺利以normal方式shutdown数据库后(用Enterprise management console中的Instance治理界面),满怀信心的进行第二次启动,数据库在顺利startup后,却在mount过程中报错:
ORA-12709 error while loading create database character set
我查了oracle9i系统文档,有关描述为:
Cause: This is an internal error.
Action: Contact Oracle Support Services.
而我在前一段时间安装oracle9.0.1(Redhat7.2)时也是同样的问题,不知道是否是oracle的一个bug还是我的环境变量设置有问题。下面是我的.cshrc文件描述:
umask 022
setenv ORACLE_BASE /home/oracle
setenv ORACLE_HOME $ORACLE_BASE/release/9.2.0
setenv ORACLE_SID optim
setenv ORACLE_TERM xterm
setenv TNS_ADMIN $ORACLE_BASE/config/9.2.0
setenv NLS_LANG AMERICAN_AMERICA.ZHS16GBK
setenv ORA_NLS33 /home/oracle/release/9.2.0/ocommon/nls/admin/data
setenv LD_LIBRARY_PATH $ORACLE_HOME/lib
setenv PATH /bin:/usr/dt/bin:/usr/local/java/bin:/usr/ccs/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin:$ORACLE_HOME/bin:$PATH
setenv ORACLE_PATH $PATH
setenv CLASSPATH $ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/jre/1.1.8/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
setenv TMPDIR /tmp
我创建数据库时确实指明了字符集是ZHS16GBK,并且数据库自动启动后,我在服务器端与客户端都顺利用sqlplus登陆数据库,中文显示没有问题。
请高手指点在下,不胜感激。
下载i386-glibc-2.1-linux.tar.gz包并在根目录下解压,隐藏原有的gcc,ar,ld,将glibc中的相应文件连接到/usr/bin下:
#cd /
#tar zxvf i386-glibc-2.1-linux.tar.gz
#cd /usr/bin
#mkdir saved
#mv gcc ld ar saved
#ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/gcc gcc
#ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/ld ld
#ln -s /usr/i386-glibc-2.1-linux/i386-glibc21-linux/bin/ar ar