CentOS6.5静默安装Oracle11g实践

可紊 提交于 2020-02-28 08:52:45

今日测试安装Oracle11个,最初使用CentOS7安装,但是有部分内核参数设置失败,故而通过CentOS6.5安装,特此记录。

1.安装前准备工作

1.1.修改主机名

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=test
GATEWAY=192.168.100.254

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.99 test

1.2.关闭防火墙

service iptables status
service iptables stop
chkconfig iptables off

1.3.关闭SELiunx

vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

1.4.修改内核参数

vi /etc/sysctl.conf
文件行末添加以下内容,如某项默认值大于配置值,可不修改

kernel.shmall = 2097152
kernel.shmmax = 4294967295 
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744 
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

最后输入下面的命令,让内核参数生效:

sysctl -p

以下是各个参数的说明:

参数 说明
fs.aio-max-nr 同时可以拥有的的异步IO请求数目。1048576 即 1024 * 1024 也就是 1024K 个。
fs.file-max 系统允许打开的文件数。
kernel.shmmax Linux进程可以分配的单独共享内存段的最大值,一般设置为内存总大小的一半。 这个值的设置应该大于SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此对于安装Oracle数据库的系统,shmmax的值应该比内存的二分之一大一些。
kernel.shmall 设置共享内存总页数。这个值太小有可能导致数据库启动报错。计算公式为:内存(G)* 1024* 1024* 1024/4096,4096为getconf PAGE_SIZE得到分页大小。
kernel.shmmni 设置系统级最大共享内存段数量。推荐最小值为4096。
kernel.sem 从左到右分别为SEMMSL、SEMMNS、SEMOPM和SEMMNI。(1).SEMMSL:设置每个信号灯组中信号灯最大数量,推荐的最小值是250。 对于系统中存在大量并发连接的系统,推荐将这个值设置为PROCESSES初始化参数加10。(2).SEMMNS:设置系统中信号灯的最大数量。操作系统在分配信号灯时不会超过LEAST(SEMMNS,SEMMSL* SEMMNI)。事实上,如果SEMMNS的值超过了SEMMSL* SEMMNI是非法的,因此推荐SEMMNS的值就设置为SEMMSL* SEMMNI。Oracle推荐SEMMNS的设置不小于32000,假如数据库的PROCESSES参数设置为600,则SEMMNS的设置应为:(600+10)* 142 。(3).SEMOPM:设置每次系统调用可以同时执行的最大信号灯操作的数量。由于一个信号灯组最多拥有SEMMSL个信号灯,因此有推荐将SEMOPM设置为SEMMSL的值。Oracle验证的10.2和11.1的SEMOPM的配置为100。(4).SEMMNI:设置系统中信号灯组的最大数量。Oracle10g和11g的推荐值为142。
net.ipv4.ip_local_port_range ip_local_port_range表示端口的范围,为指定的内容
net.core.rmem_default 表示接收套接字缓冲区大小的缺省值(以字节为单位)。
net.core.rmem_max 表示接收套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_default 表示发送套接字缓冲区大小的缺省值(以字节为单位)。
net.core.wmem_max 表示发送套接字缓冲区大小的最大值(以字节为单位)。

1.5.修改用户限制

vi /etc/security/limits.conf

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

1.6.修改用户验证选项

vi /etc/pam.d/login
64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录

session required pam_limits.so

1.7.修改用户配置文件

vi /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

source /etc/profile 使其生效

1.8.创建Oracle用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

1.9.创建目录及修改权限

# the oracle base directory
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
# Database file directory
mkdir -p /u01/oradata
# Recovery file directory (flash recovery area)
mkdir -p /u01/flash_recovery_area
chown -R oracle:oinstall /u1
chmod -R 775 /space

1.10.设置并刷新环境变量

su – oracle
vi /home/oracle/.bash_profile

添加以下内容,请使其生效 source ~/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
PATH=$PATH:/usr/sbin; export PATH
PATH=$PATH:/usr/bin; export PATH

1.11.安装oracle必须的包

yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat unixODBC unixODBC-devel

2.安装

2.1.解压安装包

将oracle软件上传至/home/oracle目录下

ls *.zip |xargs -n1 unzip

2.2.复制一份静默模板

cp -R /home/oracle/database/response /home/oracle

三个文件作用分别是:

  • db_install.rsp:安装Oracle
  • dbca.rsp:创建数据库
  • netca.rsp:建立监听、本地服务名等网络设置

2.3.安装Oracle

vi db_install.rsp,修改安装应答文件,修改内容如下:

oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=test
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db1
ORACLE_BASE=/u01/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=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
# 物理内存的60%左右
oracle.install.db.config.starterdb.memoryLimit=124494
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.control=DB_CONTROL
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/oradata
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/fast_recovery_area
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
# 一定要是true
DECLINE_SECURITY_UPDATES=true

cd /home/oracle/database
执行命令:

./runInstaller -silent -force -ignorePrereq -responseFile /home/oracle/db_install.rsp

当安装界面出现如下信息的时候,说明正在安装,通过日志文件

tail  -f /u01/app/oracle/inventory/logs/installActions2020-02-27_04-14-39PM.log

可以观察安装进度:
安装完成后会出现如下图:
按照提示执行下面以上两个脚本:

2.4.配置oracle监听

netca.rsp文件无需修改,直接使用

netca /silent /responsefile /home/oracle/response/netca.rsp

执行结果如下:
通过 netstat -tlnp命令检查:

2.5.创建oracle数据库

vi dbca.rsp 修改配置文件,修改内容如下:

RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
# 修改密码
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
DATAFILEDESTINATION = /u1/oradata
RECOVERYAREADESTINATION=/u1/backup 
CHARACTERSET = "AL32UTF8"
# 物理内存的60%左右
TOTALMEMORY = "10240"

执行结果如下:
建库后实例检查:

ps -ef | grep ora_ | grep -v grep


如果建库异常可以删库,重做:

dbca -silent -deleteDatabase -sourcedb orcle -sid orcle


至此,Oracle安装完成。
查看监听状态

lsnrctl status
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!