Ubuntu18.04安装Oracle19c(尝试记录)
按照网上教程主要分为四个大步骤:
Java的安装
Oracle安装前的准备
Oracle的安装环境配置
安装Oracle
1、Java安装
设置Java环境
sudo gedit /etc/profile
在文件末尾添加如下内容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后执行如下命令
source /etc/profile
echo $JAVA_HOME
验证Java是否安装成功:
java -version
2、Oracle安装前的准备
(1)运行以下命令来安装依赖项
sudo apt-get update
sudo apt-get dist-upgrade
重启系统
sudo init 6
再次检查更新
sudo apt-get dist-upgrade
(2)安装Oracle所需要的依赖包
sudo apt-get -y install automake
sudo apt-get -y install autotools-dev
sudo apt-get -y install binutils
sudo apt-get -y install bzip2
sudo apt-get -y install elfutils
sudo apt-get -y install expat
sudo apt-get -y install gawk
sudo apt-get -y install gcc
sudo apt-get -y install gcc-multilib
sudo apt-get -y install g++-multilib
sudo apt-get -y install ia32-libs
sudo apt-get -y install ksh
sudo apt-get -y install less
sudo apt-get -y install lesstif2
sudo apt-get -y install lesstif2-dev
sudo apt-get -y install lib32z1
sudo apt-get -y install libaio1
sudo apt-get -y install libaio-dev
sudo apt-get -y install libc6-dev
sudo apt-get -y install libc6-dev-i386
sudo apt-get -y install libc6-i386
sudo apt-get -y install libelf-dev
sudo apt-get -y install libltdl-dev
sudo apt-get -y install libmotif4
sudo apt-get -y install libodbcinstq4-1 libodbcinstq4-1:i386
sudo apt-get -y install libpth-dev
sudo apt-get -y install libpthread-stubs0
sudo apt-get -y install libpthread-stubs0-dev
sudo apt-get -y install libstdc++5
sudo apt-get -y install lsb-cxx
sudo apt-get -y install make
sudo apt-get -y install openssh-server
sudo apt-get -y install pdksh
sudo apt-get -y install rlwrap
sudo apt-get -y install rpm
sudo apt-get -y install sysstat
sudo apt-get -y install unixodbc
sudo apt-get -y install unixodbc-dev
sudo apt-get -y install unzip
sudo apt-get -y install x11-utils
sudo apt-get -y install zlibc
(3) 检查系统变量
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/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
根据每一条显示的信息更新下列参数的值。并将下列参数写入 /etc/sysctl.conf 中
sudo vim /etc/sysctl.conf
fs.aio-max-nr = 65536
fs.file-max = 13158378
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
kernel.shmmni = 4096
kernel.sem = 32000 1024000000 500 32000
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
运行一下命令更新内核参数:
sudo sysctl –p
(其他)这部第二种方式(未实验,配合已创建Oracle用户的)
Create user and groups(这部我跳过了,注意这个不是Ubuntu的对应路径)
sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle
sudo mkdir /home/oracle
sudo chown -R oracle:dba /home/oracle
sudo mkdir -p /u01/app/oracle
sudo mkdir -p /u01/binaries
sudo chown -R oracle:dba /u01
为oracle用户创建密码:输入两次
sudo passwd oracle
运行以下为oracle用户改变一些系统参数
sudo cp /etc/security/limits.conf /etc/security/limits.conf.original
echo “#Oracle 12C shell limits:” | sudo tee -a /etc/security/limits.conf
echo “oracle soft nproc 2048” | sudo tee -a /etc/security/limits.conf
echo “oracle hard nproc 16384″| sudo tee -a /etc/security/limits.conf
echo “oracle soft nofile 1024” | sudo tee -a /etc/security/limits.conf
echo “oracle hard nofile 65536” | sudo tee -a /etc/security/limits.conf
echo “oracle soft stack 10240” | sudo tee -a /etc/security/limits.conf
echo “oracle hard stack 32768” | sudo tee -a /etc/security/limits.conf
运行以下命令改变内核参数
echo “#” | sudo tee -a /etc/sysctl.conf
echo “# Oracle 12C entries” | sudo tee -a /etc/sysctl.conf
echo “fs.aio-max-nr=1048576” | sudo tee -a /etc/sysctl.conf
echo “fs.file-max=6815744” | sudo tee -a /etc/sysctl.conf
echo “kernel.shmall=2097152” | sudo tee -a /etc/sysctl.conf
echo “kernel.shmmni=4096” | sudo tee -a /etc/sysctl.conf
echo “kernel.sem=250 32000 100 128” | sudo tee -a /etc/sysctl.conf
echo “net.ipv4.ip_local_port_range=9000 65500” | sudo tee -a /etc/sysctl.conf
echo “net.core.rmem_default=262144” | sudo tee -a /etc/sysctl.conf
echo “net.core.rmem_max=4194304” | sudo tee -a /etc/sysctl.conf
echo “net.core.wmem_default=262144” | sudo tee -a /etc/sysctl.conf
echo “net.core.wmem_max=1048586” | sudo tee -a /etc/sysctl.conf
echo “kernel.shmmax=1073741824” | sudo tee -a /etc/sysctl.conf
为使改变数据生效,执行:
sudo sysctl -p
创建启动脚本
mkdir /etc/rc.d
for i in 0 1 2 3 4 5 6 S
do sudo ln -s /etc/rc$i.d /etc/rc.d/rc$i.d
done
重启后用oracle用户登录。(至此全部我没有实验)
(4)添加对用户的内核限制
添加对heima3用户的内核限制在limits.conf文件中增加以下数据
注:其中heima3是我ubuntu系统的普通用户。个人感激没必要再创建一个用户专门用于Oracle,使用常用用户即可。(下面语句只改用户名就行)
vim /etc/security/limits.conf
heima3 soft nproc 2047
heima3 hard nproc 16384
heima3 soft nofile 1024
heima3 hard nofile 65536
heima3 soft stack 10240
(5)查看一些别的配置
1)查看/etc/pam.d/login,增加以下行(有了就不用增加了):
session required pam_limits.so
2)检查/etc/pam.d/su,没有以下行就自己加上:
session required pam_limits.so
(6)创建需要的文件夹,用来放Oracle的安装文件
sudo makdir /home/heima3/Oracle_install
(7)为Oracle配置环境变量
在 .profile 文件中添加变量。
sudo vim /etc/profile
在文件中添加环境变量
#oracle安装目录,第5步创建的文件夹
export ORACLE_BASE=/home/heima3/Oracle_install
#网上说可以随便写
export ORACLE_HOME=/home/heima3/app/product/19.3.0/dbhome_1 #版本号
#数据库的sid
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
#环境变量
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;
变量设置完成后,别忘记让 profile 变量生效
source /etc/profile
再确定一遍
echo $ORACLE_HOME
(8)oracle默认不支持ubuntu需要欺骗一下oracle安装程序
sudo 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/libc_nonshared.a
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/libpthread_nonshared.a
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/
#运行命令进行伪装Ubuntu系统(二者运行其一)
echo \’Red Hat Linux release 7\’ > /etc/redhat-release
echo \’Red Hat Linux release 7\’ | sudo tee -a /etc/redhat-release
在执行最后一句
echo \’Red Hat Linux release 7\’ > /etc/redhat-release
出现错误,后来没能解决,在安装过程中并未出现影响。
注:以上是针对64位系统的,32位就是要将上面的x86_64-linux-gnu就都要改成i386-linux-gnu。
3、安装Oracle
(1)下载,
在官网下载:http://www.oracle.com/technetwork/cn/database/enterprise-edition/downloads/index.html
把下载好的文件移动到安装路径
sudo mv linuxamd64…database.zip /home/heima3/Oracle_install
使用unzip命令依次进行解压缩两个zip文件
cd /home/heima3/Oracle_install
sudo unzip linuxamd64…database.zip
解压完成后,执行ls命令查看是否有database文件夹(没有则创建,然后解压到这里面)
或者先解压,最后将生成一个database,然后在复制
(2) 运行文件
如果已经创建了Oracle用户,则执行这块,改变文件路径所属的用户组为oracle用户的dba组
chown -Rf oracle:dba /home/oracle/orainst/12.1.0.2
跳转到database目录,为了避免后面安装界面出现乱码,需要在这里输入:
export LANG=US
然后执行安装程序
./runInstaller -ignoreSysPrereqs