介绍一下我在Debian Sarge上安装Oracle 10g的过程。
首先说一下我的爱机配置情况: AMD Duron 1.1G RAM 512MB(Hy sdram 256*2) Maxtor Diomand Plus 80G+40G
通过Oracle 官方认证的系统,只有redhat-2.1,redhat-3,UnitedLinux-1.0,并不包括对debian支持,所以在debian上安装Oracle会多出一些额外的步骤。 一、安装前的预备 1.硬件要求 Oracle建议内存为512MB或以上,至少1G交换分区,并且需要400MB的临时目录空间。 使用以下的命令查看你的内存和交换分区大小: # grep MemTotal /proc/meminfo # grep SwapTotal /proc/meminfo
你可以使用以下方法添加临时交换分区: su - root dd if=/dev/zero of=tmpswap bs=1k count=900000 chmod 600 tmpswap mkswap tmpswap swapon tmpswap
可以通过以下命令查看临时空间大小: #df /tmp 可以自己新建临时目录,安装完后再删除 #su - root #mkdir /opt/tmp #chown root.root /opt/tmp/ # chmod 1777 /opt/tmp # echo TEMP # eXPort TEMP=/opt/tmp # export TEMPDIR=/opt/tmp
对硬盘空间大小的限制,建议预留3G空间,我按照标准安装,硬盘消耗接近1.9G。
2.系统参数调整 修改/etc/sysctl.conf,添加 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000
执行 #/sbin/sysctl -p
设置shell限制,在/etc/security/limits.conf添加 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
修改login设置,修改 /etc/pam.d/login,添加 session required /lib/security/pam_limits.so
在/etc/profile中添加以下语句: if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
3、安装设置 确保你已经安装了下列软件 make binutils libc6-dev libmotif3 rpm awk
确保你的系统中有以下组和用户,方法: #grep dba /etc/group #grep oinstall /etc/group #grep nobody /etc/group
#id oracle #id nobody
切换到root,添加oralce帐户 #su - root #groupadd dba # group of users to be granted SYSDBA system privilege #groupadd oinstall # group owner of Oracle files #useradd -c "Oracle software owner" -g oinstall -G dba -d /opt/oracle oracle #passwd oracle 输入oracle密码
debian中需要额外的添加nobody用户组: #groupadd nobody 系统nogroup组中已经有nobody用户,把nobody用户添加到新建的nobody组中, #usermod -G nobody nobody
建立oracle目录 #su root #mkdir /opt/oracle #chown -R oralce.oinstall /opt/oracle
debian需要额外的做以下操作: # ln -s /usr/bin/awk /bin/awk # ln -s /usr/bin/rpm /bin/rpm # ln -s /usr/bin/basename /bin/basename # ln -s /etc /etc/rc.d
模拟redhat-3进行安装,新建一个文件/etc/redhat-release,写入以下内容: Red Hat Enterprise Linux AS release 3 (Taroon)
二、开始安装 你可以从http://mirrors.cn99.com上下载oracle 10g,按以下方法进行解压: $ gunzip ship.db.cpio.gz $ cpio -idmv < ship.db.cpio
这样会生成一个Disk1目录,进入Disk1目录。
切换到oracle用户,设置环境变量: $ xhost + $ su - oralce $ export ORACLE_BASE=/opt/oracle $ export ORACLE_SID=oralin#你可以自己命名sid
确保此时环境中没有ORACLE_HOME 和TNS_ADMIN $ unset ORACLE_HOME $ unset TNS_ADMIN
可以将这些写进.bash_profile export ORACLE_BASE=/opt/oracle export ORACLE_SID=oralin unset ORACLE_HOME unset TNS_ADMIN
umask 022
执行 $ ./runInstaller 我选择标准安装,安装大约30多分钟。安装过程截图,参见 http://www.linuxsir.org/bbs/showthread.PHP?s=&threadid=140617
三、安装后
1.Oracle 治理工具 Ultra Search URL: http://debian:5620/ultrasearch
Ultra Search 治理工具 URL: http://debian:5620/ultrasearch/admin
iSQL*Plus URL: http://debian:5560/isqlplus
Enteprise Manager 10g Database Control URL: http://debian:5500/em
2.oracle启动脚本/etc/init.d/oracle #!/bin/bash # # Run-level Startup script for the Oracle Instance and Listener # # chkconfig: 345 91 19 # description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/opt/oracle/prodUCt/10.1.0/db_1" ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ] then echo "Oracle startup: cannot start" exit 1 fi
# depending on parameter -- startup, shutdown, restart # of the instance and listener or usage display
case "" in start) # Oracle listener and instance startup echo -n "Starting Oracle: " su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start" su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
#Optional : for isqlplus only su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl start" #Optional : for Enterprise Manager software only su - $ORA_OWNR -c "$ORA_HOME/bin/emctl start dbconsole"
touch /var/lock/oracle echo "OK" ;; stop) # Oracle listener and instance shutdown echo -n "Shutdown Oracle: "
#Optional : for isqlplus only su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl stop" #Optional : for Enterprise Manager software only su - $ORA_OWNR -c "$ORA_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop" su - $ORA_OWNR -c $ORA_HOME/bin/dbshut rm -f /var/lock/oracle echo "OK" ;; reloadrestart) stop start ;
; *) echo "Usage: startstoprestartreload" exit 1 esac exit 0
可以通过/etc/init.d/oracle start来启动oracle.
参考资料: 1.GNU/Linux Desktop Survival Guide,学习debian的最佳资料,其中有Oracle 10g安装章节
2.Oracle 中文网站上官方安装教程: 在 Linux x86 官方安装 Oracle 数据库 10g
3.Oracle 官方论坛 :Oracle Linux Forum
|