Oracle 11g 基於CentOS7靜默安裝教程(無圖形界面,遠程安裝)

1、安裝前環境準備

一、  VMware Workstation 10 搭建 CentOS 7 x64位虛擬機,CentOS7操做系統最小化安裝,2G內存,20G磁盤空間,1CPU,已配置好網絡IP:192.168.1.30linux

  wKiom1hSTbvA5DSaAABvxQDYKtU733.png-wh_50                         

二、  已下載Oracle 11gLinux安裝文件:linux.x64_11gR2_database_1of2.ziplinux.x64_11gR2_database_2of2.zipc++

wKioL1hSTfTgTWWwAAAU3DdQ-sU675.png-wh_50

三、  經過XmanagerXftp上傳到虛擬機/tmp目錄中。sql

wKiom1hSTgLzIrkcAAE_pnNkX6I449.png-wh_50

 

2、操做系統準備工做

  1. 使用root用戶登陸操做系統數據庫

  2. yum 安裝 unzip 軟件,用來解壓上傳的Oracle安裝文件。vim

[root@CentOS ~]#yum install unzip –ybash

  1. 解壓Oracle 安裝程序網絡

[root@CentOS~]#cd /data/oracle/oraclesetupsession

[root@CentOS tmp]#unzip linux.x64_11gR2_database_1of2.zip && unziplinux.x64_11gR2_database_2of2.ziporacle

等待解壓完成後,會在/data/oracle/oraclesetup目錄下生產一個database文件夾,裏面就Oracle11g安裝文件。ide

wKioL1hSTg7zNwyLAAAg-Ehebrc980.png-wh_50

  1. Yum 安裝vim軟件,用於編輯配置文件(我的習慣,不安裝vim,使用vi也能夠)。

[root@CentOStmp]#yum install vim -y

  1. /etc/hosts文件中添加主機名

[root@CentOS tmp]# vim /etc/hosts

添加192.168.206.135 CentOS

wKioL1hSTkGz8yiZAAAL-wyaf2E791.png

  1. 關閉selinux

[root@CentOS tmp]# vim /etc/selinux/config

設置SELINUX=disabled

wKiom1hSTimTz72ZAAAsp40Pq0Y303.png

[root@CentOS tmp]# setenforce 0

 

  1. 關閉防火牆

[root@CentOS tmp]# service iptables stop

[root@CentOS ~]# systemctl stop firewalld

[root@CentOS ~]# systemctl disable firewalld

  1. 安裝Oracle 11g依賴包

[root@CentOS tmp]# 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 –y

 

  1. 添加安裝用戶和用戶組

 

[root@CentOS tmp]# groupadd oinstall

[root@CentOS tmp]# groupadd dba

[root@CentOS tmp]# useradd -g oinstall -G dba oracle

[root@CentOS tmp]# passwd oracle

[root@CentOS tmp]# id oracle

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

 

  1. 修改內核參數配置文件

[root@CentOS ~]# vim /etc/sysctl.conf

 

添加如下內容

 

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1073741824

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

 

[root@CentOS ~]# sysctl -p

 

其中kernel.shmmax = 1073741824爲本機物理內存(2G)的一半,單位爲byte

 

  1. 修改用戶的限制文件

[root@CentOS ~]# vim /etc/security/limits.conf

 

添加如下內容

 

oracle           soft    nproc           2047

oracle           hard    nproc           16384

oracle           soft    nofile          1024

oracle           hard    nofile         65536

oracle           soft    stack           10240

 

修改/etc/pam.d/login文件:

[root@CentOS ~]# vim /etc/pam.d/login

 

添加如下內容:

 

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

 

修改/etc/profile文件:

[root@CentOS ~]# 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

 

  1. 建立安裝目錄和設置文件權限

 

[root@CentOS ~]# mkdir -p /data/oracle/product/11.2.0

[root@CentOS ~]# mkdir /data/oracle/oradata

[root@CentOS ~]# mkdir /data/oracle/inventory

[root@CentOS ~]# mkdir /data/oracle/fast_recovery_area

[root@CentOS ~]# chown -R oracle:oinstall /data/oracle

[root@CentOS ~]# chmod -R 775 /data/oracle

 

  1. 設置oracle用戶環境變量

 

[root@CentOS ~]# su - oracle

[oracle@CentOS ~]$ vim .bash_profile

添加以下內容:

 

ORACLE_BASE=/data/oracle

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

ORACLE_SID=ora11

PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SIDPATH

 

注意,標紅處必須與建立的數據庫實例名稱一致,不然數據庫啓動後沒法訪問。

 

  1. 編輯靜默安裝響應文件

[oracle@CentOS ~]$ cp -R /data/oracle/oraclesetup/database/response/ .

[oracle@CentOS ~]$ cd response/

[oracle@CentOS response]$ vim db_install.rsp

 

須要設置的選項以下:

 

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=CentOS

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/oracle/product/11.2.0

ORACLE_BASE=/data/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

 

3、根據響應文件靜默安裝Oracle11g

[oracle@CentOS response]$ cd /data/oracle/oraclesetup/database/

[oracle@iZwz93mxkrdvotp49mmzfjZ database]$  ./runInstaller -silent -responseFile/data/oracle/response/db_install.rsp -ignorePrereq

若是執行以上命令出錯,會提示有參數格式,按照提示參數格式修改修改便可,通常是因爲word中的字體、符號格式複製到客戶端命令行後不一致引發,修改便可

wKioL1hSTl_i_daTAABm9x0MaNA805.png

開始Oracle在後臺靜默安裝。安裝過程當中,若是提示[WARNING]沒必要理會,此時安裝程序仍在後臺進行,若是出現[FATAL],則安裝程序已經中止了。

能夠在如下位置找到本次安裝會話的日誌:

/data/oracle/inventory/logs/installActions2015-06-08_04-00-25PM.log

能夠切換終端執行top命令查看後臺進程一直是在安裝的,/u01目錄也在不斷增大,

當出現如下提示時,表明安裝成功:

wKiom1hSTm7THxJLAAApwLmNv8M792.png

按照要求執行腳本。

打開終端,以root身份登陸,執行腳本:

[root@CentOS~]# sh /data/oracle/inventory/db_1/orainstRoot.sh

[root@CentOS~]# sh /data/oracle/product/11.2.0/db_1/root.sh

wKioL1hSTn_B_Pb9AAAuJktZojU617.png

 

4、以靜默方式配置監聽

從新使用oracle用戶登陸

 [oracle@iZwz93mxkrdvotp49mmzfjZ~]$ netca /silent /responseFile /data/oracle/response/netca.rsp

注意此處,必須使用/silent /responseFile格式,而不是-silent -responseFile,由於是靜默安裝

wKiom1hSTqrwg_h3AAA3we3dP2U247.png

成功運行後,在/data/oracle/product/11.2.0/db_1/network/admin/中生成listener.orasqlnet.ora

經過netstat命令能夠查看1521端口正在監聽。

Yum安裝netstat軟件,軟件包是在net-tools中。

[root@CentOS~]# yum install net-tools

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

wKiom1hSTpHCq6HtAAAK-7xQJoY696.png

 

5、以靜默方式創建新庫,同時也創建一個對應的實例。

[oracle@CentOS~]$ vim /data/oracle/response/dbca.rsp

設置如下參數:

GDBNAME= "ora11"

SID =" ora11"

SYSPASSWORD= " system@2016"

SYSTEMPASSWORD= "system@2016"

SYSMANPASSWORD= " system@2016"

DBSNMPPASSWORD= " system@2016"

DATAFILEDESTINATION=/data/oracle/oradata

RECOVERYAREADESTINATION=/data/oracle/fast_recovery_area

CHARACTERSET= "ZHS16GBK"

TOTALMEMORY= "1638"

 

其中TOTALMEMORY ="1638" 1638MB,物理內存2G*80%

 

進行靜默配置:

[oracle@CentOS~]$ dbca -silent -responseFile /data/oracle/response/dbca.rsp

wKiom1hSTrzSBovFAAAydzaMDnk396.png

 

建庫後進行實例進程檢查:

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

wKiom1hSTszgAvy-AABNH41336w085.png

 

查看監聽狀態:

[oracle@CentOS~]$ lsnrctl status

wKiom1hSTtrgXbDTAABhkDuV37s121.png

 

登陸查看實例狀態:

[oracle@CentOS~]$ sqlplus / as sysdba

SQL> select status from v$instance;

wKioL1hSTuaTBcxwAAAlQoJ-E48378.png

 

6、Oracle開機自啓動設置

  1. 修改/data/oracle/product/11.2.0/bin/dbstart

[oracle@CentOS~]$ vim /data/oracle/product/11.2.0/bin/dbstart

ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME

  1. 修改/data/oracle/product/11.2.0/bin/dbshut

[oracle@CentOS~]$ vim /data/oracle/product/11.2.0/bin/dbshut

ORACLE_HOME_LISTNER=$1修改成ORACLE_HOME_LISTNER=$ORACLE_HOME

  1. 修改/etc/oratab文件

[oracle@CentOS~]$ vim /etc/oratab

orcl:/data/oracle/product/11.2.0:N中最後的N改成Y,成爲orcl:/data/oracle/product/11.2.0:Y

  1. 輸入命令dbshutdbstart測試

[oracle@CentOS~]$ dbshut

wKiom1hSTvHSngC3AABFgCrxMm8774.png

Oracle監聽中止,進程消失。

 

[oracle@CentOS~]$ dbstart

wKioL1hSTvyigm1XAAB0pkhchBc974.png

Oracle監聽啓動,進程啓動。

 

  1. 切換到root帳戶創建自啓動腳本

[oracle@CentOS~]$ su -

[root@CentOS~]# vim /etc/rc.d/init.d/oracle

添加如下內容(有些值如ORACLE_HOMEORACLE_USER等根據實際狀況能夠修改):

#!/bin/bash

 

#oracle: Start/Stop Oracle Database 11g R2

#chkconfig: 345 90 10

#description: The Oracle Database is an Object-Relational Database ManagementSystem.

#

./etc/rc.d/init.d/functions

LOCKFILE=/var/lock/subsys/oracle

ORACLE_HOME=/data/oracle/product/11.2.0/db_1

ORACLE_USER=oracle

case"$1" in

'start')

         if [ -f $LOCKFILE ];then

                   echo $0 already running.

         else

                   echo -n $"StartingOracle Database:"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl start"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl start dbconsole"

                   touch $LOCKFILE

         fi

   ;;

'stop')

         if [ ! -f $LOCKFILE ]; then

                   echo $0 already stopping.

         else

                   echo -n $"StoppingOracle Database:"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/lsnrctl stop"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/dbshut"

                   su - $ORACLE_USER -c"$ORACLE_HOME/bin/emctl stop dbconsole"

                   rm -f $LOCKFILE

         fi

   ;;

'restart')

         $0 stop

         sleep 5

         $0 start

   ;;

'status')

         if [ -f $LOCKFILE ]; then

                   echo $0 started.

         else

                   echo $0 stopped.

         fi

   ;;

*)

         echo "Usage: $0[start|stop|status]"

         exit 1

esac

exit 0

 

  1. 修改/etc/init.d/oracle服務文件權限

[root@CentOSinit.d]# chmod 755 /etc/init.d/oracle

  1. 設置爲開機啓動

[root@CentOS~]# chkconfig oracle on

wKiom1hSTw-gmgVgAAApyBGlIxc317.png

  1. 進行service oracle start/stop/restart測試

wKioL1hSTxvTWZ0_AAAggGEzPyo931.png

wKiom1hSTyqiCRPfAAAR7NIT5hk552.png

  1. Reboot重啓查看Oracle監聽和實例進程均能自動啓動。

相關文章
相關標籤/搜索