Ø 簡介
本文記錄在 CentOS 7 中安裝 Oracle 12c 的詳細步驟,以及注意事項。
安裝環境如下:
Linux 內核版本:CentOS Linux release 7.6.1810 (Core)
Oracle 12c 版本:12.2.0.1.0(Enterprise Edition)
n 准備工作
首先在官網下載 Oracle 12c 軟件包,下載地址:Oracle Database 12c Release 2,選擇 Linux x86-64
n 友情提示:在 Linux 中安裝 Oracle 不比在 Window 中安裝那樣簡單,每個環節必須小心謹慎,一個不小心可能會導致整體安裝失敗。
1. 系統配置
1) 配置 hosts
echo "192.168.1.150 abeam150" >> /etc/hosts
2) 關閉防火牆
systemctl stop firewalld.service
systemctl disable firewalld.service
3) 安裝 oracle 所需軟件包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
檢查是否安裝成功(31個安裝包)
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
4) 配置內核參數
# 文件末尾添加如下配置:
fs.aio-max-nr = 1048576 #異步IO請求數目推薦值是:1048576 其實它等於1024*1024 也就是1024k
fs.file-max = 6815744 #打開的文件句柄的最大數量,防止文件描述耗盡問題
kernel.shmall = 2097152 #該參數表示系統任意時刻可以分配的所有共享內存段的總和的最大值(以頁為單位).其值應不小於shmmax/page_size(getconf PAGESIZE可以查詢到).缺省值就是2097152
#64 位 linux 系統:可取的最大值為物理內存值 -1byte ,建議值為多於物理內存的一半,一般取值大於 SGA_MAX_SIZE 即可,可以取物理內存 -1byte.例:內存為 16G 時,該值為 16*1024*1024*1024-1 = 17179869183,4G=4294967295,8G=8589934591
kernel.shmmni = 4096 #缺省為32M,對於oracle來說,該缺省值太低了,通常將其設置為2G
kernel.sem = 250 32000 100 128 #SEMMSL: 每個信號集的最大信號數量 SEMMNS:用於控制整個 Linux 系統中信號的最大數 SEMOPM: 內核參數用於控制每個 semop 系統調用可以執行的信號操作的數量 SEMMNI :內核參數用於控制整個 Linux 系統中信號集的最大數量
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 = 1048586 #套接字發送緩沖區大小的最大值
# 更改好后使之生效
sysctl -p
5) 配置 oracle 資源限制
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 #堆棧設置
oracle hard stack 32768
6) 使用 pam_limits 安全認證模塊
vi /etc/pam.d/login
# 文件末尾添加如下內容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
7) 配置 oracle 登錄環境變量
vi /etc/profile
# 文件末尾添加如下內容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
8) 創建用戶組、用戶、目錄、權限
groupadd dba
useradd -g dba oracle
echo "oracle" | passwd --stdin oracle
mkdir -p /opt/oracle/app/oracle
chown -R oracle:dba /opt/oracle
chmod -R 775 /opt/oracle
9) 配置 oracle 用戶環境變量
su - oracle
vi ~/.bash_profile
# 將 export PATH 刪除掉
umask 022
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_UNQNAME=devzxsm
export ORACLE_SID=devzxsm
export LANG=zh_CN.UTF-8
export NLS_LANG="AMERICAN_AMERICA".ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
source ~/.bash_profile
env | grep ORACLE
注意:以上配置完成后,reboot 重啟系統。
2. 安裝 Oracle 數據庫
使用 oracle 用戶以 x window 模式登錄系統。
1) 將數據庫安裝文件上傳至 /opt/oracle/ 目錄下
env | grep ORACLE #檢查環境變量
source ~/.bash_profile #注意:這里需要在次執行(如果是 Xstart 登錄)
cd /opt/oracle
unzip linuxx64_12201_database.zip
cd database
./runInstaller #啟動安裝程序
如果使用的阿里雲 ESC 雲服務器,默認 CentOS 7.6 是沒有分配 swap 分區的,Oracle 會給出提示:
free -m
此時,需要手動分配 swap 空間:
su - root
mkdir /var/swap
chmod 700 /var/swap
# 創建指定大小的文件(用於掛載 swap 的文件)
dd if=/dev/zero of=/var/swap/2GB01.swap bs=1024k count=2048
chmod 600 /var/swap/2GB01.swap
mkswap /var/swap/2GB01.swap
vi /etc/fstab #設置自動掛載,加入以下參數
/var/swap/2GB01.swap swap swap defaults 0 0
reboot #重啟后生效
free -m
再回到第1步,正常情況下會顯示以下信息:
2) 進入圖形界面安裝(共12個步驟)
說明:在下面的步驟中,采用默認的或不重要的步驟,就略過了。
3) 第3步(選擇服務器類)
4) 第5步(選擇高級安裝)
5) 第6步(選擇企業版)
6) 第7步(之前配置的環境變量,默認即可)
7) 第8步(之前配置的環境變量,默認即可)
8) 第9步(默認即可)
9) 第10步(創建為非容器數據庫)
如果創建為容器數據庫:這里將數據庫名改為:zxsm,可插入數據庫名:zxsmpdb
10) 第11步
內存使用默認
字符集選擇“ZHS16GBK – GBK 16 簡體中文”
如果需要可以添加“示例方案”
11) 第15步(設置統一的密碼)
12) 第14步(選擇dba組)
13) 之前交換空間設置有點小,不過這里可以先忽略
14) 第18步(檢查沒有問題就可以安裝了)
15) 安裝過程中會彈出提示
以 root 用戶執行以下腳本,給出的提示回車即可:
/opt/oracle/app/oraInventory/orainstRoot.sh
/opt/oracle/app/oracle/product/12.2.0/dbhome_1/root.sh
16) 如果提示失敗
可能是 hosts 沒有設置正確,否則只能退出重新安裝了!
17) 安裝成功
刪除安裝文件
rm -f /opt/oracle/linuxx64_12201_database.zip
rm -rf /opt/oracle/database
18) 訪問 https://192.168.1.150:5500/em























