Centos7.6安裝Oracle11gR2


  Windows下安裝Oracle比較容易,參考博客:https://www.cnblogs.com/ggll611928/p/5972816.html ;但是在linux下就需要安裝桌面環境。

  安裝環境:

    系統:CentOS7.6  8核64G  磁盤1T(建議最小2核2G,50G)

    Oracle軟件版本:linux.x64_11gR2_database_1of2.zip

            linux.x64_11gR2_database_2of2.zip

1 下載Oracle

  官方下載地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 

  linux.x64_11g下載地址:https://www.oracle.com/technetwork/cn/java/112010-linx8664soft-100572.html

  官網下載時需要登陸Oracle賬號,沒有的可以注冊一個。

2 基礎環境准備

2.1 關閉防火牆和selinux

  測試環境,為了方便快速穩定部署,生產環境不建議關閉防火牆和selinux。建議提前做好系統優化,優化參考腳本→點擊進入

systemctl status firewalld  
systemctl disable firewalld
systemctl disable firewalld
#firewall-cmd --zone=public --add-port=1521/tcp --permanent #如果打開防火牆的話,需放開Oracle1521端口 
#firewall-cmd --reload #增加新的配置需重新加載 
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config 
setenforce 0 
getenforce

2.2 創建運行Oracle用戶和用戶組

  創建的這些用戶組的說明,請參考:https://blog.csdn.net/qq_32786873/article/details/82187346

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
id oracle
mkdir -p /home/data/oracle          #創建oracle安裝目錄
mkdir -p /home/data/database        #創建oracle解壓目錄
mkdir -p /home/data/oraInventory    #創建oracle配置文件目錄
chown -R oracle:oinstall /home/data    #設置oracle用戶為目錄的所有者
chmod -R 775 /home/data

2.3 修改Oracle用戶限制

  執行vim /etc/security/limits.conf文件,修改操作系統對oracle用戶資源的限制。

oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536

  要使limits.conf文件配置生效,必須要確保pam_limits.so文件被加入到啟動文件中。編輯文件:vim /etc/pam.d/login

session    required    /lib/security/pam_limits.so
session    required    pam_limits.so

  為了能讓每個用戶在每次登陸系統之后,都能自動設置其最大可啟動進程數與最多可開啟文件數,設置 /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使之生效。

2.4 配置內核參數和資源限制

  編輯/etc/sysctl.conf文件,設置相關參數的系統默認值。每次操作系統啟動時,便會自動設置這些內核參數。

####oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 查看並生效:(-p:從指定的文件加載系統參數,如不指定即從/etc/sysctl.conf中加載)

2.5 配置Oracle用戶環境變量

  設置用戶環境變量,將下列設置添加到 /home/oracle/.bash_profile文件中;注意:要寫到原有“PATH=$PATH:$HOME/bin”變量上面,否則會提示“bash: sqlplus: command not found”

umask 022
export ORACLE_BASE=/home/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH

  切換oracle用戶,執行source /home/oracle/.bash_profile 或 . .bash_profile使之生效。使用echo $ORACLE_HOME 來顯示是否生效

2.6 配置主機名監聽

  增加主機名,若不執行此步,則配置監聽時會出錯,系統無法識別監聽。

hostnamectl set-hostname oracle
cat /etc/sysconfig/network
# Created by anaconda
hostname=oracle
cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.16.245 oracle

2.7 安裝指定jdk

  在linux下安裝oracle時,由於執行 runInstaller腳本時, 部分提示框顯示不全,也有顯示正常的,為保險起見還是安裝好1.8jdk,直接執行install_jdk.sh腳本

#!/bin/bash
# sources variables 
check_user=`id -u`
if [ ${check_user} != "0" ];then
        echo "Must be root can use !"
        exit 1
fi
JDK_version="jdk1.8.0_60"
BASE_dir="/usr/java"
SOFT_dir="/home/soft"
JDK_package="jdk-8u60-linux-x64.tar.gz"
JAVA_HOME="/usr/java/${JDK_version}"
source /etc/profile
function jdk_install(){
             [ -d ${SOFT_dir} ] || mkdir -p ${SOFT_dir}
             [ -e ${BASE_dir}/${JDK_version} ] && echo -e "\033[32m    ${JDK_version}已部署,請退出!!! \033[0m" 
            if [ -e ${BASE_dir}/${JDK_version} ];then
                 sleep 1 && exit 0
            else
               [ -f ${SOFT_dir}/${JDK_package} ] || echo -e "\033[36m    ${JDK_package}正在下載.... \033[0m"
               sleep 1 && wget -P ${SOFT_dir} http://101.201.123.222:2104/IF/MAN/${JDK_package}
               [ -d "${BASE_dir}" ] && rm -rf ${BASE_dir}/* || mkdir -p ${BASE_dir}
               sleep 1 &&  echo -e "\033[35m    正在解壓${JDK_package}.... \033[0m"
               cd ${SOFT_dir} && tar -xzf  ${JDK_package} -C ${BASE_dir}
               sleep 2;
               sed  -i '/JAVA_HOME*/d' /etc/profile
               sed -i.ori '$a export JAVA_HOME=/usr/java/jdk1.8.0_60\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
               source /etc/profile && . /etc/profile
               echo "JAVA_HOME=$JAVA_HOME"  
               echo `$JAVA_HOME/bin/java -version`
               echo -e "\033[32m    JDK已部署成功!!! \033[0m" 
           fi
}
function main(){
             jdk_install
}
main
View Code

  安裝jdk參考另一篇博客:https://www.cnblogs.com/qianjingchen/p/9547815.html

3 安裝Oracle11g2R

3.1 安裝相關依賴包

  安裝系統依賴包,這一步也是最關鍵出錯的地方,所以一定要注意:

yum -y install binutils-* compat-libcap1-* gcc-* gcc-c++-* glibc-* glibc-devel-* glibc-headers-* libstdc* elfutils-libelf-devel* libaio-devel* unixODBC-* pdksh-* libaio-* libgcc-* libXi-* libXtst-* make-* sysstat-* ld-linux.so.2 libc.so.6*
wget ftp://ftp.icm.edu.pl/vol/rzm3/linux-redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm #默認pdksh會無法安裝,使用rpm安裝
rpm -ivh pdksh-5.2.14-1.i386.rpm

3.2 安裝圖形化桌面 

   安裝oracle之前,Centos需要安裝桌面環境,如果你的機器一開始就已經裝好了桌面環境,可以忽略此步驟。我這里安裝完系統,默認是命令行界面,這時就需要手動來安裝用戶圖形界面了。

   查看一下當前的運行級別和可以安裝的group:

systemctl get-default
yum grouplist

  用命令行安裝GNOME包,這需要等待很長一段時間:

yum groupinstall "GNOME Desktop" "Graphical Administration Tools" 

  如果是centos6,安裝命令是 yum install "X Window System"。在centos7里面的默認運行級別可以查看到有兩種:multi-user.target和graphical.target。 

  更新系統的運行級別為graphical.target,設置默認啟動圖形界面:

systemctl set-default graphical.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
systemctl get-default  #檢查一下

  重啟系統reboot,然后開機就能進入圖形界面,按照提示設置普通用戶登錄密碼,語言和時區等。

3.3 解壓縮包並安裝

  將下載好的Oracle安裝文件上傳到CentOs上去,我這里放到了/home/soft目錄下;

 

   執行解壓命令到指定目錄:

unzip linux.x64_11gR2_database_1of2.zip -d /home/data/  
unzip linux.x64_11gR2_database_2of2.zip -d /home/data/

  /home/oracle/database 有執行權限,將該目錄賦予oracle帳號所有,並擁有執行權限:

chmod -R 700 /home/data/database 
chown -R oracle:oinstall /home/data/database

  切換為oracle 用戶,以靜默方式執行安裝腳本:注意此步驟一定要在圖形桌面上執行

#切換到root用戶執行
# xhost +SI:localuser:oracle
#登錄回oracle用戶:
# su - oracle
$ cd /home/oracle/database
$ source /home/oracle/.bash_profile
$ export DISPLAY=10.10.16.245:0.0
$ ./runInstaller  -jreLoc /usr/java/jdk1.8.0_60/ #如果是中文字符集亂碼,就執行:unset LANG LANGUAGE,再次執行安裝腳本。這里指定jdk版本是因為后面會有窗口顯示不全問題。

 

  取消選中這個界面上的I wish to receive security updates via My Oracle Support 復選框,點擊Next

  直接默認yes,點擊下一步,默認創建和配置一個數據庫:

  選擇服務類:

  選擇單實例數據庫:

  我這里選擇典型安裝,也可以選擇高級安裝,安裝步驟更多:

  選擇典型安裝Oracle基本配置:最好保持和ORACLE_BASE&&ORACLE_HOME配置環境變量一致,點擊yes

  選擇清單目錄、即Oracle配置文件存放目錄:用戶組選擇默認

   先決條件檢查:查看缺失的依賴包

 

  最好不要選擇右上角“Igrnore all”(全部忽略),如下圖顯示,有些包還沒有安裝,里面顯示是需要32位(i386)的,相關文件已經打包好。下載地址:鏈接: https://pan.baidu.com/s/1Wr_csyUtsg0UFulXE5qoNA  提取碼: v2e5 

  使用方法:在root用戶下,解壓后直接./oracle_rpm_setup.sh即可自動安裝全部的包。

unzip oracle_rpm_setup.zip
cd oracle_rpm_setup/
./oracle_rpm_setup.sh

 點擊"Check Again"后,之前提示包全部完成,剩下的可以忽略。

  直接下一步,在Summary界面,保持默認,點擊Finish,開始安裝:

  安裝過程中,差不多需要15—30分鍾左右,其中會有一些錯誤提示,不過不影響,我們選擇continue和默認即可。

 

  安裝完成后會提示需要執行兩個腳本, 使用root賬戶執行兩個腳本即可完成所有安裝步驟。

  登錄root用戶,到下面的兩個目錄下執行腳本即可。

cd /home/data/oraInventory/
sh orainstRoot.sh
cd /home/data/oracle/product/11.2.0/db_1
sh root.sh

 

  點擊close,至此完成Oracle的配置和安裝:

 4 啟動oracle和配置監聽

  linux下的Oracle在安裝結束后是處於運行狀態的。端口號1521,運行top -u oracle可以看到以Oracle用戶運行的進程。在圖形化界面下,運行$ORACLE_HOME/sqldeveloper/sqldeveloper.sh可以出現Oracle自帶的免費Oracle管理客戶端SQL Developer。試着連接剛安裝的Oracle,連接成功。

 

4.1 以oracle用戶登錄

  以oracle身份登錄數據庫,進入Sqlplus控制台:

# su - oracle
$ sqlplus /nolog      --進入Sqlplus控制台
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 4 17:48:39 2019

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> connect / as sysdba    --以系統管理員登錄
Connected.
SQL> startup    --啟動數據庫實例
ORA-01081: 無法啟動已在運行的 ORACLE - 請首先關閉它
SQL> shutdown immediate    --關閉數據庫實例
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit        --退出sqlplus控制台
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

4.2 啟動監聽服務

  以oracle身份登錄數據庫,前提是首先啟動數據庫,也可以用dbstart和dbshut啟動和關閉數據庫實例

$ dbstart $ORACLE_HOME #重啟oracle實例
$ dbshut $ORACLE_HOME  #關閉oracle實例
$ lsnrctl status #查看監聽狀態
$ lsnrctl stop   #關閉監聽,1521端口關閉
$ lsnrctl start    #啟動監聽,1521端口開啟
$ dbca        #創建數據庫實例orcl,圖形界面操作

  

  

  

  

 

  

  

 

 

 

 

  

 


免責聲明!

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



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