centos7.6 静默安装Oracle11.2.0.4(亲测成功)

本文档详细介绍了在CentOS 7.6上离线安装Oracle 11.2.0.4数据库的步骤,包括依赖安装、防火墙与SELinux配置、用户权限设置、内核参数调整、环境变量配置、静默安装及数据库创建。此外,还涉及监听器和实例的启动与管理,以及安装过程中的关键参数解释。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统版本:CentOS Linux release 7.6.1810 (Core)
数据库版本:Oracle11.2.0.4(该版本官方有7个包,下文只针对1和2两个包进行安装)

关注博主后私聊友情提供下载链接,仅作学习用途请勿用于商业(看到会回复)

Oracle安装依赖检测(必要条件)

//安装前后可以用rpm -q进行检测
 yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel

烂笔头笔记一:离线环境下获取安装包方法(去联网【或者有私有yum】机器下载安装包)
//此命令需要公网yum或者私有yum(可能没有)进行下载

# yum reinstall --downloadonly --downloaddir=/tmp/ net-tools
//downloaddir安装包存放路径
//说明:如果该服务器已经安装了需要下载的软件包,那么使用 install下载就不不不行
//可以使用reinstall下载。 放心(不会真的安装和重新安装,因为后面加了 --downloadonly,表明只是下载。
//如果提示没有--downloadonly选项则需要安装yum-plugin-downloadonly软件包;
# yum install yum-plugin-downloadonly

服务器配置修改

添加防火墙

//如果防火墙没有开放可以忽略此步骤
//开放端口1521 (如果更改监听端口根据实际需求进行更改)
# firewall-cmd --zone=public --add-port=1521/tcp --permanent 
//--permanent参数使设置永久生效 
# firewall-cmd --reload 
//重新加载防火墙 
# firewall-cmd --list-ports --zone=public 
//查看是否开放

关闭selinux

//修改selinux中的值
# vim /etc/sysconfig/selinux
//修改内容
# SELINUX=disabled
//执行以下命令使其生效:
# setenforce 0   
*********************************************
//或者直接执行下面命令进行修改
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
# setenforce 0

禁用THP(Transparent Huge Pages)

//查看THP的状态(centos 7中默认是打开的):

# cat /sys/kernel/mm/transparent_hugepage/enabled
# cat /sys/kernel/mm/transparent_hugepage/defrag

编辑rc.local文件:

# vim /etc/rc.d/rc.local
//增加以下内容:
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
   echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

//赋予rc.local文件可执行权限:
# chmod +x /etc/rc.d/rc.local

//重启操作系统,使配置生效,检查THP状态,应该是被禁用的
# reboot
# cat /sys/kernel/mm/transparent_hugepage/enabled
# cat /sys/kernel/mm/transparent_hugepage/defrag

创建修改用户组和权限

# groupadd -g 5001 oinstall
# groupadd -g 5002 dba
# groupadd -g 5003 oper
# useradd -u 5002 -g oinstall -G dba,oper oracle
# passwd oracle   
//enter后输入oracle用户密码,建议复杂度高点
# id oracle
//id 命令可以查询用户的UID、GID 和附加组的信息;

配置内核参数

# vi /etc/sysctl.conf
//加入以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 4294967296
kernel.shmmax = 1073741824
kernel.shmmni = 4096
kernel.sem = 500 64000 500 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
//使修改生效
# /sbin/sysctl -p

其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte,根据实际内存修改

修改用户限制文件

# vim /etc/security/limits.conf
//加入以下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

# vim /etc/pam.d/login 
//加入以下内容
session required  /lib64/security/pam_limits.so
session required pam_limits.so

# 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
umask 022
fi

创建目录并修改权限

//创建oracle主目录,并授权
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01

配置oracle用户的环境变量

//配置oracle用户的环境变量 
# su - oracle 
# vim ~/.bash_profile 
//添加 
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
export NLS_LANG=American_america.ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin

//使文件中的配置立即生效 
# . ~/.bash_profile

解压安装包

//切换到root用户 
# su root cd /tmp/ 
# mkdir oracle 
# cd oracle 
//解压 
# unzip p13390677_112040_Linux-x86-64_1of7.zip
# unzip p13390677_112040_Linux-x86-64_2of7.zip
# chown -R oracle:oinstall /tmp/oracle/database

辑静默安装响应文件

烂笔头笔记二:删除文件中的 # 注释行和空行方便配置操作

# sed -i '/^#/d;/^$/d'   file.xxx

// 注:默认文件里面注释比较多可以先去掉注释和空行再修改文件,sed会直接在指定文件操作,建议先备份
//编辑静默安装响应文件 
# cd /tmp/oracle/database/response/ 
//备份db_install.rsp
# cp db_install.rsp db_install.rsp.bak
# vim db_install.rsp 
**********************修改以下内容*************************** 
oracle.install.option=INSTALL_DB_SWONLY 
ORACLE_HOSTNAME=oracle 
UNIX_GROUP_NAME=oinstall 
INVENTORY_LOCATION=/u01/app/oracle/inventory 
SELECTED_LANGUAGES=en,zh_CN 
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 
ORACLE_BASE=/u01/app/oracle 
oracle.install.db.InstallEdition=EE 
oracle.install.db.DBA_GROUP=dba 
oracle.install.db.OPER_GROUP=oinstall
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=ZHS16GBK
oracle.install.db.config.starterdb.password.ALL=yourpassword
DECLINE_SECURITY_UPDATES=true 

开始安装软件

# chown -R oracle:oinstall /tmp/oracle/ 
# su - oracle 
# cd /tmp/oracle/database/ 
# ./runInstaller -silent -responseFile /tmp/oracle/database/response/db_install.rsp -ignorePrereq

********************** db_install.rsp详解参考这位大佬写的blog ***********************
https://blog.youkuaiyun.com/yinzhipeng123/article/details/53141950


看到如下打印,则已经开始安装(英文提示需要注意是否有其它报错,如:无权限创建文件夹、存储空间不够等)
在这里插入图片描述
此时可以另外开一个窗口查看日志文件
在这里插入图片描述
经过一段时间日志输出,看见原来的窗口出现如下文字
在这里插入图片描述
切换到root用户执行上述的脚本,执行完毕即可

# /u01/app/oracle/inventory/orainstRoot.sh
# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh

静默方式配置监听

# su - oracle
# netca /silent /responseFile /tmp/oracle/database/response/netca.rsp

出现如下文字,则监听启动完成
在这里插入图片描述
查看端口1521是否能被监听(本人的端口更改过)

# netstat -tnulp | grep 1521

监听的启动和关闭命令

# lsnrctl start 
# lsnrctl stop

静默方式建库

# cd /tmp/oracle/database/response/
# cp dbca.rsp dbca.rsp.bak
# vim dbca.rsp
###设置以下参数:
GDBNAME= "orcl"
SID = "orcl"
SYSPASSWORD= "yourpassword"
SYSTEMPASSWORD= "yourpassword"
SYSMANPASSWORD= "yourpassword"
DBSNMPPASSWORD= "yourpassword"
DATAFILEDESTINATION=/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET= "ZHS16GBK" #这里不设置应该默认是UTF-8
TOTALMEMORY= "1638"
// 其中TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。
// 执行命令,进度达到100%则创建完成
# dbca -silent -responseFile /tmp/oracle/database/response/dbca.rsp

测试

# sqlplus / as sysdba
SQL> select 1 from dual;
         1
----------
         1
SQL> exit;
重启Oracle数据库、监听器以及实例
1 以oracle身份登录数据库,命令:# su -oracle
2 进入Sqlplus控制台,命令: sqlplus /nolog
3 以系统管理员登录,命令:SQL> connect / as sysdba
4 启动数据库,命令:SQL> startup
5 如果是关闭数据库,命令:SQL> shutdown immediate
6 退出sqlplus控制台,命令:SQL> exit
7 进入监听器控制台,命令:# lsnrctl
8 启动监听器,命令:lsnrctl> start
9 退出监听器控制台,命令:lsnrctl> exit
重启实例
1 切换需要启动的数据库实例:# export ORACLE_SID=orcl
2 进入Sqlplus控制台,命令:# sqlplus /nolog
3 以系统管理员登录,命令:SQL> connect / as sysdba
4 如果是关闭数据库,命令:SQL> shutdown abort
5 启动数据库,命令:SQL> startup
6 退出sqlplus控制台,命令:SQL> exit

写于是 2021年1月20日 希望今天后的你健康快乐!共勉!!!

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值