如何在RedHat Linux8下面安装Oracle 9i(建议使用oracle9204)(oracle9201在redhat8上安装经常碰到error in writing to file '...'的错误,报没有相应的写权限。)
首先将Redhat Linux8.0安装完毕!
注重Swap分区最好在1G左右!/分区需要大概5-8G的空间!
下载如下三个Oracle9i的安装文件:
lnx_920_disk1.cpio.gz
lnx_920_disk2.cpio.gz
lnx_920_disk3.cpio.gz
在你硬盘的/opt/目录现在建立Oracle9i
命令如下:#mkdir /opt/Oracle9i
将如下三个文件拷贝到/opt/Oracle9i目录下
执行如下命令将文件解压:
gunzip lnx_920_disk1.cpio.gz
gunzip lnx_920_disk2.cpio.gz
gunzip lnx_920_disk3.cpio.gz
在硬盘的/opt/Oracle9i/的目录下将生成如下文件:
lnx_920_disk1.cpio
lnx_920_disk2.cpio
lnx_920_disk3.cpio
执行如下命令将文件解包:
cpio -idmv < lnx_920_disk1.cpio
cpio -idmv < lnx_920_disk2.cpio
cpio -idmv < lnx_920_disk3.cpio
将在硬盘的/opt/Oracle9i的目录下生成如下三个文件夹;
Disk1
Disk2
Disk3
下面命令在Root用户下在终端程序中输入执行:
#grep MemTotal /proc/meminfo ------察看内存大小
#cat /proc/swaps --------察看交换分区信息
#dd if=/dev/zero of=tmpswap bs=1k count=900000 -----bs=n 同时设置输入输出块大小 count=n只复制输入记录的指定数。
#chmod 600 tmpswap
#mkswap tmpswap
#swapon tmpswap
# cat /proc/sys/kernel/shmmax
# echo `eXPr 1024 \* 1024 \* 1024` > /proc/sys/kernel/shmmax
注释(默认的是33554432kB,可修改为'2147483648' 单位字节
如:echo '2147483648' > /proc/sys/kernel/shmmax
过小的时候会提示:
ORA-27123:unable to attach to shared memory segment.
or
out of memory
)
# cat /proc/sys/kernel/shmmax
设置TMP目录:
#mkdir /opt/tmp
#chown root.root /opt/tmp
#chmod 1777 /opt/tmp
#export TEMP=/opt/tmp
#export TMPDIR=/opt/tmp
添加用户和组:
#groupadd dba
#groupadd oinstall
#useradd -g oinstall -G dba oracle // -g 添加用户所属的组, -G用户所附加的组,
#passwd oracle
建立安装目录
#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
设置Oracle用户的环境变量: 当前操作用户oracle (#su - oracle ) su oracle和su - oracle的区别就是su - oracle可以继续oracle用户的环境变量
# vi /home/oracle/.bash_profile
将如下的文字插入到.bash_profile中
# Oracle Environment
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/9.2.0
export ORACLE_SID=test
export ORACLE_TERM=xterm
#export TNS_ADMIN= Set if sqlnet.ora, tnsnames.ora, etc. are not in $ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN;
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
# Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
# CLASSPATH:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
然后
#su - oracle (一定要有"-")
切换到Oracle安装用户执行:
$cd /opt/Oracle9i/Disk1
$sh runInstaller
按照提示安装!OK!
一、第一次安装会出现设置域名test.fox
同时自动设置SID就是域名中的前半部分test
next
出现设置ORACLE_BASE目录,假如是第一次安装,则会提示(假如是
曾经安装过oracle则可能不会出现,这里的oracle_base和设置环境
变量中的一致)
二、
在安装的过程中,最常见的是在配置oracle net configuration assistant
时jre,
提示: jre was not found
这时做个链接就可,使用安装用户 oracle
$cd /opt/oracle/oracle/product/9.2.0/oracle.swd.jre/bin/i386/native_threas
$ ln -s Java jre
按照提示保持默认就可
2、内存是大小,提示
ORA-27123:unable to attach to shared memory segment.
or out of memory
都是内存的设置有问题
启动和停止 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
window2000 下客户端连接(我用的是oracle817 连接oracle9024)
增加侦听服务
增加本地连接,
连接主机 :主机名或ip
服务:test.fox就是前面的域名服务
网络名:test.fox(自己随便定义或test)
斜杠 (/ -- 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
如何删除oracle9i
删除oracle_base目录,etc下的oratab
/tem 下的orainstall
然后删除用户
删除/home/oracle