CentOS 7静默安装Oracle 11g R2数据库软件(离线)
环境准备
- 查看操作系统(最小安装软件包)版本:
cat /etc/centos-release
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6B1UyVjs-1573210213198)(img/12.png)]
- 安装所需的安装包
- 数据库版本(Oracle Database):Oracle Database 11g R2(11.2.0.4.0)
安装准备
硬件环境检查
- 内存
官方需求:最小1G,推荐2G或更多
本机内存查询:
# grep MemTotal /proc/meminfo
- SWAP空间
可用内存需要的SWAP空间:
内存 | swap空间设置 |
---|---|
1G-2G | 内存*1.5 |
2G-16G | 内存 |
16G以上 | 16G |
本机swap检查:
grep SwapTotal /proc/meminfo
内存及对应SWAP空间:
free -m
- 磁盘空间
检查本机磁盘空间:
df -h
软件环境检查
- 软件包需求(官方得出需要装的软件包)
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
- 检查本机的安装包代码
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
- 离线安装所需的软件包和驱动软件包
sh orac.sh
##注意有可能出现找不到安装包的错误,可以新创一个`.sh`文件,复制orac.sh文件内容,执行新创文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fBjPf22s-1573210213199)(img/1.png)]
- 查看安装是否安装完成
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P0eGz2RG-1573210213199)(img/2.png)]
创建系统用户及用户组
- 创建用户组oinstall和dba
sudo /usr/sbin/groupadd oinstall
sudo /usr/sbin/groupadd dba
grep oinstall /etc/group
grep dba /etc/group
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5lfX3DLJ-1573210213200)(img/3.png)]
- 创建用户oracle
sudo /usr/sbin/useradd -g oinstall -G dba oracle
id oracle
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mnbg04Bt-1573210213200)(img/4.png)]
- 为用户oracle设置密码为“oracle”
sudo passwd oracle
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zvFww5R4-1573210213202)(img/5.png)]
配置内核参数及资源限制选项
1.编辑 /etc/sysctl.conf
文件,在文件末尾添加如下配置:
# Oracle Setting(注意,这个#是注释,以下配置#也是注释)
fs.aio-max-nr = 1048576
#同时可以拥有的的异步IO请求数目
fs.file-max = 6815744
#系统中可以同时打开的文件数目。其值相当于 6.5×1024×1024=6.5M
kernel.shmall = 2097152
#该参数控制可以使用的共享内存的总页数。 Linux 共享内存页大小为 4KB
kernel.shmmax = 536870912
#用于定义单个共享内存段的最大值,建议值为多于内存的一半
kernel.shmmni = 4096
#共享内存段的最大数量
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
#表示应用程序可使用的IPv4端口范围。
net.core.rmem_default = 262144
#表示套接字接收缓冲区大小的缺省值
net.core.rmem_max = 4194304
#表示套接字接收缓冲区大小的最大值
net.core.wmem_default = 262144
#表示套接字发送缓冲区大小的缺省值
net.core.wmem_max = 1048576
#表示套接字发送缓冲区大小的最大值
2.执行下面命令使配置生效:
sudo sysctl -p
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V7LOITkV-1573210213202)(img/6.png)]
3.编辑文件 /etc/security/limits.conf
,在文件末尾添加如下配置:
#nofile:可打开的文件描述符的最大数,nproc:单个用户可用的最大进程数量,soft是软限制 ,用户可以超过这个设置的值,但一定不能超过hard 的值
# Oracle Setting
oracle soft nproc 10240
oracle hard nproc 65535
oracle soft nofile 10240
oracle hard nofile 65536
oracle soft stack 10240
4.编辑文件/etc/pam.d/login
,在文件末尾添加如下配置:
# Oracle Setting
session required pam_limits.so
5.编辑文件/etc/profile
,在文件末尾添加如下配置:
#/etc/profile :这个文件是每个用户登录时都会运行的环境变量设置,属于系统级别的环境变量,设置在里面的东西对所有用户适用
# Oracle Setting
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
6.编辑文件 /etc/csh.login
,在文件末尾添加如下配置:
# Oracle Setting
if ( $USER == "oracle") then
limit maxproc 16384
limit descriptors 65536
endif
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28v1v4JB-1573210213202)(img/7.png)]
创建相关目录
- 创建ORACLE_BASE目录
sudo mkdir -p /data/app/oracle
sudo chown -R oracle.oinstall /data/app/
sudo chmod -R 755 /data/app/oracle/
- 创建ORACLE_HOME目录
su - oracle(注意不是su oracle)
mkdir -p /data/app/oracle/product/11.2.0/db_1
- 创建Inventory目录
mkdir -p /data/app/oraInventory
配置Oracle用户环境变量
- 编辑文件
/home/oracle/.bash_profile
,在文件末尾添加如下配置(忽略注释信息):
# Oracle Setting
umask 022
export ORACLE_BASE=/data/app/oracle/ #Oracle Base目录
export ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1 #Oracle Home目录
export ORACLE_SID=dbabd #实例SID
export PATH=$PATH:$ORACLE_HOME/bin #命令加入系统环境变量中
#export NLS_LANG="SIMPLIFIED CHINESE_CHINA.UTF8" #如果需要中文显示设置这项,如果是英文则设置成下面这项,最好是英文以避免不必要的麻烦。
export NLS_LANG="AMERICAN_AMERICA.UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
#alias sqlplus='rlwrap sqlplus' #命令history readline功能,需要另外安装rlwrap的rpm包
#alias rman='rlwrap rman'
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xj0xkgTt-1573210213203)(img/8.png)]
准备数据库安装文件
- 解压安装文件
unzip p13390677_112040_Linux-x86-64_1of7.zip -d /tmp/
unzip p13390677_112040_Linux-x86-64_2of7.zip -d /tmp/
chown -R oracle.oinstall /tmp/database/
- response file(响应文件)准备
1.在 /tmp/database/response/
目录下有一份响应文件模板,复制一份至/data/app
目录下编辑:
cd /tmp/database/response/
ls
dbca.rsp db_install.rsp netca.rsp
cp db_install.rsp /data/app/dbabd_install.rsp -ra
2.对dbabd_install.rsp
响应文件内容清除了多余的空行和注释语句
cd /data/app/
sed -i 's/^#.*$//g' dbabd_install.rsp
sed -i '/^$/d' dbabd_install.rsp
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ptc0YCTa-1573210213203)(img/9.png)]
3.对dbabd_install.rsp
文件与下面参数配置一样:
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY # 只安装数据库软件
ORACLE_HOSTNAME=dbabd # 主机名
UNIX_GROUP_NAME=oinstall # 用户组
INVENTORY_LOCATION=/data/app/oraInventory # Inventory目录
SELECTED_LANGUAGES=en,zh_CN # 支持语言
ORACLE_HOME=/data/app/oracle/product/11.2.0/db_1 # ORACLE_HOME目录
ORACLE_BASE=/data/app/oracle/ # ORACLE_BASE目录
oracle.install.db.InstallEdition=EE # 安装版本
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba #注意这个要改
oracle.install.db.OPER_GROUP=
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
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.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
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 # 该选项默认为false,需要改成true,忽略安全性更新
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
开始安装
- 安装时需要切换到oracle用户执行如下命令:
/tmp/database/runInstaller -silent -force -ignorePrereq -ignoreSysPrereqs -responseFile /data/app/dbabd_install.rsp
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QPkkz5xX-1573210213204)(img/10.png)]
- 根据输出内容,需要root用户执行两个脚本:
su -
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_1/root.sh
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o7Ettjpx-1573210213205)(img/11.png)]
下命令:
/tmp/database/runInstaller -silent -force -ignorePrereq -ignoreSysPrereqs -responseFile /data/app/dbabd_install.rsp
[外链图片转存中…(img-QPkkz5xX-1573210213204)]
- 根据输出内容,需要root用户执行两个脚本:
su -
/data/app/oraInventory/orainstRoot.sh
/data/app/oracle/product/11.2.0/db_1/root.sh
[外链图片转存中…(img-o7Ettjpx-1573210213205)]