天天看點

在Centos7 下安裝 Oracle11g

系統要求以及準備

  • 實體記憶體不小于1G: 檢視方式:
  • 可用硬碟不小于8G: 檢視方式:
  • Swap分區空間不小于2G: 檢視方式:
  • 關閉firewalld防火牆
# systemctl status` firewalld.service    #檢視firewalld防火牆狀态
# systemctl stop firewalld.service      #關閉firewalld防火牆
# systemctl disable firewalld.service   #禁止開機使用firewalld防火牆
           
  • 修改CentOS系統辨別 (由于Oracle預設不支援CentOS)

修改檔案:  /etc/redhat-release

将檔案内容替換為:

redhat-7
           
  • .修改核心參數

    修改檔案:  /etc/sysctl.conf

    添加以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65500
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
           
  • 修改完後,啟用新的配置:
  • 安裝必須的軟體包
  • 建立使用者以及組
# groupadd oinstall                         #建立安裝oracle程式使用者組 
# groupadd dba                              #建立DBA使用者組
# useradd -g dba -m oracle                  #建立使用者oracle 并加入到dba組
# usermod -a -G oinstall oracle             #将使用者oracle加入到oinstall組
# passwd oracle                             #修改使用者oracle的密碼
# id oracle                                 #檢視使用者oracle的資訊
           
  • 建立安裝目錄
# mkdir -p /data/oracle                         #建立oracle主目錄
# mkdir -p /data/inventory                      #建立oralce配置目錄
# mkdir -p /data/src                            #建立oracle壓縮包解壓目錄
# chown -R oracle:oinstall /data/oracle         #修改目錄權限
# chown -R oracle:oinstall /data/inventory                           
# chown -R oracle:oinstall /data/src# ll /data                                      #檢視目錄權限
           
  • 修改oracle使用者的安全性能設定

    修改檔案:   /etc/security/limits.conf

    在檔案最後一行前,追加以下内容

#@student        -       maxlogins       4

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

# End of file
           
  • 修改使用者環境變量

    修改檔案:   /home/oracle/.bashrc

    追加以下内容

export PATH
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_token punctuation">.AL32UTF8
           
  • 修改完後立即啟用:
  • 解壓縮zip包到/data/src
# unzip linux.x64_11gR2_database_1of2.zip -d /data/src/
# unzip linux.x64_11gR2_database_2of2.zip -d /data/src/# chown -R oracle:oinstall /data/src/# ll /data/src/
           
  • 關閉selinux

    修改檔案:  /etc/selinux/config

    儲存後需要重新開機機器

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled      # ********修改此行******
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
           

安裝Oracle

進入Oracle使用者

  • 安裝Oracle主程式

    編輯資料庫安裝檔案  /data/src/database/response/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY                # 安裝類型
ORACLE_HOSTNAME=oracle.server                            # 主機名稱
UNIX_GROUP_NAME=oinstall                                   # 安裝組
INVENTORY_LOCATION=/data/inventory                         # INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN                                # 選擇語言
ORACLE_HOME=/data/oracle/product/11.2.0/db_1               # oracle_home
ORACLE_BASE=/data/oracle                                   # oracle_base
oracle.install.db.InstallEdition=EE                        # oracle版本
oracle.install.db.DBA_GROUP=dba                            # dba使用者組
oracle.install.db.OPER_GROUP=oinstall                      # oper使用者組
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE    # 資料庫類型
oracle.install.db.config.starterdb.globalDBName=orcl       # globalDBName
oracle.install.db.config.starterdb.SID=orcl                # SIDoracle.install.db.config.starterdb.characterSet=AL32UTF8   # 預設資料庫編碼
oracle.install.db.config.starterdb.memoryLimit=800         # 自動管理記憶體的最小記憶體(M)
oracle.install.db.config.starterdb.password.ALL=oracle     # 設定所有資料庫使用者使用同一個密碼
DECLINE_SECURITY_UPDATES=true                              # 設定安全更新
           

安裝oracle

$ /data/src/database/runInstaller -silent -responseFile /data/src/database/response/db_install.rsp -ignorePrereq
           

漫長的等待…(時間的話看機器性能咯)

當出現如下畫面時候,請照做

在Centos7 下安裝 Oracle11g

要執行配置腳本,請執行以下操作:

1.打開一個終端視窗

2.以"root"身份登陸

3.運作腳本 /data/inventory/orainstRoot.sh /data/oracle/product/11.2.0/db_1/root.sh 4.傳回此視窗并按"Enter"鍵繼續

Oracle主程式就安裝完啦.

  • 配置Oracle監聽程式

編輯監聽配置檔案  /data/src/database/response/netca.rsp

修改以下參數

INSTALL_TYPE=""custom""                               # 安裝的類型
LISTENER_NUMBER=1                                     # 監聽器數量
LISTENER_NAMES={"LISTENER"}                           # 監聽器的名稱清單
LISTENER_PROTOCOLS={"TCP;1521"}                       # 監聽器使用的通訊協定清單
LISTENER_START=""LISTENER""                           # 監聽器啟動的名稱
           

執行指令:

$ /data/oracle/product/11.2.0/db_1/bin/netca /silent /responseFile /data/src/database/response/netca.rsp
           

檢視監聽程式是否運作

$ netstat -tnulp | grep 1521
           

關于監聽的開機和關閉

開啟監聽:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl start
關閉監聽:
/data/oracle/product/11.2.0/db_1/bin/lsnrctl stop
           
  • 添加資料庫執行個體

    編輯資料庫執行個體檔案  /data/src/database/response/dbca.rsp

    修改以下參數

RESPONSEFILE_VERSION ="11.2.0"                              // 不要變哦
OPERATION_TYPE ="createDatabase"                            // 操作為建立執行個體  
GDBNAME ="orcl"                                             // 資料庫執行個體名
SID ="orcl"                                                 // 執行個體名字
TEMPLATENAME = "General_Purpose.dbc"                        // 建庫用的模闆檔案
SYSPASSWORD = "oracle"                                      // SYS管理者密碼
SYSTEMPASSWORD = "oracle"                                   // SYSTEM管理者密碼
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION =/data/oracle/oradata                   // 資料檔案存放目錄
RECOVERYAREADESTINATION=/data/oracle/flash_recovery_area    // 恢複資料存放目錄
CHARACTERSET ="AL32UTF8"                                    // 字元集NATIONALCHARACTERSET= "AL16UTF16"                           // 字元集TOTALMEMORY ="1638"                                         // 1638MB,實體記憶體2G*80%。
           

執行指令:

$ /data/oracle/product/11.2.0/db_1/bin/dbca -silent -responseFile /data/src/database/response/dbca.rsp
           

檢視執行個體是否運作

$ ps -ef | grep ora_ | grep -v grep
           

修改啟動和關閉執行個體的程式

修改檔案: /data/oracle/product/11.2.0/db_1/bin/dbstart

      /data/oracle/product/11.2.0/db_1/bin/dbshut

将
ORACLE_HOME_LISTNER=$1
修改為
ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
           

修改檔案:  /etc/oratab

将
orcl:/data/oracle/product/11.2.0:N
修改為
orcl:/data/oracle/product/11.2.0:Y
           

啟動或者關閉執行個體

啟動執行個體:
/data/oracle/product/11.2.0/db_1/bin/dbstart
關閉執行個體:
/data/oracle/product/11.2.0/db_1/bin/dbshut
           

收尾工作

  • 開機啟動Oracle

    Root使用者模式下:

# chmod +x /etc/rc.d/rc.local

修改檔案 /etc/rc.d/rc.local
在檔案最後追加以下内容:

su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/lsnrctl start"
su oracle -lc "/data/oracle/product/11.2.0/db_1/bin/dbstart"