Linux下静默安装Oracle数据库

  • CentOS挂载镜像
    • 修改主机名
    • Centos挂载镜像,配置本地yum源
  • 安装Oracle依赖包
    • 下载依赖包
  • 优化OS内核参数
    • 优化OS参数
  • Oracle设置shell权限
    • Oracle用户设置shell权限
  • 创建Oracle数据库用户与用户组
    • 创建用户与用户组
    • 创建数据库软件目录与数据库存放目录
    • 配置Oracle环境变量
  • 安装Oracle数据库
    • 解压Oracle安装包
    • 配置db_install.rsp文件
    • 配置监听器
    • 建库
  • 设置监听开机自启
    • 修改开机监听自启配置文件
    • 设置自启

博主使用的数据是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" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi
fi

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

if ( $USER == "oracle" ) thenlimit maxproc 16384limit 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,重启服务器在进行查看监听,到此监听自启配置完成!!!

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

Linux下静默安装Oracle数据库相关推荐

  1. oracle静默安装集群,静默安装Oracle数据库10g篇

    静默安装Oracle数据库10g篇 =========================================================================== 以下是在Li ...

  2. linux php连接orcel,Linux下PHP连接Oracle数据库

    Linux下PHP连接Oracle数据库2020-06-12 16:50:57 安装步骤: 一.安装oracle-instantclient 下载地址:http://www.oracle.com/te ...

  3. Linux下自动备份Oracle数据库并删除指定天数前的备份

    说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...

  4. DBCA静默安装Oracle数据库

    DBCA静默安装Oracle数据库 DBCA静默安装Oracle软件 准备db_install.rsp文件 静默安装软件 DBCA静默安装数据库 准备工作 准备dbca.rsp文件 修改dbca模板文 ...

  5. aix oracle备份命令,Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

  6. CentOS 7 腾讯云服务器 Linux无图形化界面静默安装oracle数据库.

    服务器基础信息 腾讯云 CentOS7.2 64位 root登录系统查看一下版本信息 CentOS Linux release 7.2.1511 (Core) 在安全组中将ORACLE默认通讯端口 T ...

  7. oracle数据库某一年的数据总量_Liunx静默安装Oracle数据库

    作者 | kf_dbd 来源 | 咖啡逗不逗(ID: kf_dbd) 转载请联系授权 | (微信ID:xh870545795) 大家好,我是 kf_dbd,很高兴又和大家见面了,今天分享一个Linux ...

  8. linux 之静默安装oracle

    Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装.即在没有图形界面的Li ...

  9. 如何在linux操作系统中安装oracle数据库,并设置开机自启动

    1. ping www.baidu.com 查看是否联网成功 2. 不能联网,就将ip修改为动态dhcp模式使之能链接成功. 3. Vi /etc/hosts 写上ip地址与主机名 4. yum in ...

最新文章

  1. 最新!百度首发 OCR 自训练平台 EasyDL OCR
  2. 都2021年了,你还在用Jenkins?赶快看看这些替代方案吧!
  3. 云原生安全的一种新方法!
  4. 五十七、Vue中的八大生命周期函数
  5. docker版wordpress
  6. explode php 报错,ecshop在php5.4下报错怎么办
  7. js滚动条滚动到指定元素
  8. oracle Merge 函数
  9. git commit -m 'comment' 遇到 'npm' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  10. android 模拟器 3D 开发环境配置
  11. 关于collectionView的一些内容
  12. AR、VR、MR的那些事儿
  13. 牛客网刷题(Hw题库)
  14. linux 脚本加密 shc
  15. Beta 多样性排序分析方法与比较
  16. MFC对话框美化四(自绘标题栏)
  17. vue动态加载在线字体,及渲染
  18. 使用NCL绘制安徽省的轮廓图
  19. 《Java修炼指南:高频源码解析》阅读笔记一Java数据结构的实现集合类
  20. 三星手机拍照后 图片翻转

热门文章

  1. Nginx运维之二 简单安装和环境搭建
  2. Java十大低级错误
  3. 计算机一级重点知识,计算机一级重点知识.doc
  4. 微信公众号开发--关注后自动回复(Java记录篇)
  5. 建议收藏:数据标准的概念,分类,价值及6大实施步骤解析
  6. 王富强散文诗集《天降斯人》自序
  7. PAT (Basic Level) Practice (中文)1102 教超冠军卷(c语言)
  8. 服务注册与配置一站式管理神器Nacos(一)-- 优势及功能特性
  9. 《计算机网络》复习第二章
  10. Eclipse全键盘编码攻略之一——入门