Centos7靜默安裝Oracle數(shù)據(jù)庫

一、前言

靜默安裝就是不使用圖形化界面的安裝,全部用命令與配置文件進(jìn)行安裝的方式。
如果你在 Windows 下安裝過 Oracle 數(shù)據(jù)庫,理解起來可能會(huì)比較簡(jiǎn)單。
個(gè)人使用的環(huán)境為:Centos7 + Oracle11gR2。
提前去官網(wǎng)下載好 Oracle 的壓縮包,放到 /opt/download 目錄中,可能有兩個(gè)壓縮包,使用命令 unzip xxx1.zip 、unzip xxx2.zip 將兩個(gè)壓縮包解壓,得到 database 目錄。

二、步驟拆解

系統(tǒng)環(huán)境配置 | 安裝數(shù)據(jù)庫軟件 | 配置靜默監(jiān)聽 | 靜默方式創(chuàng)建數(shù)據(jù)庫同時(shí)建立實(shí)例

三、詳細(xì)步驟

3.1 系統(tǒng)環(huán)境配置

3.1.1 安裝依賴
這些是需要的依賴,需要先安裝好,不能漏掉。

# yum install 
  gcc 
  make 
  binutils 
  gcc-c++ 
  compat-libstdc++-33elfutils-libelf-devel 
  elfutils-libelf-devel-static 
  ksh 
  libaio 
  libaio-develnumactl-devel 
  sysstat 
  unixODBC 
  unixODBC-devel 
  pcre-devel 

3.1.2 配置用戶和組
安裝 Oracle 需要用到 oracle 用戶,所以需要手動(dòng)創(chuàng)建好用戶和用戶組。

[root@CentOS \]# groupadd oinstall      # 這是創(chuàng)建用戶組
[root@CentOS \]# groupadd dba           # 這是創(chuàng)建用戶組
[root@CentOS \]# useradd -g oinstall -G dba oracle   # 這是創(chuàng)建用戶并指定用戶組
[root@CentOS \]# passwd oracle       # 這是配置用戶密碼

創(chuàng)建好之后可以確認(rèn)一下用戶信息。

[root@CentOS \] id oracle    # 這是查看用戶信息

這是輸出信息。

uid=1001(oracle) gid=1001(oinstall) 組=1001(oinstall),1002(dba)

3.1.3 修改內(nèi)核參數(shù)配置文件
這一步是讓 Oracle 更好的工作。
使用命令 vim /etc/sysctl.conf 打開配置文件,文件后面追加下面的內(nèi)容。

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824         # 本機(jī)物理內(nèi)存(2G)的一半
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

注:其中 kernel.shmmax = 1073741824 設(shè)置為本機(jī)物理內(nèi)存(2G)的一半,單位為byte。
保存退出后使用命令 sysctl -p 使其生效。

3.1.4 修改用戶限制文件
這一步是限制 Oracl 用戶的權(quán)限。
使用命令 vim /etc/security/limits.conf 打開用戶限制配置文件。
在文件的后面追加以下內(nèi)容:

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

保存退出。
使用命令 vim /etc/pam.d/login 打開用戶登錄配置文件。
在文件后面追加以下內(nèi)容:

session required   /lib64/security/pam_limits.so
session required   pam_limits.so

保存退出。
使用命令 vim /etc/profile 打開環(huán)境變量配置文件。
在文件后面追加以下內(nèi)容:

if [ $USER = "oracle" ]; then
  if[ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi

保存退出。

3.1.5 創(chuàng)建安裝目錄、設(shè)置文件權(quán)限
執(zhí)行以下命令。

[root@CentOS /]# mkdir -p /data/oracle/product/11.2.0      # 這是創(chuàng)建安裝目錄
[root@CentOS /]# mkdir /data/oracle/oradata                     # 這是創(chuàng)建實(shí)例的數(shù)據(jù)文件目錄
[root@CentOS /]# mkdir /data/oracle/inventory                  # 這是創(chuàng)建Oracle中央目錄,Oracle 不建議將此目錄創(chuàng)建到 ORACLE_BASE 中,不過不影響安裝。
[root@CentOS /]# mkdir /data/oracle/fast_recovery_area  
[root@CentOS /]# chown -R oracle:oinstall /data/oracle   將目錄所有者改為 Oracle 用戶
[root@CentOS /]# chmod -R 775 /data/oracle 

3.1.6 更改oracle用戶的環(huán)境變量
切換用戶。

[root@CentOS /]# su - oracle      # 中間加 - 可以將環(huán)境變量同時(shí)切換

打開配置文件。

[oracle@Centos /]$ vim ~/.bash_profile

按照上一步創(chuàng)建的目錄與文件內(nèi)容,在該配置文件的后面追加以下內(nèi)容:

# oracle 設(shè)置
ORACLE_BASE=/data/oracle            # oracle 的基目錄
ORACLE_HOME=$ORACLE_BASE/product/11.2.0 # oracle 的安裝目錄
ORACLE_SID=orcl   # 這里必須和數(shù)據(jù)庫實(shí)例名一致,所以創(chuàng)建的實(shí)例的時(shí)候要用這個(gè)名字
PATH=$PATH:$ORACLE_HOME/bin   # oracle的命令存放目錄
ORACLE_UNQNAME=$ORACLE_SID
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH ORACLE_UNQNAME

使用命令 source ~/.bash_profile 刷新一下。

3.1.7 配置hostname
使用命令 hostname 查看主機(jī)名,每個(gè)人不一樣,比如我的是 CentOS。
使用命令 vim /etc/hosts 打開文件,追加一行主機(jī)與域名的記錄。

# 要使用你的IP地址和你的主機(jī)名
192.168.1.1                   CentOS

3.2 安裝數(shù)據(jù)庫軟件

3.2.1 編輯靜默安裝響應(yīng)文件
靜默安裝數(shù)據(jù)庫需要用到靜默安裝響應(yīng)文件,靜默安裝響應(yīng)文件就像使用圖形化界面安裝的時(shí)候點(diǎn)擊的下一步、下一步一樣,只不過是提前配置好,安裝程序運(yùn)行的時(shí)候就可以根據(jù)這個(gè)文件來做安裝了。
切換到 root 用戶,使用命令 vim /opt/download/database/response/db_install.rsp 打開靜默安裝響應(yīng)文件。按照以下內(nèi)容修改里面的內(nèi)容:

# 表示只安裝數(shù)據(jù)庫
oracle.install.option=INSTALL_DB_SWONLY
# 當(dāng)前的主機(jī)名,可以使用命令 `hostname` 查看
ORACLE_HOSTNAME=CentOS
UNIX_GROUP_NAME=oinstall
# inventory 目錄
INVENTORY_LOCATION=/data/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/oracle/product/11.2.0
ORACLE_BASE=/data/oracle
## 安裝的版本 - 企業(yè)版
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

保存退出。

3.2.2 使用oracle用戶開始安裝

[oracle@CentOS ~]$ cd /opt/download/database/response/
[oracle@CentOS response]$  ./runInstaller -silent -responseFile /opt/download/database/response/db_install.rsp -ignorePrereq

這樣,安裝程序就在后臺(tái)運(yùn)行了,如果運(yùn)行中發(fā)生了錯(cuò)誤,提示信息中會(huì)有 [FATAL] 字樣,出現(xiàn)這個(gè)字樣說明安裝失敗,需要修改配置。
如果提示中出現(xiàn) [WARNING] 字樣可以不用理會(huì),不會(huì)影響安裝。
如果出現(xiàn)類似以下提示,就說明安裝成功了,可能你的提示是英文版的。(不是自己的圖,所以路徑不對(duì),請(qǐng)以你的路徑為準(zhǔn))

安裝成功提示信息.png

然后按照提示,打開一個(gè)新的終端,使用 root 身份執(zhí)行上面的兩個(gè)腳本。
至此,數(shù)據(jù)庫的安裝就完成了。

3.3 配置靜默監(jiān)聽

按照靜默監(jiān)聽文件配置靜默監(jiān)聽。
切換到 oracle 用戶,運(yùn)行命令:

 [oracle@CentOS ~]$ netca /silent /responseFile /opt/download/database/response/netca.rsp

執(zhí)行成功后可以使用 netstat 命令查看是否正在監(jiān)聽。

[oracle@CentOS ~]# netstat -tnulp | grep 1521

出現(xiàn)類似下面的信息就是正在監(jiān)聽。


正在監(jiān)聽

3.4 靜默方式創(chuàng)建數(shù)據(jù)庫同時(shí)建立實(shí)例

3.4.1 編輯靜默安裝響應(yīng)文件
切換回 root 用戶,編輯靜默安裝響應(yīng)文件。

[root@CentOS /]# vim /opt/download/database/response/dbca.rsp

將文件內(nèi)容做以下修改:

GDBNAME= "orcl"
SID =" orcl"
SYSPASSWORD= "oracle"
SYSTEMPASSWORD= "oracle"
SYSMANPASSWORD= "oracle"
DBSNMPPASSWORD= "oracle"
DATAFILEDESTINATION=/data/oracle/oradata
RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area
CHARACTERSET= "ZHS16GBK"
TOTALMEMORY= "1638"

注:其中TOTALMEMORY ="1638" 為1638MB,物理內(nèi)存2G x 80%。
保存退出。

3.4.2 開始執(zhí)行靜默安裝
切換回 oracle 用戶,執(zhí)行命令:

[oracle@CentOS ~]$ dbca -silent -responseFile /opt/download/database/response/dbca.rsp

安裝過程出現(xiàn)以下提示:(網(wǎng)上隨便找的圖,所以路徑不一樣)


安裝提示

安裝成功,檢查一下實(shí)例。

[oracle@CentOS ~]$ ps -ef | grep ora_ | grep -v grep

出現(xiàn)進(jìn)程信息(也是網(wǎng)圖,路徑一樣):


進(jìn)程信息

查看以下監(jiān)聽狀態(tài):

[oracle@CentOS ~]$ lsnrctl status

出現(xiàn)提示:(網(wǎng)圖)

監(jiān)聽狀態(tài)

3.4.3 登錄查看實(shí)例狀態(tài)

[oracle@CentOS~]$ sqlplus / as sysdba
......
......
SQL> select status from v$instance;

出現(xiàn)這種提示代表實(shí)例啟動(dòng)成功:(網(wǎng)圖)


實(shí)例狀態(tài)

至此,數(shù)據(jù)庫軟件的安裝和數(shù)據(jù)庫實(shí)例的創(chuàng)建都成功了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容