CentOS 7.6下安裝Oracle 11.2.0.4

所需軟體:oracle11.2.0.4安裝包、Xshell 6、Xmanager 6

環境說明:宿主機ip:192.168.88.2

虛機ip:192.168.88.200

虛機記憶體:2G

虛機主機名:vm-demo

oracle資料庫名:orcl

oracle例項名:orcl

命令說明:root#ls -l表示在root使用者下執行

oracle>ls -l 表示在oracle使用者下執行

用root使用者修改核心配置檔案/etc/sysctl。conf。

同時可以擁有的的非同步IO請求數目。 推薦值:1048576

fs。aio-max-nr = 1048576

系統允許的檔案控制代碼最大數目,代表linux系統可以開啟的檔案數量

fs。file-max = 6815744

物理記憶體K數/4K(根據虛機的實際記憶體設定,以下是2G記憶體的設定)

kernel。shmall = 524288

可取的最大值為物理記憶體值-1byte,建議值為多於物理記憶體的一半(根據虛機的實際記憶體設定,以下是2G記憶體的設定)

kernel。shmmax = 2147483647

共享記憶體段的最大數量,取預設值4096

kernel。shmmni = 4096

250是引數semmsl的值,表示一個訊號量集合中能夠包含的訊號量最大數目。

32000是引數semmns的值,表示系統內可允許的訊號量最大數目。

100是引數semopm的值,表示單個semopm()呼叫在一個訊號量集合上可以執行的運算元量。

128是引數semmni的值,表示系統訊號量集合總數。

kernel。sem = 250 32000 100 128

應用程式可使用的IPv4埠範圍。

net。ipv4。ip_local_port_range = 9000 65535

套接字接收緩衝區大小的預設值。

net。core。rmem_default = 262144

套接字接收緩衝區大小的最大值。

net。core。rmem_max = 4194304

套接字傳送緩衝區大小的預設值。

net。core。wmem_default = 262144

套接字傳送緩衝區大小的最大值。

net。core。wmem_max = 1048586

以上引數除了有說明需要根據實際情況設定,其它引數照抄即可。執行sysctl -p生效;

CentOS 7.6下安裝Oracle 11.2.0.4

用root使用者增加組和使用者。

root#

groupadd -g 500 oinstall

root#

groupadd -g 501 dba

root#

useradd -g oinstall -G dba,oinstall oracle

root#

passwd oracle

CentOS 7.6下安裝Oracle 11.2.0.4

用root使用者建立swap分割槽。

透過命令swapon -s來檢查當前是否有swap分割槽。swap分割槽有2種:分割槽或檔案;可以任意選一種建立(建立swap檔案較為方便),大小為4G(記憶體大小的1。5-2倍)。

建立swap分割槽

fdisk -l 檢視磁碟是否還有剩餘未分配的扇區:若有,使用fdisk來格式化成swap分割槽(分割槽型別為82);若無,在虛機新新增一塊硬碟,然後按下面步驟操作:

root#

fdisk -l /dev/sdb

root#

mkswap /dev/sdb1

root#

swapon -s

root#

swapon /dev/sdb1

root#

swapon -s

root#

echo “/dev/sdb1 none swap sw 0 0” >> /etc/fstab

建立swap檔案

root#

dd if=/dev/zero of=/mnt/oracle。swap bs=1024 count=524288*8

root#

chown oracle:oinstall /mnt/oracle。swap

root#

chmod 600 /mnt/oracle。swap

root#

mkswap /mnt/oracle。swap

root#

swapon /mnt/oracle。swap

root#

swapon -s

root#

echo “/mnt/oracle。swap none swap sw 0 0” >> /etc/fstab

用root使用者修改/etc/security/limits。conf限制。

新增以下行:

oracle soft nproc 65535

oracle hard nproc 65535

oracle soft nofile 65535

oracle hard nofile 65535

CentOS 7.6下安裝Oracle 11.2.0.4

用root使用者修改/etc/pam。d/login。

新增以下一行:

session required /lib64/security/pam_limits。so

CentOS 7.6下安裝Oracle 11.2.0.4

修改profile檔案。

用root使用者修改/etc/profile檔案,增加以下內容:

if [ $USER = “oracle” ]; then

if [ $SHELL = “/bin/ksh” ]; then

ulimit -p 65535

ulimit -n 65535

else

ulimit -u 65535 -n 65535

fi

fi

CentOS 7.6下安裝Oracle 11.2.0.4

用oracle使用者修改其。bash_profile檔案

export ORACLE_SID=orcl

export ORACLE_BASE=/opt/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11。2。0/db_1

export INVENTORY_LOCATION=/opt/app/oraInventory

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export LANG=C

export NLS_LANG=“American_america。zhs16gbk”

export PATH=$ORACLE_HOME/bin:$PATH

umask 022

CentOS 7.6下安裝Oracle 11.2.0.4

生效配置,並echo檢查是否生效:

oracle>

source 。bash_profile

CentOS 7.6下安裝Oracle 11.2.0.4

用root使用者在/opt下建目錄,並修改歸屬。

root#

mkdir -p /opt/app/database

root#

mkdir -p /opt/app/oraInventory

root#

mkdir -p /opt/app/oracle

root#

chown -R oracle:oinstall /opt/app/database

root#

chown -R oracle:oinstall /opt/app/oraInventory

root#

chown -R oracle:oinstall /opt/app/oracle

CentOS 7.6下安裝Oracle 11.2.0.4

用root使用者關閉selinux、關閉firewalld服務

修改/etc/selinux/config裡的SELINUX=disabled

CentOS 7.6下安裝Oracle 11.2.0.4

關閉firewalld服務

root#systemctl stop firewalld

root#systemctl disable firewalld

用root使用者配置/etc/hosts

修改/etc/hosts增加一行: <主機名>

CentOS 7.6下安裝Oracle 11.2.0.4

檢查oracle軟體包依賴

root#

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 elfutils-libelf elfutils-libelf-devel

CentOS 7.6下安裝Oracle 11.2.0.4

安裝上圖提示未安裝的軟體包

root#

yum -y install compat-libcap1 compat-libstdc++-33 ksh libaio-devel unixODBC unixODBC-devel elfutils-libelf elfutils-libelf-devel

CentOS 7.6下安裝Oracle 11.2.0.4

解壓安裝包,放到/opt/app/database下

包裡有database目錄,因此只需解壓到/opt/app/

root#

unzip p13390677_112040_Linux-x86-64_1of7。zip -d /opt/app/

root#

unzip p13390677_112040_Linux-x86-64_2of7。zip -d /opt/app/

root#

chown -R oracle:oinstall /opt/app/

/opt/app/database只是安裝程式目錄。安裝全部完成後,如果空間緊張,可以刪除。

如果選擇靜默安裝,請跳至靜默安裝部分;否則,進行圖形介面配置。

用root使用者修改/etc/ssh/sshd_config,重啟sshd服務。

X11Forwarding yes

AllowTcpForwarding yes

CentOS 7.6下安裝Oracle 11.2.0.4

root#

systemctl restart sshd

在Windows機器安裝XManager,執行Xmanager - Passive,預設是:0。0(即6000埠)。

CentOS 7.6下安裝Oracle 11.2.0.4

開啟Xshell6,隧道選項裡要選中x11轉移;telnet 宿主機ip(192。168。88。2)的6000埠(:0。0)要通。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

設定X伺服器的訪問許可權。

root#

su - oracle

oracle>

export DISPLAY=192。168。88。2:0:0。0

oracle>

xhost +

CentOS 7.6下安裝Oracle 11.2.0.4

cd /opt/app/database 執行。/runInstaller,看圖形介面是否能啟動。

CentOS 7.6下安裝Oracle 11.2.0.4

看到如下介面,成功啟動圖形介面。

以下均是圖形介面,不再詳細描述。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

OSOPER組不用選。

CentOS 7.6下安裝Oracle 11.2.0.4

pdksh包在linux下叫ksh,之前yum時已經檢查安裝。此處若只有這一項,可忽略。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

在快安裝完的時候,會報錯: Error in invoking target ‘agent nmhs’ of makefile

解決方案:

修改$ORACLE_HOME/sysman/lib/ins_emagent。mk,將 $(MK_EMAGENT_NMECTL)修改為:$(MK_EMAGENT_NMECTL) -lnnz11,然後“Retry”。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

按提示執行orainstRoot。sh和root。sh指令碼

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

至此,oracle軟體安裝完成。

用netca配置監聽。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

dbca建庫

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

在輸入“Global Database Name”和“SID”時,若出現下圖的情況(輸一個字元,顯示有2個),請切換一下輸入法(按ctrl+空格)。

CentOS 7.6下安裝Oracle 11.2.0.4

配置企業管理器可選,也可不選。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

儲存位置可以選擇系統預設的使用模板資料庫檔案位置,也可以自定義一個檔案位置。

CentOS 7.6下安裝Oracle 11.2.0.4

指定閃回區和開啟歸檔模式可以先不選,等後續安裝完後再配置。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

字符集選擇:ZHS16GBK;其他預設

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

控制檔案數量:最少有2個。最好放在不同位置(截圖上是演示環境,就放在一個目錄裡

CentOS 7.6下安裝Oracle 11.2.0.4

重做日誌組數量預設3個,後續可以增加;成員大小預設是50M,對於正式環境,建議改成500M。

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

CentOS 7.6下安裝Oracle 11.2.0.4

至此,建庫完成。

lsnrctl status檢查監聽狀態

檢視監聽狀態:

oracle>

lsnrctl status

CentOS 7.6下安裝Oracle 11.2.0.4

oracle>

lsnrctl reload重啟

監聽檔案說明:

按上述方法建立的監聽是動態監聽,靜態檔案($ORACLE_HOME/network/admin/listener。ora)內容如下:

CentOS 7.6下安裝Oracle 11.2.0.4

可以將配置檔案改成如下方式,則為靜態監聽。

CentOS 7.6下安裝Oracle 11.2.0.4

靜態監聽啟動後,此處為unknown;而動態靜態為ready。

CentOS 7.6下安裝Oracle 11.2.0.4

Oracle的靜默安裝。

在/opt/app/database/response下有3個rsp檔案:

a、db_install。rsp:安裝oracle軟體的響應檔案

b、dbca。rsp:建庫用的響應檔案

c、netca。rsp:建監聽用的響應檔案

根據實際情況修改下面列出的引數,沒有列出的引數就取預設值。

db_install。rsp:

ORACLE_HOSTNAME= vm-demo

INVENTORY_LOCATION=/opt/app/oraInventory

ORACLE_HOME= /opt/app/oracle/product/11。2。0/db_1

ORACLE_BASE= /opt/app/oracle

oracle。install。db。config。starterdb。globalDBName=orcl

oracle。install。db。config。starterdb。SID=orcl

oracle。install。db。config。starterdb。characterSet=ZHS16GBK

oracle。install。db。config。starterdb。memoryLimit=1024M

oracle。install。db。config。starterdb。password。ALL=change_on_install

oracle。install。db。config。starterdb。fileSystemStorage。dataLocation=/data/oradata

oracle。install。db。config。starterdb。fileSystemStorage。recoveryLocation=/opt/app/oracle/fast_recovery_area

修改完後,執行下面這條命令:

oracle>

。/runInstaller -silent -responseFile /opt/app/database/response/db_install。rsp

dbca。rsp

OPERATION_TYPE = “createDatabase”

GDBNAME = “orcl”

SID = “orcl”

SYSPASSWORD = “change_on_install”

SYSTEMPASSWORD = “ change_on_install ”

DATAFILEDESTINATION =/data/oradata

RECOVERYAREADESTINATION=/opt/app/oracle/fast_recovery_area

CHARACTERSET = “ZHS16GBK”

TOTALMEMORY = “1024”

修改完後,執行下面這條命令:

oracle>

dbca -silent -responseFile /opt/app/database/response/dbca。rsp

netca。rsp(無特殊情況,不用修改,直接執行下面這條命令)

oracle>

netca -silent -responsefile /opt/app/database/response/netca。rsp

總結:

本文只是簡單的安裝資料庫軟體和建庫,基本引數的調整將會放到下一篇文章。