安装10g express一直有问题,决定安装oracle 10g版本。
这个安装要比xe版复杂得多。
一、安装前的准备
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空间。
2.系统参数调整
修改/etc/sysctl.conf,添加
#我的机器只有1G内存
kernel.shmmax = 1073741824
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、安装设置
确保你已经安装了下列软件
sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++5 gawk
确保你的系统中有以下组和用户,方法:
#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
mkdir -p /u01/app
chown -R oracle.oinstall /u01/app
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,按以下方法进行解压:
su – oracle
wget http://mirrors.cn99.com/oracle/10g/10201_database_linux32.zip
unzip 10210_database_linux32.zip
若是远程连接到服务器,则需要这样操作:
ssh -X oracle@your_server_ip
export ORACLE_BASE=/u01/app
export ORACLE_SID=orcl #你可以自己命名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
执行
cd database
LC_ALL=en_US ./runInstaller
三、安装后
oracle启动脚本/etc/init.d/oracle
su
nano /etc/init.d/oracle
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interfaceexport ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1/
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/binORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage displaycase "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oraclesu $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracleecho "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
chmod 755 /etc/init.d/oracledb
update-rc.d oracledb defaults 99
可以通过/etc/init.d/oracle start来启动oracle.
参考:
1 http://sysop.com.cn/system5504,1.html
2 https://help.ubuntu.com/community/Oracle10g
3 http://mirrors.cn99.com/oracle/10g/
发表回复