按照網上教程主要分為四個大步驟:
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