(一) 系统需求
Ubuntu 11.10 x64
Gcc 4.6.1
Oracle 10g for linux_x86_64
Swap分区:>1GB
如果不够,执行以下指令:
$ dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=100
$ swapon –s
$ chmod 600 /tmp/tmp.swap
$ mkswap /tmp/tmp.swap
$ sudo swapon /tmp/tmp.swap
安装完毕之后恢复swap:
$ swapoff /tmp/tmp.swap
$ rm /tmp/tmp.swap
(二) 系统参数设置
1、 修改/etc/sysctl.conf文件:
$ sudo gedit sysctl.conf
添加:
kernel.shmmax= 3147483648
kernel.shmmni= 4096
kernel.shmall= 2097152
kernel.sem= 250 32000 100 128
fs.file-max= 65536
net.ipv4.ip_local_port_range= 1024 65000
2、 修改/etc/security/limits.conf文件:
* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
3、 使配置生效:
$ sudo sysctl -p
4、 修改/etc/profile文件:
If [ $USER=”oracle”]; then
Umask 022
Ulimit –u 16384 –n 65536
fi
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/10.2
export ORACLE_OWNER=oracle
export ORACLE_SID=BDSSDB
export ORACLE_TERM=xterm
export TMP=/tmp
export TMPDIR=/tmp
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$ORACLE_HOME/bin: $PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
5、 需用到的工具和库安装:
$ sudo apt-get install make binutils lesstif2 libc6 libc6-dev rpm libmotif4 libaio1 libstdc++6 alien build-essential mawk
$ sudo apt-get install gcc-4.6-multilib
$ sudo ln –s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5
$ sudo ln –s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so
$ sudo ln –s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/libgcc_s.so.1
6、 创建软链接:
将以下内容建立至shell文件并以root权限执行
#!/bin/bash
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
mkdir /etc/rc.d
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/init.d /etc/rc.d/init.d
(三) 用户及群组设置
1、 添加群组:
$ addgroup oinstall
$ addgroup dba
$ addgroup nobody
2、 添加用户
$ sudo mkdir /home/oracle
$ sudo chown oracle:oinstall /home/oracle
$ sudo chmod 755 /home/oracle -R
$ sudo useradd -g oinstall –G dba –d /home/oracle –m –s /bin/bash oracle
$ sudo gedit /etc/sudoers
添加:
oracle ALL=(ALL:ALL) ALL
3、 修改密码
$ sudo passwd oracle
4、 创建目录
$ sudo mkdir –p /opt/oracle/product/10.2
$ sudo chown –R oracle:oinstall /opt/oracle
$ sudo chmod –R 775 /opt/oracle
(四) 图形化安装
1、 以oracle用户重新登录;
2、 下载oracle10g安装包,并解压:
$ cpio –imdv < 10201_database_linux_x86_64.cpio
3、 设置语言环境,防止出现乱码:
$ export LANG=en_US
4、 设置编译器:
$ cd /usr/bin
$ sudo mv gcc gcc.bin
$ sudo gedit gcc
添加以下内容:
#!/bin/bash
gcc.bin -Wl,--no-as-needed $@
$ sudo chmod 755 gcc
$id
$ sudo echo "1001">/proc/sys/vm/hugetlb_shm_group
"1001"为oinstall的组id
5、 开始安装:
$ cd database
$ ./runInstaller –ignoreSysPrereqs
6、 在图形界面下设置路径,用custom方式安装,注意添加listener及service配置,并添加新的数据库BDSSDB。
如果遇到“ins_emdb.mk”的错误,直接continue
7、 安装完毕,以root权限执行2个sh文件:
$ cd /opt/oracle/oraInventory
$ sudo ./orainstRoot.sh
$ cd $ORACLE_HOME/
$ sudo root.sh
8、 修改oratab文件:
$ sudo gedit /etc/oratab
修改以下内容:(如果没有就添加)(系统启动时自动启动数据库实例)
BDSSDB:/opt/oracle/product/10.2:Y
9、 修改dbstart文件:
$ cd $ORACLE_HOME/bin
$ gedit dbstart
修改ORACLE_HOME_LISTNER:
ORACLE_HOME_LISTNER=/opt/oracle/product/10.2
10、 创建自启动脚本oracledb到/etc/init.d/oracledb:
#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_HOME=/opt/oracle/product/10.2
export ORACLE_SID=BDSSDB
export PATH=$ORACLE_HOME/bin:$PATH
export DISABLE_HUGETLBFS=1
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "[Oracle Error] dbstart command does not exist, quitting..."
exit 1
else
echo "[Oracle Info] dbstart existance check OK"
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo "[Oracle Info] Starting oracle"
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
if [ $? -ne 0 ]
then
echo "[Oracle Error] listener failed to start"
exit 1
else
echo "[Oracle Info] listener start OK"
fi
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "[Oracel Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
if [ $? -ne 0 ]
then
echo "[Oracle Error] dbstart failed to start"
exit 1
else
echo "[Oracle Info] dbstart OK"
fi
touch /var/lock/oracle
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl start dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
if [ $? -ne 0 ]
then
echo "[Oracle Error] dbconsole failed to start"
exit 1
else
echo "[Oracle Info] dbconsole start OK"
fi
echo "[Oracle Info] Starting oracle ended OK"
;;
stop)
# Oracle listener and instance shutdown
echo "[Oracle Info] Shutdown Oracle: "
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
echo "[Oracle Info] su $ORA_OWNR -c ""$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
rm -f /var/lock/oracle
echo "[Oracle Info]su $ORA_OWNR -c ""$ORACLE_HOME/bin/emctl stop dbconsole"
su $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "[Oracle Info] Shutdown Oracle ended OK"
;;
reload|restart)
echo "[Oracle Info]: $1 oracle"
$0 stop
$0 start
;;
*)
echo "[Oracle Error] Unknown context: $1"
echo "[Oracle Info] Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
设置权限并放到启动脚本:
$ sudo chmod 755 /etc/init.d/oracledb
$ sudo update-rc.d oracledb defaults 99
测试一把:
$ sudo /etc/init.d/./oracledb reload
11、 进入数据库管理界面:
打开浏览器,进入:http://localhost:1158/em
(五) 静默安装
(待续)