CentOS 7 命令行安装 Oracle 11gR2

目的

搭建一个Oracle 11gR2支持数据热备份的验证环境,对应用系统进行集群部署验证。

准备

1、CentOS 7 64位最小化安装的虚拟机环境(安装过程略)
2、Oracle 11gR2 64位 Linux版安装包(可以通过Oracle官网直接下载)

linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip

开始安装

1 安装依赖包

操作用户:root

yum install -y automake autotools-dev binutils bzip2 elfutils expat \
gawk gcc gcc-multilib g++-multilib lib32ncurses5 lib32z1 \
ksh less lib32z1 libaio1 libaio-dev libc6-dev libc6-dev-i386 \
libc6-i386 libelf-dev libltdl-dev libodbcinstq4-1 libodbcinstq4-1:i386 \
libpth-dev libpthread-stubs0-dev libstdc++5 make openssh-server rlwrap \
rpm sysstat unixodbc unixodbc-dev unzip x11-utils zlibc unzip cifs-utils \
libXext.x86_64  glibc.i686

以上依赖包安装完成之后,执行

yum update

2 创建Oracle用户

操作用户:root

groupadd -g 502 oinstall
groupadd -g 503 dba
groupadd -g 504 oper
groupadd -g 505 asmadmin
useradd -u 502 -g oinstall -G oinstall,dba,asmadmin,oper -s /bin/bash -m oracle
passwd oracle

3 解压安装包

操作用户:oracle
操作目录:/home/oracle

将Oracle 11gR2安装文件上传(可以使用sftp上传)到该操作目录下面,然后顺序解压安装文件到该目录

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

4 修改安全设置

操作用户:root
操作文件:/etc/security/limits.conf

vi /etc/security/limits.conf

在文件最后追加如下内容(vi使用方法略):

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

5 创建安装目录

操作用户:oracle

mkdir ~/tools/oracle11g

6 修改环境变量

操作用户:oracle
操作目录:/home/oracle

vi ~/.bash_profile

在文件最后追加如下内容(vi使用方法略):

export ORACLE_BASE=/home/oracle/tools/oracle11g
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export NLS_LANG=.AL32UTF8
export PATH=${PATH}:${ORACLE_HOME}/bin/:$ORACLE_HOME/lib64;

执行以下命令使其生效:

source ~/.bash_profile

以后每次重新登录不需要重新设置,环境变量将自动加载。

7 关闭防火墙

操作用户:root

systemctl stop firewalld.service

并设置其重新启动服务器后不再打开

systemctl disable firewalld.service

8 定义安装响应文件

操作用户:oracle
操作目录:/home/oracle

复制文件模板

cp /home/oracle/database/response/db_install.rsp .

修改文件(vi使用方法略)

vi db_install.rsp

模板内容修改如下(目录、用户等没有变化的情况下,可以直接使用),修改出使用粗体标出:

####################################################################
## Copyright(c) Oracle Corporation 1998,2008. All rights reserved.##
##                                                                ##
## Specify values for the variables listed below to customize    ##
## your installation.                                            ##
##                                                                ##
## Each variable is associated with a comment. The comment        ##
## can help to populate the variables with the appropriate        ##
## values.   ##
##                                                                ##
## IMPORTANT NOTE: This file contains plain text passwords and    ##
## should be secured to have read permission only by oracle user  ##
## or db administrator who owns this installation.                ##
##                                                                ##
####################################################################

#------------------------------------------------------------------------------

# Do not change the following system generated value.

#------------------------------------------------------------------------------

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0

#------------------------------------------------------------------------------

# Specify the installation option.

# It can be one of the following:

# 1. INSTALL_DB_SWONLY

# 2. INSTALL_DB_AND_CONFIG

# 3. UPGRADE_DB

#-------------------------------------------------------------------------------

oracle.install.option=INSTALL_DB_AND_CONFIG

#-------------------------------------------------------------------------------

# Specify the hostname of the system as set during the install. It can be used

# to force the installation to use an alternative hostname rather than using the

# first hostname found on the system. (e.g., for systems with multiple hostnames

# and network interfaces)

#-------------------------------------------------------------------------------

ORACLE_HOSTNAME=localhost

#-------------------------------------------------------------------------------

# Specify the Unix group to be set for the inventory directory. 

#-------------------------------------------------------------------------------

UNIX_GROUP_NAME=oinstall

#-------------------------------------------------------------------------------

# Specify the location which holds the inventory files.

#-------------------------------------------------------------------------------

INVENTORY_LOCATION=/home/oracle/tools/oraInventory

#-------------------------------------------------------------------------------

# Specify the languages in which the components will be installed.           

#

# en  : English                  ja  : Japanese                 

# fr  : French                  ko  : Korean                   

# ar  : Arabic                  es  : Latin American Spanish   

# bn  : Bengali                  lv  : Latvian                 

# pt_BR: Brazilian Portuguese    lt  : Lithuanian               

# bg  : Bulgarian                ms  : Malay                   

# fr_CA: Canadian French          es_MX: Mexican Spanish         

# ca  : Catalan                  no  : Norwegian               

# hr  : Croatian                pl  : Polish                   

# cs  : Czech                    pt  : Portuguese               

# da  : Danish                  ro  : Romanian                 

# nl  : Dutch                    ru  : Russian                 

# ar_EG: Egyptian                zh_CN: Simplified Chinese       

# en_GB: English (Great Britain)  sk  : Slovak                   

# et  : Estonian                sl  : Slovenian               

# fi  : Finnish                  es_ES: Spanish                 

# de  : German                  sv  : Swedish                 

# el  : Greek                    th  : Thai                     

# iw  : Hebrew                  zh_TW: Traditional Chinese     

# hu  : Hungarian                tr  : Turkish                 

# is  : Icelandic                uk  : Ukrainian               

# in  : Indonesian              vi  : Vietnamese               

# it  : Italian                                                 

#

# Example : SELECTED_LANGUAGES=en,fr,ja

#------------------------------------------------------------------------------

SELECTED_LANGUAGES=en,zh_CN

#------------------------------------------------------------------------------

# Specify the complete path of the Oracle Home.

#------------------------------------------------------------------------------

ORACLE_HOME=/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1

#------------------------------------------------------------------------------

# Specify the complete path of the Oracle Base.

#------------------------------------------------------------------------------

ORACLE_BASE=/home/oracle/tools/oracle11g

#------------------------------------------------------------------------------

# Specify the installation edition of the component.                       

#                                                           

# The value should contain only one of these choices.       

# EE    : Enterprise Edition                               

# SE    : Standard Edition                                 

# SEONE  : Standard Edition One

# PE    : Personal Edition (WINDOWS ONLY)

#------------------------------------------------------------------------------

oracle.install.db.InstallEdition=EE

#------------------------------------------------------------------------------

# This variable is used to enable or disable custom install.

#

# true  : Components mentioned as part of 'customComponents' property

#        are considered for install.

# false : Value for 'customComponents' is not considered.

#------------------------------------------------------------------------------

oracle.install.db.isCustomInstall=false

#------------------------------------------------------------------------------

# This variable is considered only if 'IsCustomInstall' is set to true.

#

# Description: List of Enterprise Edition Options you would like to install.

#

#              The following choices are available. You may specify any

#              combination of these choices.  The components you choose should

#              be specified in the form "internal-component-name:version"

#              Below is a list of components you may specify to install.

#       

#              oracle.rdbms.partitioning:11.2.0.1.0 - Oracle Partitioning

#              oracle.rdbms.dm:11.2.0.1.0 - Oracle Data Mining

#              oracle.rdbms.dv:11.2.0.1.0 - Oracle Database Vault

#              oracle.rdbms.lbac:11.2.0.1.0 - Oracle Label Security

#              oracle.rdbms.rat:11.2.0.1.0 - Oracle Real Application Testing

#              oracle.oraolap:11.2.0.1.0 - Oracle OLAP

#------------------------------------------------------------------------------

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

###############################################################################

#                                                                            #

# PRIVILEGED OPERATING SYSTEM GROUPS                                        #

# ------------------------------------------                                  #

# Provide values for the OS groups to which OSDBA and OSOPER privileges      #

# needs to be granted. If the install is being performed as a member of the  #

# group "dba", then that will be used unless specified otherwise below.       #

#                                                                            #

###############################################################################

#------------------------------------------------------------------------------

# The DBA_GROUP is the OS group which is to be granted OSDBA privileges.

#------------------------------------------------------------------------------

oracle.install.db.DBA_GROUP=dba

#------------------------------------------------------------------------------

# The OPER_GROUP is the OS group which is to be granted OSOPER privileges.

#------------------------------------------------------------------------------

oracle.install.db.OPER_GROUP=oper

#------------------------------------------------------------------------------

# Specify the cluster node names selected during the installation.

#------------------------------------------------------------------------------

oracle.install.db.CLUSTER_NODES=

#------------------------------------------------------------------------------

# Specify the type of database to create.

# It can be one of the following:

# - GENERAL_PURPOSE/TRANSACTION_PROCESSING         

# - DATA_WAREHOUSE                               

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

#------------------------------------------------------------------------------

# Specify the Starter Database Global Database Name.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.globalDBName=orcl

#------------------------------------------------------------------------------

# Specify the Starter Database SID.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.SID=orcl

#------------------------------------------------------------------------------

# Specify the Starter Database character set.

#                                             

# It can be one of the following:

# AL32UTF8, WE8ISO8859P15, WE8MSWIN1252, EE8ISO8859P2,

# EE8MSWIN1250, NE8ISO8859P10, NEE8ISO8859P4, BLT8MSWIN1257,

# BLT8ISO8859P13, CL8ISO8859P5, CL8MSWIN1251, AR8ISO8859P6,

# AR8MSWIN1256, EL8ISO8859P7, EL8MSWIN1253, IW8ISO8859P8,

# IW8MSWIN1255, JA16EUC, JA16EUCTILDE, JA16SJIS, JA16SJISTILDE,

# KO16MSWIN949, ZHS16GBK, TH8TISASCII, ZHT32EUC, ZHT16MSWIN950,

# ZHT16HKSCS, WE8ISO8859P9, TR8MSWIN1254, VN8MSWIN1258

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.characterSet=AL32UTF8

#------------------------------------------------------------------------------

# This variable should be set to true if Automatic Memory Management

# in Database is desired.

# If Automatic Memory Management is not desired, and memory allocation

# is to be done manually, then set it to false.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.memoryOption=true

#------------------------------------------------------------------------------

# Specify the total memory allocation for the database. Value(in MB) should be

# at least 256 MB, and should not exceed the total physical memory available

# on the system.

# Example: oracle.install.db.config.starterdb.memoryLimit=512

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.memoryLimit=512

#------------------------------------------------------------------------------

# This variable controls whether to load Example Schemas onto the starter

# database or not.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.installExampleSchemas=false

#------------------------------------------------------------------------------

# This variable includes enabling audit settings, configuring password profiles

# and revoking some grants to public. These settings are provided by default.

# These settings may also be disabled.   

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.enableSecuritySettings=true

###############################################################################

#                                                                            #

# Passwords can be supplied for the following four schemas in the       #

# starter database:            #

#  SYS                                                                      #

#  SYSTEM                                                                    #

#  SYSMAN (used by Enterprise Manager)                                      #

#  DBSNMP (used by Enterprise Manager)                                      #

#                                                                            #

# Same password can be used for all accounts (not recommended)       #

# or different passwords for each account can be provided (recommended)      #

#                                                                            #

###############################################################################

#------------------------------------------------------------------------------

# This variable holds the password that is to be used for all schemas in the

# starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.ALL=Oracle#123456

#-------------------------------------------------------------------------------

# Specify the SYS password for the starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.SYS=

#-------------------------------------------------------------------------------

# Specify the SYSTEM password for the starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.SYSTEM=

#-------------------------------------------------------------------------------

# Specify the SYSMAN password for the starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.SYSMAN=

#-------------------------------------------------------------------------------

# Specify the DBSNMP password for the starter database.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.password.DBSNMP=

#-------------------------------------------------------------------------------

# Specify the management option to be selected for the starter database.

# It can be one of the following:

# 1. GRID_CONTROL

# 2. DB_CONTROL

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.control=DB_CONTROL

#-------------------------------------------------------------------------------

# Specify the Management Service to use if Grid Control is selected to manage

# the database.     

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=

#-------------------------------------------------------------------------------

# This variable indicates whether to receive email notification for critical

# alerts when using DB control. 

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false

#-------------------------------------------------------------------------------

# Specify the email address to which the notifications are to be sent.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.dbcontrol.emailAddress=[email protected]

#-------------------------------------------------------------------------------

# Specify the SMTP server used for email notifications.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.dbcontrol.SMTPServer=

###############################################################################

#                                                                            #

# SPECIFY BACKUP AND RECOVERY OPTIONS                                      #

# ------------------------------------                               #

# Out-of-box backup and recovery options for the database can be mentioned    #

# using the entries below.       #

#                                                                            #

###############################################################################

#------------------------------------------------------------------------------

# This variable is to be set to false if automated backup is not required. Else

# this can be set to true.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.automatedBackup.enable=false

#------------------------------------------------------------------------------

# Regardless of the type of storage that is chosen for backup and recovery, if

# automated backups are enabled, a job will be scheduled to run daily at

# 2:00 AM to backup the database. This job will run as the operating system

# user that is specified in this variable.

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.automatedBackup.osuid=

#-------------------------------------------------------------------------------

# Regardless of the type of storage that is chosen for backup and recovery, if

# automated backups are enabled, a job will be scheduled to run daily at

# 2:00 AM to backup the database. This job will run as the operating system user

# specified by the above entry. The following entry stores the password for the

# above operating system user.

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.automatedBackup.ospwd=

#-------------------------------------------------------------------------------

# Specify the type of storage to use for the database.

# It can be one of the following:

# - FILE_SYSTEM_STORAGE

# - ASM_STORAGE

#------------------------------------------------------------------------------

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

#-------------------------------------------------------------------------------

# Specify the database file location which is a directory for datafiles, control

# files, redo logs.       

#

# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/home/oracle/tools/oracle11g/oradata

#-------------------------------------------------------------------------------

# Specify the backup and recovery location.

#

# Applicable only when oracle.install.db.config.starterdb.storage=FILE_SYSTEM

#-------------------------------------------------------------------------------

oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/home/oracle/tools/oracle11g/fast_recovery_area

#-------------------------------------------------------------------------------

# Specify the existing ASM disk groups to be used for storage.

#

# Applicable only when oracle.install.db.config.starterdb.storage=ASM

#-------------------------------------------------------------------------------

oracle.install.db.config.asm.diskGroup=

#-------------------------------------------------------------------------------

# Specify the password for ASMSNMP user of the ASM instance.                 

#

# Applicable only when oracle.install.db.config.starterdb.storage=ASM_SYSTEM

#-------------------------------------------------------------------------------

oracle.install.db.config.asm.ASMSNMPPassword=

#------------------------------------------------------------------------------

# Specify the My Oracle Support Account Username.

#

#  Example  : MYORACLESUPPORT_USERNAME=metalink

#------------------------------------------------------------------------------

MYORACLESUPPORT_USERNAME=

#------------------------------------------------------------------------------

# Specify the My Oracle Support Account Username password.

#

# Example    : MYORACLESUPPORT_PASSWORD=password

#------------------------------------------------------------------------------

MYORACLESUPPORT_PASSWORD=

#------------------------------------------------------------------------------

# Specify whether to enable the user to set the password for

# My Oracle Support credentials. The value can be either true or false.

# If left blank it will be assumed to be false.

#

# Example    : SECURITY_UPDATES_VIA_MYORACLESUPPORT=true

#------------------------------------------------------------------------------

SECURITY_UPDATES_VIA_MYORACLESUPPORT=

#------------------------------------------------------------------------------

# Specify whether user wants to give any proxy details for connection.

# The value can be either true or false. If left blank it will be assumed

# to be false.

#

# Example    : DECLINE_SECURITY_UPDATES=false

#------------------------------------------------------------------------------

DECLINE_SECURITY_UPDATES=true

#------------------------------------------------------------------------------

# Specify the Proxy server name. Length should be greater than zero.

#

# Example    : PROXY_HOST=proxy.domain.com

#------------------------------------------------------------------------------

PROXY_HOST=

#------------------------------------------------------------------------------

# Specify the proxy port number. Should be Numeric and atleast 2 chars.

#

# Example    : PROXY_PORT=25

#------------------------------------------------------------------------------

PROXY_PORT=

#------------------------------------------------------------------------------

# Specify the proxy user name. Leave PROXY_USER and PROXY_PWD

# blank if your proxy server requires no authentication.

#

# Example    : PROXY_USER=username

#------------------------------------------------------------------------------

PROXY_USER=

#------------------------------------------------------------------------------

# Specify the proxy password. Leave PROXY_USER and PROXY_PWD 

# blank if your proxy server requires no authentication.

#

# Example    : PROXY_PWD=password

#------------------------------------------------------------------------------

PROXY_PWD=

9 静默安装Oracle 11gR2

操作用户:oracle
操作目录:/home/oracle/database

./runInstaller -silent -ignoreSysPrereqs -responseFile /home/oracle/db_install.rsp

最终看到以下内容,表明Oracle已经安装成功了

The following configuration scripts need to be executed as the "root" user.
#!/bin/sh
#Root scripts to run

/home/oracle/tools/oraInventory/orainstRoot.sh
/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/root.sh
To execute the configuration scripts:

        1. Open a terminal window
         2. Log in as "root"
         3. Run the scripts
         4. Return to this window and hit "Enter" key to continue

Successfully Setup Software.

10 完成安装

操作用户:root

根据上一步完成信息提示,执行以下两行命令,具体位置需要根据你的安装位置决定:

/home/oracle/tools/oraInventory/orainstRoot.sh
/home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/root.sh

验证安装

1 启动已经安装的数据库orcl

操作用户:oracle

sqlplus /nolog

使用dba权限连接Oralce

connect / as sysdba

启动数据库

startup

确认启动结果:

ORACLE instance started.

Total System Global Area  534462464 bytes
Fixed Size                  2215064 bytes
Variable Size            373293928 bytes
Database Buffers          150994944 bytes
Redo Buffers                7958528 bytes
Database mounted.
Database opened.

2 启动监听

操作用户:oracle

lsnrctl start

查看监听状态,可以确认各个数据库和实例监听服务的状态:

lsnrctl status

确认监听状态:

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 05-JAN-2018 12:52:45

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias                    LISTENER
Version                  TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                05-JAN-2018 12:49:29
Uptime                    0 days 0 hr. 3 min. 16 sec
Trace Level              off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File  /home/oracle/tools/oracle11g/product/11.2.0/dbhome_1/network/admin/listener.ora
Listener Log File        /home/oracle/tools/oracle11g/diag/tnslsnr/vmco0240/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vmco0240)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

完成安装

数据库和监听成功启动之后,CentOS 7环境上的Oracle 11gR2就安装完成了。

你可能感兴趣的:(CentOS 7 命令行安装 Oracle 11gR2)