CentOS7安裝oracle 11gR2

一、軟件準備
從Oracle官網下載數據庫安裝包兩個:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
二、網絡環境
主機名:linux_oracle11g
IP:172.16.91.203
三、檢查並安裝需要的依賴包
rpm -qa | grep binutils
rpm -qa | grep compat-libstdc++-33
rpm -qa | grep elfutils-libelf
rpm -qa | grep elfutils-libelf-devel
rpm -qa | grep gcc
rpm -qa | grep gcc-c++
rpm -qa | grep glibc
rpm -qa | grep glibc-2.17-157.el7_3.5.i686
rpm -qa | grep glibc-common
rpm -qa | grep glibc-devel
rpm -qa | grep glibc-devel-2.17-157.el7_3.5.i686
rpm -qa | grep glibc-headers
rpm -qa | grep ksh
rpm -qa | grep libaio
rpm -qa | grep libaio-0.3.109-13.el7.i686
rpm -qa | grep libaio-devel
rpm -qa | grep libaio-devel-0.3.109-13.el7.i686
rpm -qa | grep libgcc
rpm -qa | grep libgcc-4.8.5-11.el7.i686
rpm -qa | grep libstdc++
rpm -qa | grep libstdc++-4.8.5-11.el7.i686
rpm -qa | grep libstdc++-devel
rpm -qa | grep libstdc++-devel-4.8.5-11.el7.i686
rpm -qa | grep make
rpm -qa | grep sysstat
rpm -qa | grep unixODBC
rpm -qa | grep unixODBC-devel
rpm-qa|grep libXi-1.7.4-2.el7.i686
rpm -qa | grep libcap
如果相關的依賴包沒有安裝,用yum去安裝,語法如下
yum install binutils
yum install libgcc*i686*##適用於後綴中有i686的安裝包
備註:如果在安裝軟件過程中,還提示缺包,則根據提示把缺少的包安裝
四、防火牆設置
1)臨時關閉SELinux
setenforce 0
2)安裝firewalld
yum install firewalld
3)開啓1521端口
firewall-cmd –add-port=1521/tcp
4)重啓防火牆
firewall-cmd –reload
五、設置安裝環境
3.1 修改主機名
在/etc/hosts中添加服務器內網IP和主機名
vim /etc/hosts
鍵入i切換爲編輯模式在文件末尾添加
172.16.91.203 linux_oracle11g
鍵入:wq保存退出
5.2 修改內核參數
vim /etc/sysctl.conf
鍵入i切換爲編輯模式在後面追加下面配置

#Oracle
kernel.sem = 250 32000 100 128
kernel.shmmax = 17179869184
kernel.shmmni = 4096
kernel.shmall = 8388608
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 8388608
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
fs.aio-max-nr = 1048576

鍵入:wq保存退出
執行/sbin/sysctl -p命令,使修改生效
備註:
kernel.shmmax此處數值一般設爲物理內存的40~50%(單位B,用於定義單個共享內存段的最大值)
kernel.shmall通過getconf PAGE_SIZE獲取分頁值大小默認是4K,即:4096B。對於32G的內存,4K(即4096B)分頁大小的系統而言,SHMALL的值應該設置爲32*1024*1024*1024/4096 =8388608
5.3 修改用戶限制
1)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

2)vim /etc/pam.d/login在文件後面追加下面配置

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

3)vim /etc/profile 在配置文件結尾處
(unset i 和 unset -f pathmunge之間)追加下面配置

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 命令,使修改生效
4)創建用戶組和用戶

groupaddoinstall
groupadd dba
useradd -g oinstall -G dba -d /home/oracle oracle
passwd oracle          ##設置oracle用戶的密碼爲oracle

5)創建目錄及修改權限
(1)創建數據庫系統安裝目錄
mkdir-p/home/oracle/app/oracle/product/11.2.0/db_1/
(2)創建數據備份目錄
mkdir -p /home/oracle/backup/
(3)創建清單目錄
mkdir-p/home/oracle/oraInventory/
(4)修改目錄權限及目錄所有者
chown -R oracle:oinstall /home/oracle/app
chown -R oracle:oinstall /home/oracle/backup
chown -R oracle:oinstall /home/oracle/oraInventory
chmod -R 775 /home/oracle/app
5.4 設置並刷新環境變量
(1)切換爲oracle用戶
su - oracle
(2)vim /home/oracle/.bash_profile
將/home/oracle/.bash_profile中原有的PATH路徑註釋掉,追加下面配置

umask 022
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

保存後source~/.bash_profile使修改生效
六、安裝包導入,可以用U盤掛載,也可以使用ftp服務器上傳,這裏介紹使用U盤掛載方式
(1)切換爲root用戶
輸入命令su -
輸入root用戶的登錄密碼
(2)插入U盤後,fdisk-l命令查看U盤是否被掛載,如果在顯示內容的末尾有以下信息,則U盤已經被服務器識別
設備 Boot Start End Blocks Id System
/dev/sdb1 * 128 30719999 15359936 c W95 FAT32 (LBA)
(3)在mnt目錄下創建usb目錄
cd /mnt
mkdirusb
(4)掛載U盤
mount-tvfat/dev/sdb1 /mnt/usb

(5)df-h查看是否有/mnt/usb,如果有表示掛載成功
(6)將前面準備的數據庫安裝文件移動到/home/oracle
cd /mnt/usb
mv linux.x64_11gR2_database_1of2.zip /home/oracle
mv linux.x64_11gR2_database_2of2.zip /home/oracle
(7)安裝unzip
yum install unzip
(8)解壓oracle安裝文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解壓後的安裝文件在/home/oracle/database目錄中
(9)卸載U盤
umount /mnt/usb
備註:該流程以FAT32文件格式的U盤爲例
在卸載U盤過程中可能遇到以下報錯
umount: /mnt/usb: device is busy
可用lsof |grep /mnt/usb命令查找佔用進程,配合kill命令
殺掉進程再次卸載
七、靜默安裝Oracle11g
7.1 修改響應文件
(1)切換爲oracle用戶
su - oracle
(2)複製響應文件模版
cp -R /home/oracle/database/response /home/oracle
(3)修改安裝應答文件
cd /home/oracle/reponse
vim db_install.rsp
(4)按照下面配置更改db_install.rsp應答文件

oracle.install.option=INSTALL_DB_SWONLY                      ##安裝類型
ORACLE_HOSTNAME=linux_oracle11g                          ##主機名稱
UNIX_GROUP_NAME=oinstall##安裝組
INVENTORY_LOCATION=/home/oracle/oraInventory##INVENTORY目錄
SELECTED_LANGUAGES=en,zh_CN##選擇語言
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1    
ORACLE_BASE=/home/oracle/app
oracle.install.db.InstallEdition=EE                        ##oracle版本
oracle.install.db.EEOptionsSelection=true              
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
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=10240       ##自動管理內存的內存(M)     
oracle.install.db.config.starterdb.password.ALL=oracle  ##所有數據庫用戶使用同一個密碼       
oracle.install.db.config.starterdb.control=DB_CONTROL
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true                   ##設置安全更新

7.2 靜默安裝Oracle11g
(1)切換到/home/oracle/database目錄
cd /home/oracle/database
(2)靜默安裝
./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp

如果出現這樣的錯誤 [FATAK] [INS-13013] Target environment do not meet some mondotory requirment 時
在安裝命令加上選項 –ignorePrereq

當安裝界面出現一下信息時,安裝成功
The installation of Oracle Database 11g was successful.
Please check ‘/home/oracle/oraInventory/logs/silentInstal2017-08-07_10-52-09PM.log’ for more details.
As a root user, execute the following script(s):
1. /home/oracle/oraInventory/orainstRoot.sh
2. /home/oracle/app/oracle/product/11.2.0/db_1/root.sh

Successfully Setup Software.
7.3 執行腳本
(1)切換爲root用戶
命令su-
輸入root用戶密碼
(2)切換目錄
cd /home/oracle/app/oracle/product/11.2.0/db_1/
(3)執行腳本
./root.sh
八、配置Oracle監聽
(1)切換Oracle用戶
su - oracle
(2)切換目錄
cd /home/oracle/response
(3)啓動監聽
netca /silent /responsefile /home/oracle/response/netca.rsp

備註:成功運行後,在/home/oracle/app/oracle/product/11.2.0/db_1/
network/admin目錄下生成sqlnet.ora和listener.ora兩個文件

(4)修改listener.ora以及tnsnames.ora配置
cd /home/oracle/app/oracle/product/11.2.0/db_1/network/admin/
vimlistener.ora以下面配置爲標準修改

SID_LIST_LISTENER=
(SID_LIST=
 (SID_DESC=
   (SID_NAME=PLSExtProc)
   (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1)
   (PROGRAM=extproc)
 )
  (SID_DESC=
    (GLOBAL_DBNAME=orcl)
    (ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_)
    (SID_NAME=orcl)
)
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.41)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /home/oracle/app

vimtnsnames.ora以下面配置爲標準修改

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.12.41)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

(5)重啓監聽器
lsnrctl reload
九、新建oracle數據庫
(1)切換目錄
cd /home/oracle/response
(2)vim /home/oracle/response以下面配置爲準修改應答文件

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /home/oracle/app/oradata
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "10240"

(3)創建數據庫

dbca -silent -responseFile /home/oracle/response/dbca.rsp
(4)建庫後實例查詢

ps -ef | grep ora_ | grep -v grep

oracle 843 1 0 21:59 ? 00:00:02 ora_vkrm_orcl
oracle 944 1 0 22:32 ? 00:00:00 ora_w000_orcl
oracle 10607 1 0 8月07 ? 00:00:04 ora_pmon_orcl
oracle 10609 1 0 8月07 ? 00:01:33 ora_vktm_orcl
oracle 10613 1 0 8月07 ? 00:00:00 ora_gen0_orcl
oracle 10615 1 0 8月07 ? 00:00:01 ora_diag_orcl
oracle 10617 1 0 8月07 ? 00:00:00 ora_dbrm_orcl
oracle 10619 1 0 8月07 ? 00:00:01 ora_psp0_orcl
oracle 10621 1 0 8月07 ? 00:00:22 ora_dia0_orcl
oracle 10623 1 0 8月07 ? 00:00:02 ora_mman_orcl
oracle 10625 1 0 8月07 ? 00:00:02 ora_dbw0_orcl
oracle 10627 1 0 8月07 ? 00:00:01 ora_lgwr_orcl
oracle 10629 1 0 8月07 ? 00:00:06 ora_ckpt_orcl
oracle 10631 1 0 8月07 ? 00:00:02 ora_smon_orcl
oracle 10633 1 0 8月07 ? 00:00:00 ora_reco_orcl
oracle 10635 1 0 8月07 ? 00:00:08 ora_mmon_orcl
oracle 10637 1 0 8月07 ? 00:00:10 ora_mmnl_orcl
oracle 10639 1 0 8月07 ? 00:00:00 ora_d000_orcl
oracle 10641 1 0 8月07 ? 00:00:00 ora_s000_orcl
oracle 10720 1 0 8月07 ? 00:00:00 ora_qmnc_orcl
oracle 10735 1 0 8月07 ? 00:00:06 ora_cjq0_orcl
oracle 10737 1 0 8月07 ? 00:00:00 ora_q000_orcl
oracle 10739 1 0 8月07 ? 00:00:00 ora_q001_orcl
oracle 10823 1 0 8月07 ? 00:00:01 ora_smco_orcl

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章