avatar

瓜生花子八宝粥

少壮不努力 老了看浏览器

  • 首页
  • 开源项目
  • Linux
  • Windows
  • Docker
  • 中间件
  • 数据库
主页 Oracle11g/12c/19g 静默安装方法
文章

Oracle11g/12c/19g 静默安装方法

发表于 2024-12-1 更新于 2024-12- 1
作者 jepwei
25~32 分钟 阅读

Oracle数据库 安装(适用于11g/12c/19c)

资料准备

安装包:

oracle11g :

wget http://tsdownload.net.e-tecsun.com/linux.x64_11gR2_database_1of2.zip

wget http://tsdownload.net.e-tecsun.com/linux.x64_11gR2_database_2of2.zip

oracle12c:

wget http://tsdownload.net.e-tecsun.com/oracle12c_linuxx64_12201_database.zip

oracle19c: (待补充)

配置文件:

oracle11g_rsp: wget http://tsdownload.net.e-tecsun.com/oracle11gconf.zip

oracle12c_rsp: wget http://tsdownload.net.e-tecsun.com/oracle12gconf.zip

1.系统调参(前期准备)

以下为安装数据库前需要对Linux系统的调参配置,11g12c19c均要做以下配置。

注意:安装19c需要注意系统是否存在该依赖:libaio-0.3.109-13.el7.x86_64.rpm 如果没有该依赖会导致在启动监听那一步会报错。

#关闭selinux
sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
getenforce

#设置系统参数
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 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 = 1048586

#使其生效
sysctl -p

#设置oracle用户打开数
vi /etc/security/limits.conf
oracle              soft    nproc  2047
oracle              hard    nproc  16384
oracle              soft    nofile  1024
oracle              hard    nofile  65536
oracle              soft    stack   10240

#只对某个地址开启1521访问更安全
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="1521" accept'
firewall-cmd --reload

#安装依赖
yum -y install unzip 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

#如果是openEuler系统,你只需安装yum install -y gcc-c++ glibc libaio libX11 libXext libnsl.x86_64   注意要确保/tmp的空间充足

#创建用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo 'oracle:5v$DI#3jeESw1eziN' | sudo chpasswd

#创建oracle安装文件并授权
vi /etc/oraInst.loc
inventory_loc=/home/u01/oraInventory
inst_group=oinstall

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

#创建目录
mkdir -p /home/u01/app /home/u01/oraInventory /home/u01/oradata /home/soft
chown -R oracle:oinstall /home/u01/app /home/u01/oraInventory /home/u01/oradata
chmod -R 775 /home/u01/app /home/u01/oraInventory /home/u01/oradata
mkdir -p /home/u01/app/product/19.3/dbhome_1   #该目录只有安装19c才需要

注意:

当服务器内存过大时需要适当修改以下参数的值

参考 https://www.cndba.cn/dave/article/4341

shmmax参考

内存为 12G 时,该值为 12102410241024-1 = 12884901887

内存为 16G 时,该值为 16102410241024-1 = 17179869183

内存为 32G 时,该值为 32102410241024-1 = 34359738367

内存为 64G 时,该值为 64102410241024-1 = 68719476735

内存为 128G 时,该值为 128102410241024-1 = 137438953471

内存为 192G 时,该值为 192102410241024-1 = 206158430207

内存为 256G 时,该值为 256102410241024-1 = 274877906943

内存为 512G 时,该值为 512102410241024-1 = 549755813887

shmall参考

内存为 12G 时,该值为 12102410241024-1 = 12884901887

内存为 16G 时,该值为 16102410241024-1 = 17179869183

内存为 32G 时,该值为 32102410241024-1 = 34359738367

内存为 64G 时,该值为 64102410241024-1 = 68719476735

内存为 128G 时,该值为 128102410241024-1 = 137438953471

内存为 192G 时,该值为 192102410241024-1 = 206158430207

内存为 256G 时,该值为 256102410241024-1 = 274877906943

内存为 512G 时,该值为 512102410241024-1 = 549755813887

同时还要修改rsp配置文件dbca.rsp里的totalMemory值接近且小于实际内存,单位为MB

2.服务安装

oracle11g/oracle12c

以下操作中,默认是11g的安装方式,安装12c时需要改的地方我会标注出来请仔细留意


#将oracle安装包放到/home/soft并解压(12c相同操作)
cd /home/soft
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
chmod 777 /home/soft/database
chown -R oracle:oinstall /home/soft/database

#设置环境变量(12c需要把以下内容的数字11改成12 其他内容不变)
su - oracle
(11g和12c)
vi .bash_profile
export ORACLE_BASE=/home/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

#使其环境变量生效
source .bash_profile

#复制官方的预设文件到app目录
cp /home/soft/database/response/* /home/u01/app/
#复制第一步准备好的配置文件到app目录并覆盖和授权
cp /opt/oracle11g_rsp/*  /home/u01/app/
chown oracle:oinstall /home/u01/app/*.rsp
chmod 755 /home/u01/app/*.rsp

#安装(在oracle用户下)
/home/soft/database/./runInstaller -silent -force -ignorePrereq -responseFile /home/u01/app/db_install.rsp

#这个过程不要动,等待提示成功才可以动

#执行脚本(在root用户下执行,如果是安装oracle12c,则把以下数字从11改为12即可)
/home/u01/app/product/11.2.0/db_1/root.sh

#启动监听(在oracle用户下)
netca /silent /responsefile /home/u01/app/netca.rsp

#建库(在oracle用户下)
dbca -silent -responseFile /home/u01/app/dbca.rsp   # 11g执行这条
dbca -silent -createDatabase -responseFile /home/u01/app/dbca.rsp  #12c执行这条

#这里等待进度100就可以了

oracle状态查看参数:

ps -ef | grep oracle #查看服务状态

echo $ORACLE_SID #查看实例

lsnrctl status #查看监听状态

oracle19c

#移动安装包到指定位置并解压授权
mv /opt/LINUX.X64_193000_db_home.zip /home/u01/app/product/19.3/dbhome_1
cd /home/u01/app/product/19.3/dbhome_1
unzip LINUX.X64_193000_db_home.zip
chown  -R oracle:oinstall /home/u01
chmod 755 /home/u01

#将第一步准备好的19c_rsp配置文件与下面这两个文件进行替换覆盖并授权
/home/u01/app/product/19.3/dbhome_1/install/response/db_install.rsp
/home/u01/app/product/19.3/dbhome_1/assistants/dbca/dbca.rsp
chmod 755 /home/u01/app/product/19.3/dbhome_1/install/response/db_install.rsp
chmod 755 /home/u01/app/product/19.3/dbhome_1/assistants/dbca/dbca.rsp
chown  -R oracle:oinstall /home/u01
chmod 755 /home/u01

su - oracle
vi .bash_profile
export ORACLE_BASE=/home/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/19.3/dbhome_1
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin

#使其环境变量生效
source .bash_profile

#安装,如果提示错误则附加-ignoreInternalDriverError参数进行安装
/home/u01/app/product/19.3/dbhome_1/runInstaller -silent -force -ignorePrereq -responseFile /home/u01/app/product/19.3/dbhome_1/install/response/db_install.rsp  (19c)

#执行脚本(Root用户下)
/home/u01/app/product/19.3/dbhome_1/root.sh(19c)

#启动监听(oracle用户下)
netca /silent /responsefile /home/u01/app/product/19.3/dbhome_1/assistants/netca/netca.rsp

#建库
dbca -silent -createDatabase -responseFile /home/u01/app/product/19.3/dbhome_1/assistants/dbca/dbca.rsp

#等待至100%即可完成

oracle状态查看参数:

ps -ef | grep oracle #查看服务状态

echo $ORACLE_SID #查看实例

lsnrctl status #查看监听状态

3.数据库初始化

#初始化设置密码(oracle用户下)
sqlplus / as sysdba
alter user sys identified by "Tecsun#@!1221";
grant create session to sys;
grant dba to sys;
grant connect to sys;
grant resource to sys;

alter user system identified by "Tecsun#@!1221";
grant create session to system;
grant dba to system;
grant connect to system;
grant resource to system;

exit

#测试连接性
sqlplus sys/Tecsun#1221@127.0.0.1:1521/orcl as sysdba

4.开机自启动

#修改数据库启动文件
#11g和12c修改如下两个文件(12c则把文件名的11数字改为12即可)
#将文件中的ORACLE_HOME_LISTNER=$1改为ORACLE_HOME_LISTNER=$ORACLE_HOME并保存
/home/u01/app/product/11.2.0/db_1/bin/dbstart
/home/u01/app/product/11.2.0/db_1/bin/dbshut

#19c则修改如下文件
/home/u01/app/product/19.3/dbhome_1/bin/dbstart
/home/u01/app/product/19.3/dbhome_1/bin/dbshut

#自启动脚本编写
#以下为11g的,如果是12c则需要把脚本中的11数字改为12即可
#如果是19c,则把含有版本数字的那行改为如下其他不变
#export ORACLE_HOME=$ORACLE_BASE/product/19.3/dbhome_1/

vi /etc/init.d/oracle
#!/bin/sh
#chkconfig:345 99 10
#description:Oracle 11g R2 AutoRun Servimces
#/etc/rc.d/init.d/oracle
#
#Run-level Startup script for the Oracle Instance, Listener, and
#Web Interface
export ORACLE_BASE=/home/u01/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!OK."
;;
stop)
# Oracle listener and instance shutdown
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|reload|restart}"
exit 1
esac
exit 0

#设置自启动,将以下oratab文件中的N改成Y并保存
vi /etc/oratab

#执行脚本(root用户下)
/home/u01/app/product/11.2.0/db_1/root.sh  #11g执行这条
/home/u01/app/product/12.2.0/db_1/root.sh  #12c执行这条
/home/u01/app/product/19.3/dbhome_1/root.sh #19c执行这条

#下面的命令直接复制执行即可
chmod 777 /etc/rc.d/init.d/oracle
/etc/rc.d/init.d/oracle start
chmod 755 /etc/init.d/oracle
chkconfig --level 35 oracle on
chkconfig --add oracle

#完成!

禁用无密码登录(可选)

#禁止oracle用户下直接用sqlplus / as sysdba登录:

find /home -name sqlnet.ora
vi /home/u01/app/product/12.2.0/db_1/network/admin/sqlnet.ora
#将文件中的该参数修改为none
            SQLNET.AUTHENTICATION_SERVICES=none
            

#验证
sqlplus / as sysdba  #会发现无法登录,要用如下命令才行
sqlplus sys/Tecsun#1221 as sysdba

数据库
oracle
许可协议: 
分享

相关文章

1月 15, 2025

容器部署mysql

1. 创建容器并进行持久化处理 # 拉取镜像 docker pull mysql:8.0.20 # 启动镜像,用于拷贝配置文件到宿主机 docker run -p 13306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.

1月 15, 2025

人大金仓数据库部署

为确保金仓数据库管理系统 KingbaseES 的成功安装,用户需创建专用的 kingbase 用户并为其配置适当的权限。安装前需准备目录、上传安装包与授权文件。运用控制台模式安装时,用户需选择安装集与目录,设定数据库参数及字符集,最后确认安装。安装成功后,通过指定命令确认版本与服务状态,可以有效启动与停止数据库服务,确保系统稳定运行。

12月 20, 2024

容器部署高斯gauss数据库

本指南详细介绍了如何使用Docker部署OpenGauss数据库,包括安装前提、镜像拉取、容器运行和验证安装等步骤。首先确保Docker服务正在运行,然后使用特定命令拉取OpenGauss镜像并启动容器。配置参数包括容器名称、权限、端口映射及数据库密码。成功启动后,可通过命令检查容器状态。此外,还包括远程连接的配置方法及注意事项,确保在生产环境下的安全性和数据备份。

下一篇

Navicat 17 数据库连接工具破解版(附破解方法)

上一篇

Oracle 解锁数据库账号

最近更新

  • 1panel 部署
  • jumpserver 堡垒机部署
  • ubuntu 设置时间显示为24小时制
  • pritunl vpn 部署
  • dockovpn 部署

热门标签

nacos openvpnas 资源分享 docker oracle mysql ubuntu 开源项目 虚拟化 Linux

目录

©2025 瓜生花子八宝粥. 保留部分权利。

使用 Halo 主题 Chirpy