今天成功在Linux9.0
上安装了Oracle9iR2,
下面的步骤是我在网上搜索的,针对自己安装出现的问题进行了部分修改。
一、
硬件软件环境:
硬盘 120GB
内存 2G
系统环境 WindosXp
Pro
Linux
运行环境 VMWareWorkStation
4.
5.
2
二、
准备工作:
1.
创建Oracle
用户账号:
# groupadd dba #group of users to be granted with SYSDBA system priviliege
# groupadd oinstall #group owner of Oracle files
# useradd –c “Oracle software owner” –g oinstall –G dba oracle
# passwd oracle
2.
创建Oracle
目录:
本人是把Oracle
安装在/opt
目录下面。如果你的/opt
不是一个单一的文件系统,请确保根文件系统“/”有足够的空间。
# mkdir /opt/oracle
# mkdir /opt/oracle/product
# mkdir /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
3.
设置Oracle
环境(不要复制,最好直接输入,不然会产生非法字符)
编辑Oracle
家目录下面的.bash_profile
文件,注意:RedHat Linux9.0
下要设置LD_
ASSUME_
KERNEL=2.4.1。.bash_profile
文件内容可以如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
# +------------------------------------------------------------+
# | FILE : .bash_profile |
# +------------------------------------------------------------+
umask 022
TERM=xterm; export TERM
TMPDIR=/tmp; export TMPDIR
export ORACLE_SID=ORCL
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm
#export LDEMULATION=elf_i386_glibc21
export GCC_EXEC_PREFIX=/usr/i386-glibc21-linux/lib/gcc-lib/
export LD_ASSUME_KERNEL=2.4.1
PATH=$PATH:$ORACLE_HOME/bin:/opt/bin:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/usr/java/j2sdk1.4.2_04/bin:.
export PATH
export JAVA_HOME=/usr/java/j2sdk1.4.2_04
export CLASSPATH=$ORACLE_HOME/jdbc/lib/classes12.zip:$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:.
echo ".bash_profile executed"
其实不设置CLASSPATH环境变量,也可以成功安装Oracle9iR2
。
4.
设置交换空间
为了执行Oracle
9i
标准安装和创建原形数据库,Oracle
建议服务器至少需要512M内存的交换空间。
查看内存大小,可以用以下命令:
# grep MemTotal /proc/meminfo
查看交换空间大小,可以用以下命令:
# cat /proc/swaps
不过可以通过建立临时交换文件来增加交换空间,代替使用原始设备。
# dd if=/dev/zero of=tmpwap bs=1k count=900000
# chmod 600 tmpswp
# mkswap tmpswap
# swapon tmpswap
取消临时交换空间,可以这样:
# swapoff tmpswap
# rm –rf tmpswap
5.
设置Linux
内核参数:
修改 /etc/sysctl.conf
这个文件,加入以下的语句:
kernel.shmmax = 2147483648 (
机器内存2G
,如果你的没这么大可相应设置小些)
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
sem 4
个参数依次为SEMMSL(
每个用户拥有信号量最大数)
;SEMMNS(
系统信号量最大数)
;SEMOPM(
每次semopm
系统调用操作数)
;SEMMNI(
系统辛苦量集数最大数).
Shmmax
最大共享内存2GB
物理内存如果小的话可以设置成 536870912.
Shmmni
最小共享内存 4096KB.
Shmall
所有内存大小.
设置完成后用命令 more /etc/sysctl.conf |grep kernel.s
检查.
3
、设置oracle
对文件的要求:
编辑文件:/etc/security/limits.conf
加入以下语句:
oracle
soft
nofile
65536
oracle
hard
nofile
65536
oracle
soft
nproc
16384
oracle
hard
nproc
16384
6.
检查/tmp
空间
Oracle
通用安装程序需要400M以上的临时空间
检查/tmp
临时空间,可以用:
# df /tmp
如果没有足够的/tmp
空间,可以临时在另一个文件系统中建立一个tmp
目录。
# mkdir /<AnotherFileSystem>/tmp
# chown root.root /<AnotherFileSystem>/tmp
# chmod 1777 /<AnotherFileSystem>/tmp
# export TEMP=/<AnotherFileSystem>/tmp #used by Oracle
# export TMPDIR=/<AnotherFileSystem> #used by Linux programs
当安装完Oracle
之后,关闭Oracle
并删除临时目录:
# rmdir /<AnotherFileSystem>/tmp
# unset TEMP
# unset TMPDIR
7.
检查开发包:
运行以下命令,看看这些软件包有没有被安装:
# rpm –q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
如果没有被安装,可以这样安装软件包:
# rpm –ivh gcc-3.2.2-5.i386.rpm
8.
安装JDK
# sh j2sdk-1_4_2_04-linux-i586.bin
# rpm j2sdk-1_4_2_04-linux-i586.rpm
# rpm j2sdk-1_4_2_04-linux-i586.rpm
有资料说Oracle9iR2
可以跳过这部分内容,不在系统中安装JDK
,也可以成功安装Oracle9iR2
。意味着Oracle
现在能够使用自己的java
。
下载
j2sdk-1_4_2_04
或Blackdown1.1.8_v3
:(我使用的是
j2sdk-1_4_2_04
)
根据JDK
文档,安装到/usr/local
目录下,同时还要建立一个链接JDK
到/usr/local/java
,但是我在使用rpm –ivh
j2sdk-1_4_2_04-linux-i586.rpm
时,默认的安装路径却不象RedHat Linux8.0
那样安装到/usr/local/
目录下,而是安装到了/usr/java
目录下,这在我使用dbca
建库的时候才发现:),不过没有关系,知道她藏在哪儿就可以驾驭了,呵呵。所以在初始环境中我已经改了,大家不必担心。在RedHat Linux8.0
下可以这样链接:
# ln –s /uar/local/ j2sdk1.4.2_04 /usr/local/java
9.
解压Oralce9iR2 for Linux
的安装软件包:
把安装文件拷贝到系统中,以免因光驱或盘片等原因造成意想不到的结果:)。
可以一步到位的把文件解压开来:
# zcat ship_9204_linux_disk1.cpio.gz | cpio –idmv
# zcat ship_9204_linux_disk2.cpio.gz | cpio –idmv
# zcat ship_9204_linux_disk3.cpio.gz | cpio –idmv
解包和解压过程中,自动创建了3
个包含安装文件的目录:
Disk1
Disk2
Disk3
之后就可以安装Oracle9iR2
了,注:要在英文语言环境下安装Oracle9iR2
。否则会出现由于系统与Oracle
字库不同而造成的乱码现象。
三、
开始安装:
1.
以oracle
用户登录系统,进行Oracle
的安装:
$ cd Disk1
$ ./runInstaller
过一会儿就会出现Oracle
的安装界面,如下图所示:
2
.点击“Next
”进行下一步:
3
.选择默认,点击“OK
”继续:
4
.输入组名“oinstall
”,点击“Next
”进行下一步:
5
.按照提示,另开一个终端,以root
用户执行/tpm/orainstRoot.sh
命令:
6
.等命令瞬间执行完毕后,点击“Continue
”进行下一步:
7
.选择默认,点击“Next
”继续:
8
.“Loading product
”后,进入下图所示的安装界面:
9
.选择“Oracle9i Database 9.2.0.4.0”并选择“Product Languages
”进行语言的设
置:
10
.选择支持国语的“Simplified Chinese
”、“Traditional Chinese
”,点击“OK
”:
11
.这里选择“Enterprise Edition
(2.56GB
)”进行安装,点击“Next
”:
12
.等候安装进程的执行,进入下一个安装界面:
13
.选择“Software Only
”,以后我们可以用dbca
工具来建库:
14
.点击“Install
”,来开始安装数据库了:
15
.安装等候“link pending
……”,继续:
16
.经过漫长的等待,我终于见到了期待已久的界面。
17
.安装过程比我预料的好很多,居然没有一个错误提示:)。按照提示,以root
用户在终端执行/opt/oracle/product/9.2.0/root.sh
。如下图所示:
18
.执行语句后,回车,使用默认的路径,一定要等待语句执行完毕后,才返回安装界面,点击“OK
”:
19
.恭喜恭喜!看到这个画面,就证明数据库已经安装成功了:)。点击“Exit
”退出界面。
四、
创建数据库:
我在执行dbca
这个工具时,界面都可以正常的进行下去,但是到了最后建库的时候,总是关闭窗口返回终端,并提示dbca
文件内第120
多行有错误。不过这可能就是Oracle
使用本身自带java
造成的问题。按照下面的修改,结果终于可以成功的建库了。
修改$ORACLE_HOME/bin
目录下面的dbca
文件:
改
JRE_DIR=
/usr/java/ j2sdk1.4.2_04/jre
$JRE_DIR/bin/ java -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
$JRE_DIR/bin/ java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
$JRE_DIR/bin/ java -native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
else
$JRE_DIR/bin/ java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
fi
后保存就可以了。
****************************************************************************
最后建库的时候出现的错误:
1
、
可能会出现错误提示: /etc/oratab file doesn
’t exist
可执行下面语句:
#cd /opt/ora9/product/9.2/install/utl
#sh root.sh
2
、
可能出现ORA-29807
:specified operator does not exist
错误
在安装完成后,在$ORACLE_HOME/rdbms/admin
目录下运行utlrp.sql
,用于修补ORA-29807
错误。
****************************************************************************
1
.以
oracle
用户在终端执行
dbca
,就可以建立数据库了,呵呵!如下图所示:
2
.等待一下,弹出
dbca
的欢迎界面:
3
.点击“
Next
”进行下一步:
4
.选择“
Create a database
”来创建数据库,点击“
Next
”,继续:
5
.选择“
New Database
”,点击“
Next
”来创建新的数据库:
6
.输入数据库的全局名称和
SID
名称,
Global Database Name
可以输入如:“
ora9204.oracle.com,SID:ora9204.
也可以输入一同个名称。完成后点击“
Next
”继续:
7
.默认选择,点击“
Next
”继续:
8
.这里同样也是默认选择,点击“
Next
”继续:
9
.设定
Oracle9iR2
数据库初始参数,初始参数设定的优劣直接影响数据库的执行性能,
这里你也可以选择“
Archive
”标签,把数据库设成为“存档模式”:
10
.选择“
Character Sets
”进行数据库字符集设定,点击“
Next
”前往下一步:
10.
直接点击“
Next
”进行下一步:
11
.你可以钩选“Save as a Database Template
”和“Generate Databse Creation Scripts
”,然后点击“Browse
”按钮将DBCA
所做的设定储存为一个新数据库模版和创建数据库时的脚本保存到一个目录下,以便将来建立数据库时可以直接使用。然后点击“Finish
”继续。
12
.“数据库配置助理”最后会将所有配置设定值整理出一张清单,按下“OK
”后就会开始创建数据库。
13
.要有耐心的等待特别漫长的一段时间后就会进入数据库建库完成的阶段:)。
14
.出现上面的窗口时就大功告成了!请您自行指定SYS
与SYSTEM
这两个系统管理员的密码。设定完毕后按下“OK
”,就会回到安装成功的画面。
15
.恭喜恭喜了!点击“Next
”退出安装程序,后会跳出OEM
的画面。
16
.好不容易将Oracle9i
数据库系统安装完毕,接着来验收一下成果吧!
17
.在终端输入ps – ef | grep ora_
命令来确认Oracle9i
数据库的后台进程已经正常启动。继续:
18
.接着利用Oracle9i
数据库的客户端工具SQL*Plus
登录数据库,并利用scott
(密码为tiger
)登录数据库,试着执行指令查询emp
表。就象你看见到上图emp
表的数据,就表示Oracle9i
数据库运作无误!好了,现在检查一下实际安装Oracle9i
数据库后硬盘使用的情况.
如果出现
$sqlplus
bash:sqlplus:command not found
1
、检查ORACLE_HOME
和PATH
设置是否正确
2
、LN -S $ORACLE_HOME/BIN/SQLPLUS /USR/BIN/