CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

準備工作

  • 安裝環境介紹

軟件:Vmware pro 15、Oracle 11gR2


CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

oracle 11g R2

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

VMWARE PRO 15

系統:CentOS 7.6 64位

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

CentOS 7.6

我是在虛擬機上安裝的Linux,虛擬機配置如下

內存2G、1個2核CPU、硬盤空間40G

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

虛擬機配置

  • 下載Oracle安裝文件官網下載地址: https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

oracle 11g R2官網下載頁面

下載完畢,會得到如下兩個壓縮文件:

  1. linux.x64_11gR2_database_1of2.zip
  2. linux.x64_11gR2_database_2of2.zip
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

  • 檢查系統版本
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@localhost ~]#
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

Linux系統版本

  • 修改主機名
[root@localhost home]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@localhost home]# hostname oracledb
  • 添加主機名與IP對應記錄
[root@localhost home]# vim /etc/hosts

在末尾處添加:本機IP地址 oracledb

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

修改主機名

  • 關閉Selinux
[root@localhost home]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 
[root@localhost home]# setenforce 0
  • 創建用戶和組(root用戶:創建Oracle安裝組oinstall,數據庫管理員組dba,及oracle用戶)
[root@localhost home]# groupadd -g 200 oinstall
[root@localhost home]# groupadd -g 201 dba
[root@localhost home]# useradd -u 440 -g oinstall -G dba oracle #主組oinstall,其它組:dba
[root@localhost home]# passwd oracle #設置密碼
更改用戶 oracle 的密碼 。
新的 密碼:
無效的密碼: 密碼未通過字典檢查 - 它基於(顛倒的)字典單詞 #Linux密碼驗證機制,請忽略
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。
[root@localhost home]#
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

新建用戶組及用戶

  • 修改內核參數(root用戶:修改 /etc/sysctl.conf 文件,加上如下參數)
[root@localhost home]# vim /etc/sysctl.conf #末尾添加如下
net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

修改Linux內核

[root@localhost home]# sysctl -p #使配置生效
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
[root@localhost home]#
  • 修改系統資源限制(root用戶:修改 /etc/security/limits.conf 文件,加上下面的參數)
[root@localhost home]# vim /etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

資源限制修改

  • 修改用戶驗證選項(root用戶下:修改/etc/pam.d/login文件加上如下參數)
$ vim /etc/pam.d/login
session required pam_namespace.so #下面添加一條pam_limits.so
session required pam_limits.so
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

  • 修改用戶配置文件(root用戶下:修改/etc/profile文件加入如下參數)
[root@localhost home]# vim /etc/profile #(如果做了第9步的limits.conf設置,這個設置就不需要了)
if [ $USER ="oracle" ]; then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
  • 創建安裝目錄及設置權限
[root@localhost home]# mkdir -p /opt/app/oracle/ 
[root@localhost home]# chmod 755 /opt/app/oracle/
[root@localhost home]# chown oracle.oinstall -R /opt/app/oracle/
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

  • 設置Oracle環境變量
[root@localhost app]# su - oracle
[oracle@oracledb ~]$ vim ~/.bash_profile
#添加一下內如
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

修改環境變量

完成後執行:

[oracle@oracledb ~]$ source ~/.bash_profile #立即生效
[oracle@oracledb ~]$ env | grep ORA #查看環境變量是否完成
ORACLE_SID=orcl
ORACLE_BASE=/opt/app/oracle
ORACLE_PID=ora11g
ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
[oracle@oracledb ~]$
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

設置環境變量生效

安裝及配置

  • 安裝依賴包所需依賴列表:
  1. binutils-2.23.52.0.1-12.el7.x86_64
  2. compat-libcap1-1.10-3.el7.x86_64
  3. compat-libstdc++-33-3.2.3-71.el7.i686
  4. compat-libstdc++-33-3.2.3-71.el7.x86_64
  5. gcc-4.8.2-3.el7.x86_64
  6. gcc-c++-4.8.2-3.el7.x86_64
  7. glibc-2.17-36.el7.i686
  8. glibc-2.17-36.el7.x86_64
  9. glibc-devel-2.17-36.el7.i686
  10. glibc-devel-2.17-36.el7.x86_64
  11. ksh
  12. libaio-0.3.109-9.el7.i686
  13. libaio-0.3.109-9.el7.x86_64
  14. libaio-devel-0.3.109-9.el7.i686
  15. libaio-devel-0.3.109-9.el7.x86_64
  16. libgcc-4.8.2-3.el7.i686
  17. libgcc-4.8.2-3.el7.x86_64
  18. libstdc++-4.8.2-3.el7.i686
  19. libstdc++-4.8.2-3.el7.x86_64
  20. libstdc++-devel-4.8.2-3.el7.i686
  21. libstdc++-devel-4.8.2-3.el7.x86_64
  22. libXi-1.7.2-1.el7.i686
  23. libXi-1.7.2-1.el7.x86_64
  24. libXtst-1.2.2-1.el7.i686
  25. libXtst-1.2.2-1.el7.x86_64
  26. make-3.82-19.el7.x86_64
  27. sysstat-10.1.5-1.el7.x86_64
  28. unixODBC-2.3.1-6.el7.x86_64 or later
  29. unixODBC-2.3.1-6.el7.i686 or later
  30. unixODBC-devel-2.3.1-6.el7.x86_64 or later
  31. unixODBC-devel-2.3.1-6.el7.i686 or later
  • 使用yum -y install 進行安裝(記得切換用戶為root)
[root@oracledb oracle]# 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
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

依賴安裝

  • 檢查是否全部已經安裝,沒安裝的單獨進行安裝
[root@oracledb oracle]# 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
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

檢查依賴

安裝Oracle


安裝unzip:(如已安裝請忽略)

[root@oracledb home]# yum -y install unzip

將下載的Oracle壓縮包放入/opt目錄下,在/opt目錄下進行解壓

[root@oracledb home]# ls *.zip | xargs -n1 unzip -o

或者

$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip

解壓後得到database,進入database下面的response文件夾,裡面有3個文件

[root@oracledb response]# cd /opt/database/response/
[root@oracledb response]# ll
total 76
-rw-rw-r--. 1 root root 44969 Feb 13 2009 dbca.rsp #創建數據庫應答
-rw-rw-r--. 1 root root 22557 Aug 15 2009 db_install.rsp #安裝應答
-rwxrwxr-x. 1 root root 5740 Feb 26 2009 netca.rsp #建立監聽、本地服務名等網絡設置的應答
[root@oracledb response]#

將db_install.rsp備份一份,在其基礎上修改內容

修改靜默安裝的配置文件

[root@oracledb response]# vim db_install.rsp #按照下方的參數進行修改
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracledb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/opt/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.customComponents=oracle.server:11.2.0.1.0,oracle.sysman.ccr:10.2.7.0.0,oracle.xdk:11.2.0.1.0,oracle.rdbms.oci:11.2.0.1.0,oracle.network:11.2.0.1.0,oracle.network.listener:11.2.0.1.0,oracle.rdbms:11.2.0.1.0,oracle.options:11.2.0.1.0,oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,orcle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=ora11g
oracle.install.db.config.starterdb.SID=ora11g
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=1500
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=oracle
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
oracle.install.db.config.starterdb.dbcontrol.emailAddress=
oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true //一定要設為 true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=

開始靜默安裝,使用oracle用戶

[root@oracledb database]# su oracle
[oracle@oracledb response]# cd /opt/database/ #進入/opt/database目錄

[oracle@oracledb database]# ./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

安裝過程

[WARING]可暫時忽略,此時安裝程序仍在後臺進行,如果出現[FATAL],則安裝程序已經停止了。

安裝需要一會兒,如果想看安裝進度,可以再打開一個窗口,輸出會話日誌

tail -f 日誌路徑 #日誌文件(下圖中紅色框中未日誌文件絕對路徑)
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

當出現Successfully Setup Software.證明已經安裝成功,然後根據提示以root用戶執行腳本

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

安裝成功

[oracle@oracledb database]$ su root
Password:
[root@oracledb database]# sh /opt/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of /opt/app/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /opt/app/oracle/oraInventory to oinstall.
The execution of the/>[root@oracledb database]# sh /opt/app/oracle/product/11.2.0/db_1/root.sh
Check /opt/app/oracle/product/11.2.0/db_1/install/root_oracledb_2019-10-08_02-50-55.log for the output of root/>
  • 配置監聽程序

監聽命令(注意:一定要切換回oracle用戶

啟動監聽:

[oracle@oracledb database]# lsnrctl start
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

啟動監聽

重啟監聽:

[root@oracledb database]# lsnrctl reload
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

重啟監聽

停止監聽:

[oracle@oracledb database]# lsnrctl stop
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

停止監聽

查看監聽:

[root@oracledb database]# lsnrctl status
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

監聽狀態

  • 配置監聽(使用oracle用戶)
[oracle@oracledb database]# $ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

監聽配置

  • 查看監聽(使用oracle用戶)
[oracle@oracledb database]# lsnrctl status
CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

監聽狀態

  • 靜默dbca建庫
[oracle@oracledb database]# vim /opt/database/response/dbca.rsp

修改如下內容:

GDBNAME = "orcl" #第78行

SID="orcl" #第149行

CHARACTERSET="AL32UTF8" #第415行,去掉註釋

NATIONALCHARACTERSET="UTF8" #第425行 去掉註釋

保存退出

然後執行

[root@oracledb database]# su - oracle
Last login: Tue Oct 8 02:40:43 EDT 2019 on pts/0
[oracle@oracledb ~]# $ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp

然後輸入兩次密碼後開始自動創建:

CentOS 7.6靜默安裝Oracle 11gR2(最新版安裝詳細教程)

創建數據庫

  • 啟動數據庫
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to an idle instance.
SQL> start
SP2-1506: START, @ or @@ command has no arguments
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 759943168 bytes
Fixed Size\t\t 2217224 bytes
Variable Size\t\t 448793336 bytes
Database Buffers\t 301989888 bytes
Redo Buffers\t\t 6942720 bytes
Database mounted.
Database opened.
SQL> exit; #退出數據庫控制檯
  • 開機自動啟動監聽、啟動Oracle
[oracle@oracledb oracle]$ vim /etc/oratab

其中:

orcl:/opt/app/oracle/product/11.2.0/db_1:N

把第三段的N改為Y

改後如下:

orcl:/opt/app/oracle/product/11.2.0/db_1:Y 務必是大寫的Y

保存後退出

[root@oracledb oracle]# su root #切換至root用戶
[root@oracledb oracle]# vim /etc/rc.local

#在文件末尾增加如下內容

su - oracle -c 'dbstart'

su - oracle -c 'lsnrctl start'

然後執行

[root@oracledb oracle]# chmod +x /etc/rc.local

其實開機自動以oracle用戶執行上面兩個命令啦

  • 開放1521端口(遠程連接Oracle所需)

查看端口是否開放:

[root@oracledb oracle]# firewall-cmd --query-port=1521/tcp
no

永久開放1521端口號:

[root@oracledb oracle]# firewall-cmd --permanent --zone=public --add-port=1521/tcp
success

重啟防火牆:

[root@oracledb oracle]# systemctl restart firewalld.service


分享到:


相關文章: