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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM