CentOS7 安裝Oracle12c資料庫

cv選手門三發表於2021-08-25

 

      在centos7上安裝oracle是一個比較麻煩的事,在安裝前需要做一些伺服器的準備工作

我是在虛擬機器裡測試的所以需要下載centos7的映象,可以去官網然後找到中國的映象站用迅雷外掛下載速度比較快這裡我選擇的是64位的,oracle也是64位的

準備一個oracle12c的資料庫,因為現在oracle官網改版了不能下載舊版本的了所以我找了好久都沒找到,然後在一個網盤裡扒拉到了一個12201版本的資料庫安裝包

伺服器配置

  1.首先用伺服器的root身份安裝依賴包(如果直接是root使用者登入的就直接執行下邊的,如果不是就開啟終端先執行 su - root命令然後輸入密碼密碼在終端裡是不顯示的)

yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

 

這個操作可以多做幾遍沒關係確保安裝成功了,做完這一步再測試一下看看安裝成功了沒有
rpm -q binutils compat-libcap1 compat-libstdc++  gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
如果出現包未安裝的提示,請用yum install 包名進行安裝。
例如 yum install compat-libstdc++*
  
 2.建立使用者和組:
groupadd oinstall 
groupadd dba 
useradd -g oinstall -G dba,oper oracle
echo "123456" | passwd --stdin oracle  #oracle使用者的登入密碼,後續登入要用,記著。

  3.建立安裝目錄:

 mkdir -p /orcl/app/oracle/product/12.1.0/db_1  #建立目錄

 chown -R oracle:oinstall /orcl/app  #分配使用者目錄許可權

 chmod -R 775 /orcl/app #給目錄分配許可權

上傳安裝包

這裡我用的是winSCP工具上傳的

我們把oracle12cLinux版本的安裝包上傳到

/orcl/app/oracle目錄

  4.修改核心引數vim /etc/sysctl.conf,新增:(如果沒有vim 就用vi編輯器)

fs.aio-max-nr = 1048576   
fs.file-max = 6815744   
kernel.shmall = 2097152   
kernel.shmmax =     4098955264    
kernel.shmmni = 4096   
kernel.sem = 250 32000 100 128  
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 = 1048576

 

改好後,使之生效

sysctl -p

 

# kernel.shmmax = 4098955264 這個地方因為每個人機器不一樣所以填的可能也不一樣,到時候看check那一步的時候推薦值是多少再改成多少就行

 

  5.改檔案限制:vi /etc/security/limits.conf,新增

oracle soft nproc 2047   
oracle hard nproc 16384 
oracle soft nofile 1024   
oracle hard nofile 65536   
oracle soft stack 10240    

 

  6.以及vi /etc/pam.d/login,新增:

session required pam_limits.so

 

  7.修改ulimit:vi /etc/profile,新增:

if [ $USER = "oracle" ]; then  
if [ $SHELL = "/bin/ksh" ]; then   
    ulimit -p 16384   ulimit -n 65536a   
    else   
    ulimit -u 16384 -n 65536   
fi   
fi

 

  8.修改環境變數。vi ~oracle/.bash_profile,新增:

ORACLE_BASE=/orcl/app/oracle  
ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1  
ORACLE_SID=orcl  
export ORACLE_BASE ORACLE_HOME ORACLE_SID  
PATH=$ORACLE_HOME/bin:$PATH 

  9.如果你的centos有自帶的openjdk就解除安裝掉沒有就不用管

yum remove *openjdk*

再安裝正常版本的jdk去oracle官網下載Linux版的jdk8

然後到下載的目錄執行

rpm -ivh jdk名字.rpm

例如rpm -ivh jdk-8u144-linux-x64.rpm

  10.開放伺服器的1521埠

 firewall-cmd --zone=public --add-port=1521/tcp --permanent 

 firewall-cmd --reload 

返回success代表成功期間可能會提示輸入root密碼

做完以上操作之後重啟伺服器

開始安裝oracle12c

  1. 重啟完伺服器用oracle這個使用者登入伺服器(我們在伺服器配置的第二步裡已經建立了一個名為oracle的使用者密碼為123456)
  2. 進入到安裝包目錄
cd /orcl/app/oracle
  1. 解壓安裝包
unzip linuxx64_12201_database.zip
  1. 進入到解壓目錄
cd /orcl/app/oracle/database
  1. 執行安裝命令
./runInstaller

 

安裝過程中可能會碰到的問題

1.swap size問題沒有檢查交換空間

安裝資料庫所需要的交換空間

問題

1.使用dd命令建立一個swap分割槽

dd if=/dev/zero of=/home/swap bs=1024 count=16777216

2.格式化剛才建立的分割槽

mkswap /home/swap

3.再使用swapon命令把這個檔案分割槽變成swap分割槽

swapon /home/swap

4.為了能夠讓swap自動掛載,需要修改etc/fstab檔案

vim /etc/fstab

# 在檔案末尾加上

/home/swap swap swap default 0 0

這樣就算重啟系統,swap分割槽也不用手動掛載了

5. 修改/etc/inittab檔案

vim /etc/inittab

# 在檔案末尾加上

swapon /home/swap

2.kernel.shmmax問題就是在伺服器配置的值為他推薦的值

相關文章