1. 程式人生 > >詳細講解在CentOS 7上安裝oracle 12c(內含軟件包)

詳細講解在CentOS 7上安裝oracle 12c(內含軟件包)

config 連接 run creating specific rac req ria disable

Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關系數據庫管理系統,系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。
ORACLE數據庫系統是美國ORACLE公司(甲骨文)提供的以分布式數據庫為核心的一組軟件產品,是目前最流行的客戶/服務器(CLIENT/SERVER)或B/S體系結構的數據庫之一。ORACLE數據庫是目前世界上使用最為廣泛的數據庫管理系統,作為一個通用的數據庫系統,它具有完整的數據管理功能;作為一個關系數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。

下面為oracle結構圖:
技術分享圖片

Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C數據庫引入的多租用戶環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。CDB全稱為Container Database,中文翻譯為數據庫容器,PDB全稱為Pluggable Database,即可插拔數據庫。在ORACLE 12C之前,實例與數據庫是一對一或多對一關系(RAC):即一個實例只能與一個數據庫相關聯,數據庫可以被多個實例所加載。而實例與數據庫不可能是一對多的關系。當進入ORACLE 12C後,實例與數據庫可以是一對多的關系。

技術分享圖片

安裝環境要求:
硬盤不少於50G
內存不低於4G
swap交換分區不少於8G
所掛載的磁盤類型為xfs
系統環境:
CentOS 7
IP:192.168.199.130
硬盤掛載目錄 /orc

軟件包鏈接:https://pan.baidu.com/s/1L3uH4h7-xOuT3mMDd1_pIg
提取碼:jvcx
oracle官網:https://www.oracle.com/index.html

下面我進行安裝演示:
1 關閉防火墻自啟動,以及相關功能和增強性安全功能

systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce 0

2 更改主機名oracle

vim /etc/hostname
HOSTNAME=oracle

技術分享圖片

3 添加本地主機名與本地IP地址的映射

vim /etc/hosts
192.168.199.130 oracle

技術分享圖片

4 安裝軟件環境包

yum -y install 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

5 調整內核參數

vim /etc/sysctl.conf
fs.aio-max-nr = 1048576   #異步IO請求數目 推薦值是:1048576 其實它等於 1024*1024 也就是 1024K 個
fs.file-max = 6815744   #打開的文件句柄的最大數量,防止文件描述符耗盡的問題
kernel.shmall = 2097152 #共享內存總量 頁為單位,內存除以4K所得
kernel.shmmax = 4294967295  
kernel.shmmni = 4096
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 = 1048576   #套接字發送緩沖區大小的最大值

重新加載配置文件

sysctl -p

6 創建用戶和組並給文件賦予權限

groupadd oinstall      #創建安裝組
groupadd dba           #創建管理員組
useradd -g oinstall -G dba oracle    #創建oracle用戶
passwd oracle   //密碼123123

mkdir -p /orc/app/oracle     #創建oracle的工作目錄
chown -R oracle:oinstall /orc/app/
chmod -R 755 /orc/app/oracle/

7 用戶環境配置

vim /home/oracle/.bash_profile   #oracle用戶環境配置
umask 022                                          #權限,設置的是反掩碼
ORACLE_BASE=/orc/app/oracle                        #指定基目錄
ORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/    #指定數據存放路徑
ORACLE_SID=orcl                                    #指定實例名稱
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8           #簡體中文語音字符集
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8

export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID

技術分享圖片

source /home/oracle/.bash_profile #重新加載環境變量

8 oracle用戶資源限制
使用pam_limits認證模塊

vim /etc/pam.d/login
session    required     /lib/security/pam_limits.so
session    required     pam_limits.so

技術分享圖片

#編輯對資源的設置

vim /etc/security/limits.conf
oracle        soft    nproc           2047       #單用戶可使用的進程數量
oracle        hard    nproc           16384
oracle        soft    nofile          1024       #用戶可打開的文件數量
oracle        hard    nofile          65536
oracle        soft    stack           10240      #堆棧設置

技術分享圖片

#修改環境變量配置文件
#在末行添加

vim /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

技術分享圖片

source /etc/profile #重新加載環境變量

9 安裝oracle,把解壓的database包掛載在Linux /abc中

mkdir /abc
mount.cifs //192.168.199.1/database /abc

10 下面的步驟在linux的圖形化界面操作

xhost + #以root用戶在圖形化界面操作

技術分享圖片

su - oracle    #切換oracle用戶
export DISPLAY=:0.0    #設置圖形化界面顯示
cd /abc
./runInstaller    #執行abc目錄下的該腳本

執行完runInstaller腳本後便會出現oracle的安裝界面
技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

在安裝至79%時會跳出一個界面,這是需要根據它的要求以‘root’用戶執行這兩個腳本,可以在遠程操作界面上執行。
技術分享圖片

先以‘root’用戶執行第一條命令
技術分享圖片

接著執行第二條命令,根據提示選擇yes,如果沒有提示可以直接回車

/orc/app/oracle/product/12.2.0/dbhome_1/root.sh

Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /orc/app/oracle/product/12.2.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : 
yes
Installing Oracle Trace File Analyzer (TFA).
Log File: /orc/app/oracle/product/12.2.0/dbhome_1/install/root_oracle_2018-10-10_11-41-29-314304832.log
Finished installing Oracle Trace File Analyzer (TFA)

兩條命令執行完成後再次到這個界面點擊確定
技術分享圖片

最後點擊關閉完成安裝
技術分享圖片

11 在瀏覽器上訪問https://192.168.199.130:5500/em 可以進入oracle的監控頁面,登錄用戶為‘sys’,這是oracle的管理員用戶,密碼填寫自己之前設定的即可
技術分享圖片

登入後便會顯示該界面
技術分享圖片

sqlplus / as sysdba #進入數據庫

詳細講解在CentOS 7上安裝oracle 12c(內含軟件包)