Linux下静默安装Oracle数据库

本文详细介绍了在CentOS系统下如何离线安装Oracle11.2.4数据库,包括挂载ISO镜像、配置本地yum源、安装依赖包、优化操作系统内核参数、设置Oracle用户权限、创建数据库用户与用户组、解压安装包及配置监听器,并设置了开机自启,最后检查了安装成功与否。

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

博主使用的数据是11.2.4版本的
ios镜像是CentOS-7-x86_64-DVD-1810.iso

CentOS挂载镜像

修改主机名

1.// 主要用于后期方便,操作误出错,比如设置一个简单的 如:“centos”
hostnamectl set-hostname 主机名
2.// 打开vim /etc/hosts 在最下方添加(IP 主机名)如图所示

在这里插入图片描述

// 设置完成后把所需要上传的文件一并上传到CentOS服务器上(数据库、镜像、依赖包等等)
// 我是把镜像放到home下,数据库安装包依赖放到Oracle用户下,这个随意放就行看空间,那个空间大放哪个下就行。

在这里插入图片描述

Centos挂载镜像,配置本地yum源

1.// 因为是离线安装,我们需要把镜像挂载到 ios 目录,在进行配置本地源;在根目录下创建 ios 目录 主要用于挂载 ios 镜像。使用挂载命令如下 :
mount -o loop /home/CentOS-7-x86_64-DVD-1810.iso /iso

在这里插入图片描述

2.// 创建并配置本地源,进入cd /etc/yum.repos.d/目录,创建并编辑newyum.repo文件,vim进入编辑

[rhel-server]									//名字是随意写的可以更改
name=Red Hat Enterprise Linux server			//名字是随意写的可以更改
baseurl=file:///iso								//file:后面你是挂载镜像的地址,更具自己所挂载填写
enabled=1
gpgcheck=0

在这里插入图片描述

// 更新yum配置文件命令为yum clean allyum repolist

安装Oracle依赖包

下载依赖包

// 这里有一个问题,yum包管理器里没有pdksh依赖,但是有ksh依赖。而且oracle可以用ksh来取代pdksh,所以在后面进行依赖查询和检查的时候可以忽略这一点
1. //使用 yum -y install 下载依赖(建议两个都试一下,有可能有的可以下载下来)

① yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
② yum -y install binutils compat-libcap1  compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp

温馨提示:如果.i686的依赖包未下载成功,解释如下:
①. i386 适用于intel和AMD所有32位的cpu.以及via采用X86架构的32的cpu.intel平台包括8086,80286,80386,80486,奔腾系列(1.2.3.4)、赛扬系列,Pentium D系列以及centrino P-M,core duo 等.
②. X86_64 适用于intel的Core 2 Duo, Centrino Core 2 Duo, and Xeon 和AMD Athlon64/x2, Sempron64/x2, Duron64等采用X86架构的64位cpu.
③.I686 只是i386的一个子集,支持的cpu从Pentium 2 (686)开始,之前的型号不支持.
④i686仍然属于i386体系,不过对CPU(相对于386)的特性作了指令优化。

2. //检查依赖包是否下载完成

rpm -q binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel ksh glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi make pdksh sysstat unixODBC unixODBC-devel | grep "not installed"

执行命令后可能会检查出compat-libstdc+±33、pdksh两个依赖为下载成功,找到你之前上传到home目录下的这两个依赖,进入路径单独安装即可,命令如下:rpm -ivh 依赖包的名字与版本号.rpm

链接: https://pkgs.org/download/compat-libstdc+±33

优化OS内核参数

优化OS参数

1.// 目前我所用的内存空间是8G,以下只适用于8G内存;16G或更高建议调整
其中kernel.shmmax参数大小根据物理内存大小进行定义,4G-1byte换算成字节和物理内存一半换算成字节-1byte比较大小,取小的值;8G换算例子:8/2x1024x1024x1024-1=4294967295

fs.aio-max-nr = 1048576
fs.file-max = 6815744 							//设置最大打开文件数
kernel.shmall = 2097152 						//共享内存的总量,内存设置
kernel.shmmax = 4294967295 						//最大共享内存的段大小
kernel.shmmni = 4096 							//整个系统共享内存的最大数
kernel.sem = 250 32000 100 128 
net.ipv4.ip_local_port_range = 9000 65500 		//可使用的IP端口范围
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304 
net.core.wmem_default = 262144 
net.core.wmem_max = 1048576

注意:编辑完成,qw保存退出:输入该命令使修改生效:sysctl -p

在这里插入图片描述

Oracle设置shell权限

Oracle用户设置shell权限

1.// 执行vim /etc/security/limits.conf命令,修改操作系统对Oracle用户资源的限制

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

在这里插入图片描述

2.// 要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中:vim /etc/pam.d/login 编辑完成后保存退出即可

session     required      /lib64/security/pam_limits.so				//这里有个注意点,那个64指64位系统,不能省略
session     required      pam_limits.so

在这里插入图片描述

3.// 执行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
fi

在这里插入图片描述

4.// 执行vim /etc/csh.login命令,在文件下添加如下代码:

if ( $USER == "oracle" ) then
        limit maxproc 16384
        limit descriptors 65536
endif

在这里插入图片描述

创建Oracle数据库用户与用户组

创建用户与用户组

1.// 命令如下:(该命令过于简单,则不含图片了,挨个执行即可)

groupadd oinstall							    //创建用户组oinstall
groupadd dba 									//创建用户组dba
useradd -g oinstall -G dba -m oracle 			//创建oracle用户,并加入到oinstall和dba用户组
passwd oracle 									//设置用户oracle的登陆密码,不设置密码,在CentOS的图形登陆界面没法登陆

// 如果你的用户建立错误,以root用户建立的,ll查看发现用户与用户组都是root
使用该命令可以更改chown -R oracle:oinstall /home/oracle 看不懂就看以下图片
图①为root用户,我们需要把root改为oracle用户看图②
在这里插入图片描述在这里插入图片描述

创建数据库软件目录与数据库存放目录

2.// 命令如下:使用root用户执行(该命令过于简单,则不含图片了,挨个执行即可)

mkdir -p /home/u01/app/oracle
mkdir -p /home/u01/app/oraInventory
mkdir -p /home/u02/oradata/
chown -R oracle:oinstall /home/u01/app/			  //-R处理指定目录以及其子目录下的所有文件
chown -R oracle:oinstall /home/u01/app/oraInventory
chmod -R 775 /home/u01/app/
chmod -R 775 /home/u02/oradata/	 				  //赋予权限

配置Oracle环境变量

3.// 注意:这里需要切换到oracle用户,在oracle用户下找到.bash_profile
执行命令:vim /home/oracle/.bash_profile

export ORACLE_BASE=/home/u01/app/oracle				//oracle安装目录
export ORACLE_SID=orcl								//oracle实例名
export ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/dbhome_1				//oracle路径
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'		//日期格式设置
export PATH=$PATH:$ORACLE_HOME/bin					//添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib	//添加系统环境变量
export LANG="zh_CN.UTF-8"							//防止安装过程中乱码
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"	//常用unicode字符集

在这里插入图片描述

执行命令:source /home/oracle/.bash_profile ,让配置立即生效;生效后重启服务器reboot

安装Oracle数据库

解压Oracle安装包

1.// 前面我已经提到,把所需要的用到的软件包提前上传到空间大的文件下
用命令解压

cd /home/oracle/  					//进入文件所在目录进行解压
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip

然后进行授权chown -R oracle:oinstall /home/oracle/database;然后进行用户切换,切换成oracle,假如没切换安装的时候会报异常。
oracle目录下创建 etc 目录,拷贝dbca.rsp db_install.rsp netca.rsp三个文件,并赋权

mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 700 /home/oracle/etc/*.rsp
ls etc/

这时候能看到会出现dbca.rsp db_install.rsp netca.rsp三个文件。后续会告诉你这三个文件的作用

配置db_install.rsp文件

db_install.rsp文件就是配置文件,一定要配置好才能进行安装。
执行命令: vim /home/oracle/etc/db_install.rsp

oracle.install.option=INSTALL_DB_SWONLY 		//安装类型
ORACLE_HOSTNAME=centos 							//主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall 						//安装组
INVENTORY_LOCATION=/home/u01/app/oraInventory 			//INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN,zh_TW 				//选择语言
ORACLE_HOME=/home/u01/app/oracle/product/11.2.0/dbhome_1			//Oracle路径
ORACLE_BASE=/home/u01/app/oracle 				//oracle_base
oracle.install.db.InstallEdition=EE 			//oracle版本
oracle.install.db.DBA_GROUP=dba 				//dba用户组
oracle.install.db.OPER_GROUP=oinstall 			//oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE			 	//数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl 				//globalDBName
oracle.install.db.config.starterdb.SID=orcl 						//SID
oracle.install.db.config.starterdb.memoryLimit=4096 				//自动管理内存的内存(M)
oracle.install.db.config.starterdb.password.ALL=oracle 				//设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true					//是否设置安全更新

写好之后开始安装,直接去database文件夹下执行以下命令:
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp
当出现如下提升表示安装成功,假如失败可已看看包错日志找到报错信息。
温馨提示:此过程需要稍微等待几分钟,请耐心等待!!!

在这里插入图片描述

然后根据以上提示,执行脚本。使用root用户执行

sh /home/u01/app/oraInventory/orainstRoot.sh 
sh /home/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

在这里插入图片描述

配置监听器

netca.rsp就是监听器配置文件,我这边采用默认配置
使用Oracle用户执行:netca /silent /responsefile /home/oracle/etc/netca.rsp
可以用 lsnrctl status 来查看监听状态;启动监听命令是lsnrctl start这个时候监听还无法启动

建库

// 建库需要编辑dbca.rsp文件,并对文件进行修改。看准位置修改

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
TEMPLATENAME = "General_Purpose.dbc"
CHARACTERSET = “ZHS16GBK”

修改完成后,输入 dbca -silent -responseFile dbca.rsp 命令,执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的口令(我的口令设置的是oracle),回车,再输入一次密码(密码设置的也是oracle),再回车进行等待

在这里插入图片描述

使用plsql连接数据库,可以登录说明安装成功,没成功可能是你防火墙没有放开端口或者没有关闭防火墙。

设置监听开机自启

修改开机监听自启配置文件

执行命令:vim /home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart

将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

执行命令:vim /home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut

将 ORACLE_HOME_LISTNER=$1 修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME

这时候还需要修改 sudo vim /etc/oratab

orcl:/home/u01/app/oracle/product/12.1.0/dbhome_1:N 修改为:(其实就是把N该成Y) 
orcl:/home/u01/app/oracle/product/11.2.0/dbhome_1:Y

设置自启

使用root用户在/home/oracle目录下创建脚本autoDB.sh进行编辑,添加如下:

su oracle -lc "/home/u01/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/home/u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart"

在这里插入图片描述

编辑完成后对autoDB.sh进行赋权限chmod 777 autoDB.sh
随后在使用root用户编辑:vim /etc/rc.local
输入nohup /home/oracle/autoDB.sh & 输入后wq保存

在这里插入图片描述

复制nohup /home/oracle/autoDB.sh & 在/home/oracle下执行,会生成nohup.out文件。
对生成的nohup.out文件进行赋权chmod 777 nohup.out,重启服务器在进行查看监听,到此监听自启配置完成!!!

温馨提示:希望此文对你有所帮助,但是复制粘贴之前需要查看好自己的目录与作者的不同呦~
吾日三省吾身,新的一天祝你 开心 快乐!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值