centos7静默安装oracle11g-稳!

挂载本地光盘作为镜像源

  1. 将镜像iso文件上传至centos
    在这里插入图片描述
  2. 创建挂载目录
mkdir /mnt/iso
  1. 挂载iso文件
mount -t iso9660 -o loop /zml_soft/CentOS-7.7-x86_64-Everything-2003.iso /mnt/iso	
//mount iso的时候,需要指定mount 类型的,-t iso9660是文件类型 -o loop是作为loop型设备挂载 /mnt是你的挂载点
  1. 配置yum源
cd /etc/yum.repos.d/
mkdir /etc/yum.repos.d/repo_bak		//创建repo文件备份文件夹
mv *.repo repo_bak		//将已有repo文件备份至备份目录
vi /etc/yum.repos.d/CentOS7-Localsource.repo	//打开repo文件,如果这一文件不存在则被创建
在文件中输入以下内容,并保存
[CentOS7-Localsource]
name=CentOS7
baseurl=file:///mnt/iso
enabled=1
gpgcheck=0
  1. 生成本地yum缓存
yum makecache
  1. 设置开机自动挂载光盘镜像
/root/zml_download/CentOS-7.5-x86_64-DVD-1804.iso /mnt/iso defaults,ro,loop 0 0 
//此项为附加项,fstab 输入错误会使主机无法正常启动而进入emergency mode紧急状态

配置相关环境参数

  1. 创建用户和组
groupadd oinstall && groupadd dba && useradd -g oinstall -G dba oracle
passwd oracle
  1. 创建数据库安装目录
mkdir -p /opt/oracle
mkdir -p /opt/oraInventory
mkdir -p /opt/database
mkdir -p /opt/oracle/product/11.2.0
mkdir -p /opt/oracle/oradata
mkdir -p /opt/oracle/flash_recovery_area
  1. 赋予目录权限
chown -R oracle:oinstall /opt/oracle
chown -R oracle:oinstall /opt/oracle/oradata
chown -R oracle:oinstall /opt/oraInventory
chown -R oracle:oinstall /opt/database
chmod -R 775 /opt/oracle
  1. 创建安装的配置文件
vi /etc/oraInst.loc
在文件中输入以下内容,并保存
inventory_loc=/opt/oraInventory
inst_group=oinstall
  1. 上传安装包
    在这里插入图片描述
  2. 解压安装包
unzip /zml_soft/linux.x64_11gR2_database_1of2.zip -d /opt/database/
unzip /zml_soft/linux.x64_11gR2_database_2of2.zip -d /opt/database/
  1. 修改内核参数
vi /etc/sysctl.conf
在文件中输入以下内容,并保存
#oracle相关参数
fs.aio-max-nr = 1048576
fs.file-max = 6291456
kernel.shmall = 2097512
kernel.shmmni = 4096
kernel.shmmax = 1073741824
kernel.sem = 250 3200 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
**内核参数说明:**

**Asynchronous I/O相关的内核参数设置:**
fs.aio-max-nr 指系统允许的最大的异步IO请求大小,oracle默认设置为1M即1048576,一般不用更改

**文件句柄数的相关内核参数设置:**
fs.file-max 指系统能够打开最大的文件句柄数,oracle建议设置为65536,一般不用修改

**共享内存的相关内核参数设置:**
kernel.shmall 指系统一次可以使用的共享内存段的最大数量,以页为单位
	Oracle默认设置为 kernel.shmall = 2097152 即最大8G(2097152*4/1024/1024),(在调整SGA时需要注意,SGA大小设置不可超过该值),根据系统内存大小和使用的不同可以参考如下:设置的一般规律
	kernel.shmall = 8G/4k=8388608k/4k=2097152    ---内存8G
	kernel.shmall = 16G/4k=16777216k/4k=4194304    ---内存16G
	kernel.shmall = 32G/4k=33554432k/4k=8388608    ---内存32G
	(RedHat linux系统中页大小为4096即4K,实际环境以getconf PAGE_SIZE结果为准)

kernel.shmmax 指的是单个共享内存段的最大尺寸,单位为字节
	oracle 建议,kernel.shmmax的值不能少于物理内存的一半,而且要大于Oracle中sga-max-size的值,否则会造成oracle性能下降
	一般32bit操作系统,直接设置为系统支持的最大内存即可,64bit操作系统设置大于sga-max-size的值即可
	如:当前内存为2G 则kernel.shmmax = 2*1024*1024=2097152
	当前内存为8G则 kernel.shmmax = 7*1024*1024=7340032

kernel.shmmni 指系统共享内存段的最大数量,oracle设置默认值为4096,一般是足够用了,不需要调整

**信号的相关内核参数设置:**
kernel.sem 是指 semmsl,semmns,semopm,semmni这4个参数
	semmsl 指每个线号集的最大信号数,Oracle建议是设置为oracle的最大进程数+10
	semmni 指整个系统的信号集的最大数量
	semmns 指整个系统的信号总数,也就是semmni*semmsl的结果
	semopm 指每个semop系统调用可以执行的信号操作的最大数量
	oracle默认设置 semmsl=250,semmns=3200,semopm=100,semmni=128
	即kernel.sem= 250 3200 100 128
	例:在oracle  ora.init文件参数中设置PROCESSES参数为5000
	则semmsl=5010,semmni=128,semmns=semmsl* semmni=641280
	另外semopm建议设置等于semmsl值即5010
	那么kernel.sem=5010 641280 5010 128

**网络相关的内核参数设置**
net.ipv4.ip_local_port_range 指本地的允许打开随机端口范围
	oracle10g前建议端口范围为1024 65000
	oracle11g建议端口范围为9000 65500
	并忽略oracle安装程序任何关于这个参数的警告

net.core.rmem_default 指网络套接字的默认接收缓冲区的大小,oracle建议设置为265K即262144

net.core.rmem_max 指网络套接字的最大接收缓冲区的大小,oracle10g及以前版本建议设置为256k即262144  oracle11g建议设置为4M 即4194304

net.core.wmem_default指网络套接字的默认发送缓冲区的大小,oracle建议设置为265K即262144

net.core.wmem_max  指网络套接字的最大发送缓冲区的大小,oracle10g及以前版本建议设置为256k即262144  oracle11g建议设置为1M即1048576
  1. 限制oracle用户的shell权限
vi /etc/security/limits.conf
在文件中输入以下内容,并保存
#oracle相关参数
oracle  soft    nproc   1024
oracle  hard    nproc   65536
oracle  soft    nofile  4096
oracle  hard    nofile  65536
oracle  soft    stack   10240
oracle  hard    stack   10240
**用户限制参数说明**
oracle 	soft	nproc	1024
oracle	hard	nproc 	65536
这两行设置用来限制oracle用户能打开的进程总数,soft限制是指oracle用户登录后默认能够打开的进程的最大数。hard 限制是指当用户收到达到最大进程限制的错误时,可以使用ulimit –u设置的最大数。
oracle	soft	nofile	4096
oracle	hard   	nofile	63536
这两行设置用来设置限制oracle用户能打开的文件句柄数,soft限制是指oracle用户登录后默认能够打开的文件句柄数的最大数。hard 限制是指当用户收到打开文件限制的错误时,可以使用ulimit –n设置的最大数。
oracle	soft	stack	10240
oracle	hard	stack	10240
这两行应该是对栈的限制
vi /etc/pam.d/login
在文件中输入以下内容,并保存
#oracle相关参数
session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so
vi /etc/profile
在文件中输入以下内容,并保存
#oracle相关参数
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi
  1. 配置hostname (本机IP映射)
vi /etc/hosts
在文件中输入以下内容,并保存
#ip 主机名 //主机名可以通过hostname命令查询
172.20.10.86 db1
若要修改主机名,请参考:https://blog.csdn.net/xuheng8600/article/details/79983927
  1. 配置oracle用户环境变量
su - oracle
vi .bash_profile
在文件中输入以下内容,并保存
#oracle相关参数
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=orcl1
export LC_ALL="en_US"
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
  1. 安装依赖包
#切换到root用户下执行
yum -y install binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
pdksh \
sysstat \
unixODBC \
unixODBC-devel
安装好后检查有哪些安装失败的
rpm -q \
binutils \
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
expat \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
pdksh \
sysstat \
unixODBC \
unixODBC-devel | grep "not installed"
pdksh安装失败不管他
centos7.5以上还要安装以下包
yum install -y ksh numactl-devel oracleasm oracleasmlib oracleasm-support

静默安装oracle数据库

  1. 编辑静默安装响应文件
su - oracle
cp -R /opt/database/database/response/ ./
cd response
vi db_install.rsp
在文件中编辑以下内容,并保存
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=db1
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/opt/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/opt/oracle/product/11.2.0
ORACLE_BASE=/opt/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
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=orcl1
oracle.install.db.config.starterdb.SID=orcl1
#注意,字符集非常重要
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=info2soft
DECLINE_SECURITY_UPDATES=true
db_install.rsp详细说明:https://blog.csdn.net/wangshui898/article/details/65436791
  1. 开始安装
#oracle用户下执行
cd /opt/database/database
./runInstaller -silent -force -responseFile /home/oracle/response/db_install.rsp -ignorePrereq
执行命令后正常的样子如下

执行命令后正常的样子

提示我们可以在/opt/oraInventory/logs/installActions2020-10-21_03-51-45PM.log这里查看日志
#再开启一个shell窗口
tail -f /opt/oraInventory/logs/installActions2020-10-21_03-51-45PM.log
安装完成后的样子

安装完成后的样子

可以看到他还提示我们要用root用户执行这个脚本
安装完成后日志界面的样子

安装完成后日志界面的样子

  1. 执行对应的脚本
su - root
#以root身份执行
cd /opt/oracle/product/11.2.0
./root.sh
执行成功的样子如下

执行成功的样子

  1. 配置监听程序
cd 
netca /silent /responseFile /home/oracle/response/netca.rsp
配置成功的样子如下

在这里插入图片描述

  1. 启动监听,查看监听状态
lsnrctl start
lsnrctl status
执行结果如下

在这里插入图片描述

静默创建数据库实例

  1. 编辑应答文件
#oracle用户下执行
cd /home/oracle/response
vi dbca.rsp
在文件中编辑以下内容
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "orcl1.db1"
SID ="orcl1"
SYSPASSWORD= "info2soft"
SYSTEMPASSWORD= "info2soft"
SYSMANPASSWORD= "info2soft"
DBSNMPPASSWORD= "info2soft"
DATAFILEDESTINATION=/opt/oracle/oradata
RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area
#注意,字符集非常重要
CHARACTERSET= "ZHS16GBK" 
NATIONALCHARACTERSET= "UTF8"
TOTALMEMORY = "2457"
#TOTALMEMORY默认单位为M,大小可以设置为服务器总内存的80%
此文件编辑到TOTALMEMORY这里就可以了,再往下就是对模板等的配置了,暂不需要
  1. 创建实例
dbca -silent -responseFile dbca.rsp
安装过程如下

在这里插入图片描述
至此,数据库已经安装完成
数据库启动正常
在这里插入图片描述

监听正常
在这里插入图片描述

参考文章:
CentOS7安装Oracle11g—静默安装
	https://blog.csdn.net/oschina_41140683/article/details/81510709
oracle 内核参数设置
	https://blog.csdn.net/lnwf5188588/article/details/8779001
oracle安装--db_install.rsp详解
	https://blog.csdn.net/wangshui898/article/details/65436791
oracle安装-- dbca.rsp详解
	https://blog.csdn.net/wangshui898/article/details/65442103
CentOS7修改主机名的三种方法
	https://blog.csdn.net/xuheng8600/article/details/79983927
	
如文章内容有纰漏,请留言,多谢
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值