在上一章我已經介紹了《基於VMware安裝CentOs7的鏡像》完成了我們的系統的安裝,那麼到了本章我將給大家介紹如何使用靜默的方式安裝我們的Oracle11g數據庫
1、安裝前的配置
1.1、添加主機名與IP對應記錄
# vi /etc/hosts
添加以下的信息到hosts文件中:
10.10.10.129 oracledb.test
然後保存修改的信息。
1.2、修改主機名
# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb.test/" /etc/sysconfig/network
1.3、關閉Selinux
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# setenforce 0
1.4、下載安裝包
可以直接訪問以下的地址下載oracle的安裝包:
https://www.oracle.com/database/technologies/112010-linx8664soft.html
下載以下的兩個文件:
2、安裝相關的軟件依賴
直接執行以下的命令安裝相關的依賴即可:
# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
然後就默默的等待下載完成即可。
3、檢驗依賴是否安裝完成
# 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
4、創建用戶相關信息
4.1、創建用戶組
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
4.2、創建oracle用戶
# /usr/sbin/useradd -g oinstall -G dba linzef
4.3、設置用戶密碼
# passwd linzef
4.4、驗證用戶設置是否正確
# id linzef
5、配置內核參數
# vi /etc/sysctl.conf
加入以下的配置信息:
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
修改完成使之生效執行以下的命令:
/sbin/sysctl -p
6、修改用戶限制
# vi /etc/security/limits.conf
linzef soft nproc 2047
linzef hard nproc 16384
linzef soft nofile 1024
linzef hard nofile 65536
linzef soft stack 10240
linzef hard stack 10240
接着執行
# vi /etc/pam.d/login
在/etc/pam.d/login 文件中,使用文本編輯器或vi命令增加或修改以下內容
session required /lib64/security/pam_limits.so
session required pam_limits.so
接着執行
# vi /etc/profile
在/etc/profile 文件中,使用文本編輯器或vi命令增加或修改以下內容
if [ $USER = "linzef" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
最後執行使之生效
source /etc/profile
7、配置安裝環境
7.1、創建安裝目錄
mkdir -p /u01/app/
chown -R linzef:oinstall /u01/app/
chmod -R 775 /u01/app/
7.2、配置環境變量
# vi ~/.bash_profile
添加以下的信息:
export ORACLE_BASE=/u01/app/linzef
export ORACLE_SID=dbsrv2
最後使之生效:
# source ~/.bash_profile
7.3、解壓下載oracle軟件
首先我們需要安裝unzip的,執行以下代碼。
# yum install unzip
然後在home目錄底下創建一個app目錄。
# cd /home
# mkdir app
# cd /app
然後將我們事先下載好的文件上傳到app目錄中,然後解壓文件。
# unzip linux.x64_11gR2_database_1of2.zip
# unzip linux.x64_11gR2_database_2of2.zip
7.4、複製響應文件模板
接着我們需要進入到我們的創建的linzef這個創建的用戶的目錄:
# cd /home/linzef
然後在執行下面第二條命令的時候一定要記得【/home/app/database/response】這個是剛剛你解壓的zip所在的文件的路徑。
# mkdir etc
# cp /home/app/database/response/* /home/linzef/etc/
8、靜默安裝oracle
# cd /home/linzef/etc
接着編輯/home/linzef/etc/文件夾底下的【db_install.rsp】文件,一定要記得拉倒最末尾的位置才把下面的配置黏貼上去,修改如下:
# vi db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY // 安裝類型
ORACLE_HOSTNAME=oracledb // 主機名稱(hostname查詢)
UNIX_GROUP_NAME=oinstall // 安裝組
INVENTORY_LOCATION=/u01/app/oraInventory //INVENTORY目錄(不填就是默認值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW // 選擇語言
ORACLE_HOME=/u01/app/linzef/product/11.2.0/db_1 //oracle_home
ORACLE_BASE=/u01/app/linzef //oracle_base
oracle.install.db.InstallEdition=EE // oracle版本
oracle.install.db.isCustomInstall=false //自定義安裝,否,使用默認組件
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=dbsrv2 //SID
oracle.install.db.config.starterdb.memoryLimit=81920 //自動管理內存的內存(M)
oracle.install.db.config.starterdb.password.ALL=oracle //設定所有數據庫用戶使用同一個密碼
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false //(手動寫了false)
DECLINE_SECURITY_UPDATES=true //設置安全更新(貌似是有bug,這個一定要選true,否則會無限提醒郵件地址有問題,終止安裝。PS:不管地址對不對)
這時候我們使用ssh切換到【linzef】這個賬號進行登錄,
# su - linzef
然後進入我們的前面的解壓目錄【/home/app/database】
# cd /home/app/database
然後執行以下進行命令安裝。
# ./runInstaller -silent -responseFile /home/linzef/etc/db_install.rsp
接着我們可以查看日誌:
# tail -f /u01/app/oraInventory/logs/installActionsxxxx.log
看到此處說明我們就安裝成功了,這個安裝過程需要點時間,大家要慢慢的等待,記住慢慢的等待,只要你按着我前面的步驟做的到這裏就不會有錯的,如果這裏出現錯誤了,那就是你前面的配置哪裏配置錯了,自己回去重新檢查一遍,因爲這個教程我已經反覆安裝了三遍了,確保完全沒問題了。
8.1、使用root用戶執行腳本
# su - root
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/linzef/product/11.2.0/db_1/root.sh
8.2、增加或修改oracle的環境變量
切換到linzef這個賬號
# su - linzef
# vi ~/.bash_profile
以下是需要添加的內容:
export ORACLE_BASE=/u01/app/linzef
export ORACLE_SID=dbsrv2
export ROACLE_PID=ora11g
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export ORACLE_HOME=/u01/app/linzef/product/11.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
8.3、配置、啓動監聽
切換到linzef用戶
# su - linzef
然後需要執行以下的命令:
export DISPLAY=10.10.10.129:0.0
然後接着執行以下命令來實現監聽的配置:
# /u01/app/linzef/product/11.2.0/db_1/bin/netca -silent -responseFile /home/linzef/etc/netca.rsp
完成配置以後接着啓動監聽:
# lsnrctl start
最後我們可以查看我們的監聽的狀態:
# lsnrctl status
8.4、靜默創建數據庫實例
然後執行以下命令安裝數據庫實例:
/u01/app/linzef/product/11.2.0/db_1/bin/dbca -silent -responseFile /home/linzef/etc/dbca.rsp
執行安裝的時候需要我們輸入sys和system用戶的賬號和密碼,這時候大家直接輸入相應的密碼即可,一定要記得輸入密碼,要不會一直卡在哪裏等待着你輸入密碼。
稍等片刻我們就我完成了數據庫的安裝。
8.5、開放端口
最後切換到root用戶然後執行以下的命令:
# firewall-cmd --zone=public --add-port=1521/tcp --permanent
# firewall-cmd --zone=public --add-port=5500/tcp --permanent
# firewall-cmd --reload
8.6、關機以後如何啓動oracle
當我們重新啓動我們的虛擬機的時候,大家會發現我們無法啓動我們的Oracle數據庫了,這是什麼原因呢,網上所有的靜默安裝的博文都沒有告訴你們原因,因爲他們關機以後就沒重啓了,這時候我們需要linzef這個賬號登陸到我們的centos7,然後用vi命令編輯我們的dbstart這個文件,若你當前是用root登陸就使用su命令切換到linzef這個賬號:
# vi /u01/app/linzef/product/11.2.0/db_1/bin/dbstart
將裏面的這段代碼進行修改:
成爲如下的內容:
ORACLE_HOME_LISTNER=$ORACLE_HOME
編輯/etc/oratab
# vi /etc/oratab
將裏面的值由N設置爲Y
orcl:/u01/app/linzef/product/11.2.0/db_1:Y
最後我們就可以啓動我們的oracle數據庫了。
# lsnrctl start
# dbstart