这篇文章在oracle的网站上发表,堪称安装oracle9i database的指南性论述。
作者:abhijeet kulkarni
数据库版本:oracle9i r2 (9.2.0.1.0)
1. 创建用户与组:
————————-
切换为 root 用户并执行下列命令
$ su –
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -g dba oracle
# passwd oracle
2. 创建目录。
————————–
我们将把所有东西都安装到在 /opt/ora9 目录下:
# mkdir -p /opt/ora9/product/9.2
# mkdir /var/opt/oracle
# chown oracle.dba /var/opt/oracle
# chown -r oracle.dba /opt/ora9
3. 预安装(系统配置):
—————————
3.1 安装这些兼容性库:
compat-gcc-7.3-2.96.118.i386.rpm
compat-libgcj-7.3-2.96.118.i386.rpm
compat-libgcj-devel-7.3-2.96.118.i386.rpm
nss_db-compat-2.2-20.i386.rpm
您可以在安装 cd 上找到这些程序包。
第一个文件在 cd1 的 redhat rpms 目录中
另外 3 个文件在 cd2 的 rpms 目录中
3.2 设置内核参数以便能够成功启动:
把这些行添加到 /etc/sysctl.conf
如果您有更多 ram,也可以更改这些值:
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
把这些行添加到 /etc/security/limits.conf
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
重启系统以使这些内核更改生效,如果不允许重启,您可以在运行时通过执行下列命令更改内核参数:
# echo 250 32000 100 128 > /proc/sys/kernel/sem
# echo 536870912 > /proc/sys/kernel/shmmax
# echo 4096 > /proc/sys/kernel/shmmni
# echo 2097152 > /proc/sys/kernel/shmall
# echo 65536 > /proc/sys/fs/file-max
# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range
4. 预安装(oracle 环境):
—————————-
以 oracle 用户身份登录:
su – oracle
将下列行放置在 ~/.bashrc:
#oracle 9i
export oracle_base=/opt/ora9
export oracle_home=/opt/ora9/product/9.2
export path=$oracle_home/bin:$oracle_home/apache/apache/bin:$path
export oracle_owner=oracle
export oracle_sid=ora9i
export oracle_term=vt100
export ld_assume_kernel=2.4.1
export threads_flag=native
export ld_library_path=/opt/ora9/product/9.2/lib:$ld_library_path
export path=/opt/ora9/product/9.2/bin:$path
#
#根据您本国的情况更改这个 nls 设置:
#示例:
# german_germany.we8iso8859p15, american_america.we8iso8859p2 etc.
#
export nls_lang=croatian_croatia.ee8iso8859p2
如果您需要其它的国家设置(这些是克罗地亚的),请参考这里的支持设置,并对 nls_lang 变量进行相应更改。
5. 安装:
————————
以 root 用户登录并允许用户 oracle 向 x 显示器写入:
su –
xhost +
登录为 oracle 用户:
su – oracle
开始安装。不要切换到您的 cd-rom 安装目录,因为您将无法在系统需要时卸下第一张 cd 以插入其它 cd。
/mnt/cdrom/install/linux/runinstaller
在安装期间,系统会提示您插入其它安装盘。打开一个新的控制台,用命令 umount /dev/cdrom(以 root 用户身份)卸下当前的盘片,替换该盘片。如果 redhat9 没有自动安装它,那么使用命令 mount /dev/cdrom 将其装上
安装将产生两个错误。
* 第一,您将会看到一个错误对话框提示关于 ins_oemagent.mk 的问题。选择忽略该错误,我们将在安装后更正该错误。
* 第二个对话框将通知您 “error in invoking target install of makefile $oracle_home/ctx/lib/ins_ctx.mk”。
如果发生该错误,打开一个新的控制台并以 oracle 用户身份登录。执行下列命令:
$ cd $oracle_home/install
$ tail make.log
您将看到与下面类似的一行信息:
gcc -o ctxhx -l/opt/ora9/product/9.2/ctx/lib/ -l/opt/ora9/product/9.2/lib/
-l/opt/ora9/product/9.2/lib/stubs/ /opt/ora9/product/9.2/ctx/lib/ctxhx.o
-l/opt/ora9/product/9.2/ctx/lib/ -lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut
-lsc_ch -lsc_fi -lctxhx -lc -wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9
-lcore9 -lnls9 -lcore9 -lnls9 -lxml9 -lcore9 -lunls9 -lnls9
复制该行,在行末添加 -ldl 然后在 $oracle_home/bin 中运行它。
$ cd $oracle_home/bin
$ gcc -o ctxhx -l/opt/ora9/product/9.2/ctx/lib/
-l/opt/ora9/product/9.2/lib/ -l/opt/ora9/product/9.2/lib/stubs/
/opt/ora9/product/9.2/ctx/lib/ctxhx.o -l/opt/ora9/product/9.2/ctx/lib/
-lm -lsc_ca -lsc_fa -lsc_ex -lsc_da -lsc_ut -lsc_ch -lsc_fi -lctxhx -lc
-wl,-rpath,/opt/ora9/product/9.2/ctx/lib -lnls9 -lcore9 -lnls9 -lcore9
-lnls9 -lxml9 -lcore9 -lunls9 -lnls9 -ldl
现在,点击对话框上的忽略按钮,安装将继续进行。
最后,oracle 安装可能会提示您代理程序启动失败。选择忽略,我们将在稍后更改此错误。
6. 安装后处理
—————————
打开一个控制台并以 oracle 用户身份登录。执行这些命令:
$ cd $oracle_home/network/lib
$ make -f ins_net_client.mk install
然后编辑 $oracle_home/ctx/lib/ins_ctx.mk 文件,把 13-14 行从:
ctxhx:$(ctxhxobj)
$(link) $(ctxhxobj) $(inso_link)
改为
ctxhx:$(ctxhxobj)
$(link) -ldl $(ctxhxobj) $(inso_link)
然后执行
$ make -f $oracle_home/ctx/lib/ins_ctx.mk install
现在,您将能够用下面的命令启动您的代理程序了
$ /opt/ora9/product/9.2/bin/agentctl start
7. 启动数据库
——————————
如果您的安装程序在第 5 部分的最后一步被挂起,不要担心。等一段时间看它是否响应,如不响应则终止它。
在一个 shell 脚本(如 setvar.sh)中添加下面几行
#oracle 9i
export oracle_base=/home1/orahome
export oracle_home=/home1/orahome/ora92
export path=$oracle_home/bin:$oracle_home/apache/apache/bin:$path
export oracle_owner=oracle
export oracle_sid=ora9i
export oracle_term=vt100
export ld_assume_kernel=2.4.1
export threads_flag=native
export ld_library_path=/opt/ora9/product/9.2/lib:$ld_library_path
export path=/opt/ora9/product/9.2/bin:$path
export ora_nls33=$oracle_home/ocommon/nls/admin/data
保存此文件并在命令提示符运行
$source setvar.sh
现在转至 $oracle_home/bin
使用任意编辑器编辑 dbca 脚本
$kwrite dbca
找到 jre_home 环境变量。它指向 jdk 1.8,后者是安装 cd 的一部分。更改该变量并使其指向您的 linux 安装的 jdk1.3 或 1.4,转至文件末尾,该变量用于调用 java 程序。从路径中删除 bin 目录,并将 jre 可执行文件更名为 java 文件。这就像使用我们自己的 jdk 调用 java 程序一样。
启动
$./dbca
8. 启动数据库实例
打开一个 sqlplus 会话并以 sys/passwd 作为系统数据库管理员登录
sql>create spfile from pfile=full path of the .ora file created by the dbca utility ;
eg /home1/orahome/admin/dl226b/pfile/initdl226b.ora
sql>shutdown immediate;
sql>startup;