網上有很多安裝教程,但大多不夠完整,參照了一些教程,實測安裝成功,整理出來分享給大家!
一、官方最低要求配置
內存:1G(官方最低要求1G)
硬盤:40G(企業版安裝所需4.29G和1.7G數據文件)
二、准備工作
1、安裝環境介紹
系統:CentOS 7.5 64位
Oracle版本:Oracle 11gR2
2、下載Oracle安裝文件官網下載地址

下載出來是這樣兩個壓縮包:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
3、檢查系統版本
uname -m

cat /etc/redhat-release

4、修改主機名
sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
hostname oracledb

5、添加主機名與IP對應記錄
yum -y install vim # 安裝vim,如已安裝請忽略
vim /etc/hosts # 編輯 hosts
在末尾處添加一條 hosts,格式:IP 主機名

6、關閉Selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0

7、創建用戶和組
創建Oracle安裝組oinstall,數據庫管理員組dba,及oracle用戶
groupadd -g 200 oinstall groupadd -g 201 dba useradd -u 440 -g oinstall -G dba oracle #(主組oinstall,其它組:dba) passwd oracle #(P)

8、修改內核參數
vim /etc/sysctl.conf # 編輯 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
保存並退出
sysctl -p # 使配置生效

9、修改系統資源限制
vim /etc/security/limits.conf # 編輯 limits.conf,末尾處添加下面的參數
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536

10、修改用戶驗證選項
vim /etc/pam.d/login
找到這一行:session required pam_namespace.so ,在其下一行添加一條pam_limits.so
session required pam_limits.so

11、修改用戶配置文件
如果做了第6步的limits.conf設置,這個設置就不需要了
$ vim /etc/profile #() if [ $USER ="oracle" ]; then if [ $SHELL = "/bin/ksh" ];then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
12、創建安裝目錄並分配權限
mkdir -p /opt/app/oracle/ chmod 755 /opt/app/oracle/ chown oracle.oinstall -R /opt/app/oracle/

13、設置Oracle環境變量
建議用ssh工具,開兩個窗口,分別登錄root用戶和oracle用戶,避免來回切換用戶
su - oracle # 切換到 oracle 用戶
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

保存並退出
使配置生效
source ~/.bash_profile # 使配置立即生效
env | grep ORA # 查看環境變量是否完成

三、安裝及配置
1、安裝依賴包
所需依賴:
binutils-2.23.52.0.1-12.el7.x86_64 compat-libcap1-1.10-3.el7.x86_64 compat-libstdc++-33-3.2.3-71.el7.i686 compat-libstdc++-33-3.2.3-71.el7.x86_64 gcc-4.8.2-3.el7.x86_64 gcc-c++-4.8.2-3.el7.x86_64 glibc-2.17-36.el7.i686 glibc-2.17-36.el7.x86_64 glibc-devel-2.17-36.el7.i686 glibc-devel-2.17-36.el7.x86_64 ksh libaio-0.3.109-9.el7.i686 libaio-0.3.109-9.el7.x86_64 libaio-devel-0.3.109-9.el7.i686 libaio-devel-0.3.109-9.el7.x86_64 libgcc-4.8.2-3.el7.i686 libgcc-4.8.2-3.el7.x86_64 libstdc++-4.8.2-3.el7.i686 libstdc++-4.8.2-3.el7.x86_64 libstdc++-devel-4.8.2-3.el7.i686 libstdc++-devel-4.8.2-3.el7.x86_64 libXi-1.7.2-1.el7.i686 libXi-1.7.2-1.el7.x86_64 libXtst-1.2.2-1.el7.i686 libXtst-1.2.2-1.el7.x86_64 make-3.82-19.el7.x86_64 sysstat-10.1.5-1.el7.x86_64 unixODBC-2.3.1-6.el7.x86_64 or later unixODBC-2.3.1-6.el7.i686 or later unixODBC-devel-2.3.1-6.el7.x86_64 or later unixODBC-devel-2.3.1-6.el7.i686 or later
切換到 root 用戶,使用yum -y install 進行安裝
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
檢查是否全部已經安裝,沒安裝的單獨進行安裝
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
2、安裝Oracle
yum -y install unzip # 安裝unzip,如已安裝請忽略
將下載的Oracle壓縮包放入/opt目錄下(使用 FTP 工具或者直接在 CentOS 進行下載,下載地址開頭有講),在/opt目錄下進行解壓
ls *.zip | xargs -n1 unzip -o
或者分開解壓
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解壓后進入 database 目錄,該目錄下有三個 .rsp 文件,用來作為靜默安裝時的應答文件的模板。
三個文件作用分別是:
db_install.rsp:安裝應答
dbca.rsp:創建數據庫應答
netca.rsp:建立監聽、本地服務名等網絡設置的應答
cd /opt/database/response # 進入 response 目錄
cp db_install.rsp db_install_copy.rsp # 將 db_install.rsp 備份一份,以免修改出錯
然后修改靜默安裝的配置文件
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=
保存並退出
less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$" # 查看配置
開始靜默安裝
su - oracle # 切換到 oracle 用戶
cd /opt/database/ #進入/opt/database目錄
./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp # 安裝
如果出現下圖錯誤,可參照 https://www.cnblogs.com/a9999/p/6957280.html 解決,然后重新執行安裝命令

[WARING]可暫時忽略,此時安裝程序仍在后台進行,如果出現[FATAL],則安裝程序已經停止了。
安裝需要一會兒,如果想看安裝進度,可以再打開一個窗口,輸出會話日志
tail -f 日志文件(下圖中紅色框中為日志文件絕對路徑)

當出現 Successfully Setup Software. 證明已經安裝成功,然后根據提示以 root 用戶執行腳本
sh /opt/app/oracle/oraInventory/orainstRoot.sh sh /opt/app/oracle/product/11.2.0/db_1/root.sh

四、配置監聽程序
監聽命令
啟動監聽:lsnrctl start
停止監聽:lsnrctl stop
重啟監聽:lsnrctl reload
查看監聽:lsnrctl status
1、配置監聽(使用oracle用戶)
su - oracle # 切換到 oracle 用戶
$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置監聽

2、查看監聽(使用oracle用戶)
snrctl status # 查看艦艇狀態

3、靜默dbca建庫
su - root # 切換到 root 用戶
vim /opt/database/response/dbca.rsp
修改如下內容:
GDBNAME = "orcl" # 78 行 SID="orcl" # 149行 CHARACTERSET="AL32UTF8" # 415行 NATIONALCHARACTERSET="UTF8" # 425行
保存並退出
靜默dbca建庫
su - oracle # 切換到 oracle 用戶
$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建庫
執行完后會先清屏,清屏之后沒有提示,直接輸入oracle用戶的密碼,回車,再輸入一次,再回車。
稍等一會,會開始自動創建

4、啟動數據庫
[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> startup ORACLE instance started. Total System Global Area 3290345472 bytes Fixed Size 2217832 bytes Variable Size 1795164312 bytes Database Buffers 1476395008 bytes Redo Buffers 16568320 bytes Database mounted. Database opened. SQL>
使用 show parameter;或者 select table_name from dba_tables 看看是否正常
5、配置開機自動啟動監聽、啟動Oracle
su - root # 切換到 root 用戶
vim /etc/oratab # 編輯
其中:
*:/home/oracle/oracle92:N
這一行中 * 改為數據庫的SID orcl, 第三段的N改為Y
改后如下:
orcl:/home/oracle/oracle92:Y 務必是大寫的Y
保存並退出
vim /etc/rc.local # 編輯
在文件末尾增加如下內容
su - oracle -c 'dbstart'
su - oracle -c 'lsnrctl start'
保存並退出
chmod +x /etc/rc.local # 配置文件權限
其實開機自動以 oracle 用戶執行上面兩個命令啦
6、開放1521端口(遠程連接Oracle所需)
查看端口是否開放:firewall-cmd --query-port=1521/tcp
永久開放1521端口號:firewall-cmd --permanent --zone=public --add-port=1521/tcp
重啟防火牆: systemctl restart firewalld.service
查看防火牆狀態
systemctl status firewalld.service
備注:啟動 | 關閉 | 重啟 防火牆
systemctl [start | stop | restart] firewalld.service
