1. 切换到root用户
sudo–i
apt-get update
apt-get dist-upgrade
2. 安装环境包
sudo apt-get install automake
sudo apt-get install autotools-dev
sudo apt-get install binutils
sudo apt-get install bzip2
sudo apt-get install elfutils
sudo apt-get install expat
sudo apt-get install gawk
sudo apt-get install gcc
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
sudo apt-get install ia32-libs
sudo apt-get install ksh
sudo apt-get install less
sudo apt-get install lesstif2
sudo apt-get install lesstif2-dev
sudo apt-get install lib32z1
sudo apt-get install libaio1
sudo apt-get install libaio-dev
sudo apt-get install libc6-dev
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6-i386
sudo apt-get install libelf-dev
sudo apt-get install libltdl-dev
sudo apt-get install libmotif4
sudo apt-get install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get install libpth-dev
sudo apt-get install libpthread-stubs0
sudo apt-get install libpthread-stubs0-dev
sudo apt-get install libstdc++5
sudo apt-get install lsb-cxx
sudo apt-get install make
sudo apt-get install openssh-server
sudo apt-get install pdksh
sudo apt-get install rlwrap
sudo apt-get install rpm
sudo apt-get install sysstat
sudo apt-get install unixodbc
sudo apt-get install unixodbc-dev
sudo apt-get install unzip
sudo apt-get install x11-utils
sudo apt-get install zlibc
3. 在/etc/sysctl.conf加入以下配置
# Oracle 11gR2 kernel parameters
fs.aio-max-nr=1048576
fs.file-max=6815744
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem=250 32000 100 128
kernel.shmmax=2147483648
net.ipv4.ip_local_port_range=9000 65500
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=1048586
4. 生效配置
sysctl -p
5. 在/etc/security/limits.conf加入
#Oracle 11gR2 shell limits
yuantiaotech soft nproc 2048
yuantiaotechhard nproc 16384
yuantiaotechsoft nofile 1024
yuantiaotechhard nofile 65536
yuantiaotechsoft stack 10240
6. 在/etc/pam.d/login和/etc/pam.d/su中加入
session required pam_limits.so
7. 创建目录
mkdir /opt/
8. 修改访问权限
chown -R yuantiaotech /opt/
chmod -R 775 /opt/
9. 修改用户配置/etc/profile
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_OWNER=yuantiaotech
export ORACLE_SID=orcl
export NLS_LANG=.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin
10. 生效配置
source /etc/profile
11. 建立库链接
mkdir /usr/lib64
ln -s /etc /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/basename /bin/basename
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
#Oracle 安装日志提示缺少某个.a或.so库时,建立链接即可
12. 设置linux版本
echo 'Red Hat Linux release 5' > /etc/redhat-release
13. 解决乱码
export LANG=en_US
14. 解压oralce安装包
unzip -q linux.x64_11gR2_database_1of2.zip
unzip -q linux.x64_11gR2_database_2of2.zip
cd /database
./runInstaller
15. 图像界面配置
Ubuntu Server安装oracle必须使用图像界面#Desktop版本忽略此步
apt-get install x-window-system-core #安装环境
找一台带有Desktop的ubuntu
ssh -X yuantiaotech@IP地址 #登录到Server上
./runInstaller #启动安装
16. 安装异常解决
异常Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
类似异常解决方案:
在另一个终端执行
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk
sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
安装中会提示需要执行在root权限下执行两个脚本,另打开一个终端执行即可。
17. Oracle配置修改
cd $ORACLE_HOME/network/admin
确认listener.ora和tnsnames.ora中所有HOST=当前机器的hostname
18. 启动oracle
•#设置权限,执行一次即可
修改/etc/oratab文件orcl:/opt/app/oracle/product/11.2.0/dbhome_1:Y #末尾的N改为Y,否则dbstart启动后不会自动启动实例
exit #切换回安装用户
dbstart $ORACLE_HOME
19. 设置开机启动Oracle
sudo touch /etc/init.d/oracle #创建
sudo vim /etc/init.d/oracle #打开
写入
#! /bin/sh
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=/opt/app/oracle/product/11.2.0/dbhome_1
export ORACLE_OWNER=yuantiaotech
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su-$ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo "OK"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart|reload"
exit 1
esac
exit 0
退出vim
修改文件权限sudochmod 755 /etc/init.d/oracle
设置文件链接
ln -s /etc/init.d/oracle /etc/rc.d/rc2.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc4.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S99oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc0.d/K01oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc1.d/K01oracle
ln -s /etc/init.d/oracle /etc/rc.d/rc6.d/K01oracle
20. 卸载
在LINUX卸载ORACLE的方法:
$ORACLE_HOME/bin/localconfig
delete
rm -rf $ORACLE_BASE/*
rm -f /etc/oraInst.locetc/oratab
rm -f /etc/inittab.cssd
rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv
userdelyuantiaotech #删除用户
注:使用sqlplus /nolog连接时务必使用安装的dba用户。