1. 前言
本篇只是简单安装,满足学习Oracle的使用
2. 环境
Ubuntu:16.04
Oracle: linux.x64_11gR2_database
JDK: jdk-8u144-linux-x64.tar
这些东西我会放在文末的百度云中,有需要可以自取
3. 安装Oracle前的准备
安装并配置JDK
安装JDK之前我需要先下载一个vim,方便我们编辑文档。
使用命令:
sudo apt-get install vim等待它自动安装即可
使用命令
mkdir software和mkdir module创建两个文件夹,然后将jdk拖到software中使用命令
tar -zxf software/jdk-8u144-linux-x64.tar.gz -C module/安装JDK
在家目录下使用命令
vim .bash_profile在英文状态下按i进入编辑模式后在里面添加如下内容1
2
3
4
5
6
7
8#将lzm改成你自己的用户名
export JAVA_HOME=/home/lzm/module/jdk1.8.0_144
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
添加好后esc,在英文状态下输入
:wq进行保存然后使用命令
source .bash_profile来是配置生效使用命令
java -version如果出现如下的信息就代表配置成功了
安装依赖
因为依赖是32位的所以需要换源安装,并且需要以管理员模式来操作
sucd /etc/apt/sources.list.decho "deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse" > ia32-libs-raring.listapt updateapt-get -y install lesstif2 lesstif2-dev



这样我需要安装的依赖就安装好了,现在我们需要将其还原
rm -rf ia32-libs-raring.listapt update
现在我们可以退出管理员账户了使用命令
exit
然后我们安装其余的依赖
sudo apt-get -y install automake autotools-dev binutils bzip2 elfutils expat gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 libc6-i386 libelf-dev libltdl-dev libxm4 libodbcinstq4-1 libodbcinstq4-1:i386 libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc


等待安装就行了配置环境
使用下面的命令查询参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max
/sbin/sysctl -a | grep shmall
/sbin/sysctl -a | grep shmmax
/sbin/sysctl -a | grep shmmni将查询出来的参数填入下面对应的地方
1
2
3
4
5
6
7
8
9
10
11kernel.sem = 32000 1024000000 500 32000
fs.file-max = 242293
fs.aio-max-nr = 65536
net.ipv4.ip_local_port_range = 32768 60999
net.core.rmem_default = 212992
net.core.rmem_max = 212992
net.core.wmem_default = 212992
net.core.wmem_max = 212992
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096如果版本一样可以直接复制
修改sysctl.conf文件,使用命令
sudo vim /etc/sysctl.conf将上面的内容添加到文件中

更新内核参数
sysctl –p如果这里报
sysctl: cannot stat /proc/sys/–p可以参考一下··········添加用户的内核限制(我的用户名是lzm)
sudo vim /etc/security/limits.conf1
2
3
4
5lzm soft nproc 2047
lzm hard nproc 16384
lzm soft nofile 1024
lzm hard nofile 65536
lzm soft stack 10240
创建文件夹
mkdir module/oracle11g

配置Oracle的环境变量
vim .bash_profile将下面内容添加到文件中
1
2
3
4
5
6
7
8
9
10
11export ORACLE_BASE=/home/lzm/module/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64
然后使用命令
source .bash_profile来是配置生效欺骗oracle的安装设置
1
2
3
4
5
6
7
8
9
10sudo mkdir /usr/lib64
sudo ln -s /etc /etc/rc.d
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64/
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/basename /bin/basename
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /lib64/
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/
切换root账户
suecho 'Red Hat Linux release 5' > /etc/RedHat-releaseexit
4. 安装Oracle
解压
将压缩包拖到software中
使用命令
unzip -d module/oracle11g software/linux.x64_11gR2_database_1of2.zipunzip -d module/oracle11g software/linux.x64_11gR2_database_2of2.zip安装(这里要在虚拟机内进行,shell工具不行)
cd module/oracle11g/database/LANG=en_US ./runInstaller
./runInstaller -jreLoc ~/module/jdk1.8.0_144/jrecd /tmp/CVU_11.2.0.1.0_lzm/
sudo ./runfixup.sh
sudo sed -i ‘s/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/network/lib/env_network.mk
sudo sed -i ‘s/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk
sudo sed -i ‘s/^($LD $LD_RUNTIME) ($LD_OPT)/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/bin/genorasdksh
sudo sed -i ‘s/^(\s*)($(OCRLIBS_DEFAULT))/\1 -Wl,–no-as-needed \2/g’ tool/oracle11g/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk