Linux静默安装oracle19c(史上最详细的教学)

1.获取主机名和ip地址

输入命令hostname和ifconfig分别获取主机名和ip地址。ip地址较为敏感,大家自行获取。
[root@wangxin ~]# hostname
wangxin
2.编辑/etc/hosts 文件,在最下面加入一行(x.x.x.x代表ip地址)
[root@wangxin ~]# vi /etc/hostsx.x.x.x  wangxin

2.创建用户和用户组

[root@wangxin Pan]# groupadd oinstall[root@wangxin Pan]# groupadd dba[root@wangxin Pan]# groupadd oper[root@wangxin Pan]# useradd -g oinstall -G dba,oper oracle[root@wangxin Pan]# passwd oracle  #修改oracle用户密码

3.创建文件夹并赋予权限

[root@wangxin Pan]# mkdir /u01/
[root@wangxin Pan]# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
[root@wangxin Pan]# mkdir -p /u01/app/oraInventory
[root@wangxin Pan]# chown -R oracle:oinstall /u01/*
[root@wangxin Pan]# chmod -R 775 /u01/*

4.安装oracle所需依赖

大家可以来http://www.hebuter.cn:8071/tea 开朗网盘下载,开朗之家网站代码同步更新gitee,网站首页可以查看
也可以在此账号资源下载。

下载下来后,上传至服务器,解压到当前目录,然后在当前目录输入命令全部安装。

[root@wangxin Pan]# rpm -Uvh ./* --nodeps --force

5.拷贝oracle安装包

将官网下载的oracle安装包拷贝到/u01/app/oracle/product/19.3.0/dbhome_1目录下面。

切换oracle用户

[root@wangxin dbhome_1]# su oracle[oracle@wangxin dbhome_1]# unzip LINUX.X64_193000_db_home.zip  #解压oracle安装包到当前路径

6.配置limits限制参数

编辑limits.conf,加入下面几行代码

[root@wangxin ~]# vim /etc/security/limits.conforacle     soft  nproc      16384oracle     hard  nproc      16384oracle     soft  nofile     65536oracle     hard  nofile     65536oracle     soft  memlock     3145728oracle     hard  memlock     3145728

7.配置PAM验证

在login文件中加入下面一行代码

[root@wangxin ~]# vim /etc/pam.d/loginsession required pam_limits.so

8.修改内核参数

在sysctl.conf中添加下面代码

[root@wangxin dbhome_1]# vi /etc/sysctl.conf

kernel.shmmax是共享内存,用内存 * 1024 * 1024 * 1024 * 0.9 算出结果。

kernel.shmall=kernel.shmmax / kernel.shmmni 算出来

如果你想了解下面的参数功能,请参考官方文档。

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmall = 1073741824
kernel.shmmax = 1932735283
kernel.shmmni = 4096
kernel.panic_on_oops = 1
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

使用sysctl -p 使之生效。

9.设置oracle用户环境变量

打开下面的文件,添加以下内容。

[oracle@wangxin root]$ vim /home/oracle/.bash_profileexport PATH
export TMP=/tmp
export LANG=en_US
export TMPDIR=$TMP
export ORACLE_UNQNAME=orcl
export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$HOME/bin:$ORACLE_HOME/bin
[oracle@wangxin root]$ source /home/oracle/.bash_profile   #应用环境变量

需要注意的是,每次登录oracle都需要应用一次环境变量,若是想让他永久生效,则需要把上面的内容添加到 .bashrc文件中。

10.扩展虚拟内存

注意:如是内存小于4G,才需要执行此步骤,否则后面会报内存不足的问题,有些虚拟机会报,购买的云服务器若是小于4G,则必须执行此步骤,若是大于4G,则跳到下一步。

1、添加Swap分区

先切换至root用户,使用dd命令创建名为swapfile 的swap交换文件,count指定扩展4G虚拟内存。

[root@wangxin ~]# dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304

2、对交换文件格式化并转换为swap分区

[root@wangxin ~]# mkswap  /var/swapfile
3.挂载并且激活分区
[root@wangxin ~]# swapon   /var/swapfile
4.查看新swap分区是否激活
[root@wangxin ~]# free -htotal        used        free      shared  buff/cache   available
Mem:           1.7G        395M         76M        304K        1.3G        1.2G
Swap:          4.0G        212M        3.8G
5.修改 fstab 配置,设置开机自动挂载该分区,添加如下代码
[root@wangxin ~]# vi /etc/fstab
/var/swapfile   swap  swap  defaults  0  0
6.查看是否使用了虚拟内存
[root@wangxin ~]# free

10.安装数据库软件(Oracle用户)

配置文件位置
数据库安装配置文件 /u01/app/oracle/product/19.3.0/install/response/db_install.rsp
监听配置文件       /u01/app/oracle/product/19.3.0/assistants/netca/netca.rsp
数据库创建配置文件 /u01/app/oracle/product/19.3.0/assistants/dbca/dbca.rsp
端口号配置文件    /u01/app/oracle/product/19.3.0/db_home1/network/admin/listener.ora
db_install.rsp为模板文件,先备份再修改
[root@wangxin dbhome_1]$ chmod -R 755 /u01/*
//此处不可以为777
[root@wangxin dbhome_1]$ chown -R oracle:oinstall /u01/*
[root@wangxin dbhome_1]$ su oracle
[oracle@wangxin root]$ cd /u01/app/oracle/product/19.3.0/dbhome_1/
[oracle@wangxin dbhome_1]$ cd install/response/
[oracle@wangxin response]$ cp db_install.rsp db_install.rsp.bak
编辑db_install.rsp文件
[oracle@wangxin response]$ vi db_install.rsp
修改如下参数
oracle.install.option=INSTALL_DB_SWONLYUNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/u01/app/oraInventoryORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1ORACLE_BASE=/u01/app/oracle**#****db版本 EE企业版 SE标准版**oracle.install.db.InstallEdition=EEoracle.install.db.OSDBA_GROUP=dbaoracle.install.db.OSOPER_GROUP=dbaoracle.install.db.OSBACKUPDBA_GROUP=dbaoracle.install.db.OSDGDBA_GROUP=dbaoracle.install.db.OSKMDBA_GROUP=dbaoracle.install.db.OSRACDBA_GROUP=dbaoracle.install.db.rootconfig.executeRootScript=false

执行安装程序,以oracle用户执行

[oracle@wangxin response]$ $ORACLE_HOME/runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp

如果报错

You can find the log of this install session at:/tmp/InstallActions2022-12-26_10-15-49AM/installActions2022-12-26_10-15-49AM.log
[FATAL] Error in invoking target 'libasmclntsh19.ohso libasmperl19.ohso client_sharedlib' of makefile '/u01/app/oracle/product/19.3.0/dbhome_1/rdbms/lib/ins_rdbms.mk'. See '/tmp/InstallActions2022-12-26_10-15-49AM/installActions2022-12-26_10-15-49AM.log' for details.
Moved the install session logs to:/u01/app/oraInventory/logs/InstallActions2022-12-26_10-15-49AM

说明oracle依赖没有安装成功。需重新安装。

重新开一个窗口登录root账号,执行下面2个脚本(root用户)
第一个脚本是对目录和用户组权限的一些修改,第二个是检查日志是否有错误。

[root@localhost ~]# /u01/app/oraInventory/orainstRoot.sh[root@localhost ~]# /u01/app/oracle/product/19.3.0/dbhome_1/root.sh

若出现如下错误,

 CAUSE: Some of the mandatory prerequisites are not met. See logs for details.  /u01/app/oraInventory/logs/InstallActions2021-08-20_11-08-55PM/installActions20 21-08-20_11-08-55PM.log

执行,忽略报错,再执行上面两个脚本

[oracle@wangxin logs]$ $ORACLE_HOME/runInstaller -ignorePrereq                 -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp

在这里会有有一个问题,若是只生成了root.sh,没有orainstroot.sh脚本,说明你之前装过oracle,且卸载的时候没有删除/etc/oraInst.loc文件,此时就只会生成root.sh一个脚本, 只执行者一个即可。

11.启动默认监听

若是遇到下面的问题,你一定是忘记重新应用环境变量了。

[oracle@wangxin dbhome_1]$ lsnrctl status
bash: lsnrctl: command not found...

重新应用环境变量,查看监听状态。

[oracle@wangxin dbhome_1]$ source /home/oracle/.bash_profile
[oracle@wangxin dbhome_1]$ lsnrctl statusLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-AUG-2021 07:56:07Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-12541: TNS:no listenerTNS-12560: TNS:protocol adapter errorTNS-00511: No listenerLinux Error: 111: Connection refused

我们现在打开监听

[oracle@wangxin dbhome_1]$ lsnrctl startLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-AUG-2021 07:59:08Copyright (c) 1991, 2019, Oracle.  All rights reserved.Starting /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Log messages written to /u01/app/oracle/diag/tnslsnr/wangxin/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wangxin)(PORT=1521)))Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))STATUS of the LISTENER
------------------------Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                21-AUG-2021 07:59:08
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/wangxin/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wangxin)(PORT=1521)))
The listener supports no services
The command completed successfully

监听已经打开了,端口1521

12.创建新的监听

安装监听的时候一定要把默认监听停掉,否则会报错

[oracle@wangxin root]$ netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rspParsing command line arguments:Parameter "silent" = trueParameter "responsefile" = /u01/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Oracle Net Listener Startup:
The information provided for this listener is currently in use by other software on this computer.
Check the trace file for details: /u01/app/oracle/cfgtoollogs/netca/trace_OraDB19Home1-2108218AM3113.log
Oracle Net Services configuration failed.  The exit code is 1

我们停掉监听重新建立监听。

[oracle@wangxin root]$ lsnrctl stopLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-AUG-2021 08:31:48Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1539)))
The command completed successfully
[oracle@wangxin root]$ netca /silent /responseFile $ORACLE_HOME/assistants/netca/netca.rspParsing command line arguments:Parameter "silent" = trueParameter "responsefile" = /u01/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp
Done parsing command line arguments.
Oracle Net Services Configuration:
Profile configuration complete.
Listener "LISTENER" already exists.
Oracle Net Services configuration successful. The exit code is 0

这个时候我们启动监听,可以发现默认监听是1521端口,新建的监听是1539端口。

[oracle@wangxin root]$ lsnrctl startLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-AUG-2021 08:34:42Copyright (c) 1991, 2019, Oracle.  All rights reserved.Starting /u01/app/oracle/product/19.3.0/dbhome_1/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 19.0.0.0.0 - Production
System parameter file is /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/wangxin/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wangxin)(PORT=1539)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521_1)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1539)))STATUS of the LISTENER
------------------------Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                21-AUG-2021 08:34:42
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/wangxin/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wangxin)(PORT=1539)))(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521_1)))
The listener supports no services
The command completed successfully

13.创建数据库

静默安装数据库先修改创建响应文件

我们先给响应文件做一个备份。响应文件在$ORACLE_HOME/assistants/dbca下面

[oracle@wangxin dbhome_1]$ cd assistants/dbca/
[oracle@wangxin dbca]$ ls
dbca.rsp  doc  jlib  templates
[oracle@wangxin dbca]$ cp dbca.rsp dbca.rsp.bak

然后我们对响应文件做一个修改

gdbName=orclsid=orcldatabaseConfigType=SItemplateName=General_Purpose.dbcsysPassword=JAVANUMBERONEsystemPassword=JAVANUMBERONEdatafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/characterSet=AL32UTF8nationalCharacterSet=UTF8listeners=LISTENERinitParams=processes=800,sga_target=1536MB,pga_aggregate_target=512MB

上面的gdbname是全局数据库名称,sid是数据库实例名,可以自己设定,syspassword和systempassword是数据库管理员密码,可以自己随意设定。然后指定了字符集,监听名字。最后面是指定了内存参数,原则上是sga_target占75%,pga_aggregate_target占25%。我电脑只有2G内存,就设定了这样,内存大的可以自行设定换取更好的性能。

开始安装数据库,安装数据库持续时间很长。

[oracle@wangxin dbca]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp

若是出现报错

[FATAL] [DBT-50000] Unable to check for available memory.
[FATAL] [DBT-50001] Unable to check the value of kernel parameter {0}

则执行安装脚本添加一个参数,去掉内存检查。

[oracle@wangxin root]$ dbca -silent -createDatabase -J-Doracle.assistants.dbca.validate.ConfigurationParams=false  -responseFile /u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp

此处我遇到了一个问题,

[WARNING] ORA-03113: end-of-file on communication channel[FATAL] ORA-03114: not connected to ORACLE
然后我启动的时候报错
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/19.3.0/dbhome_1/dbs/initorcl.ora'
这个问题很奇怪,我重新做过系统,用的是华为云,这一次的 network/admin/listener.ora下的配置文件居然有我重做系统前的端口号,百思不得解,系统都重做了,怎么端口号保留下来了呢。改回默认端口1521后重新安装,这次成功

修改network/admin/listener.ora文件时,若是报错权限不够,需要赋予755权限。

[root@wangxin root]$ chmod -R 755 u01/app/oracle/product/19.3.0/dbhome_1/*

到此数据库安装就已经完成了,我们可以使用命令测试一下。

[oracle@wangxin root]$ sqlplus / as sysdba

然后使用startup命令启动数据库

也可以使用pl/sql工具连接数据库测试。如果是用购买的云服务器,且用第三方工具连接,请在服务器控制台安全策略配置开放端口。

14.创建数据库报错

开始安装数据库

[oracle@wangxin dbca]$ dbca -silent -createDatabase -responseFile /u01/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp

如果报错说当前数据库实例名已经存在,说明你之前卸载的时候没删除/etc/oratab文件。删除它重新安装。

我这个时候报了一个错误,说是我没有监听,这个问题我还没有想明白,我指定了默认监听名为LISTENER的监听,但是报错说没有这个监听,查看监听信息我们发现监听的别名就是LISTENER。这个问题我们可以通过新建监听来解决,但是为什么报这个错还没有想明白,欢迎大佬指正。

[FATAL] [DBT-07505] Selected listener (LISTENER) does not exist.ACTION: Specify an existing listener.
[oracle@wangxin etc]$ lsnrctl statusLSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-AUG-2021 08:23:48Copyright (c) 1991, 2019, Oracle.  All rights reserved.Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))STATUS of the LISTENER
------------------------Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                21-AUG-2021 07:59:08
Uptime                    0 days 0 hr. 24 min. 40 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/wangxin/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=wangxin)(PORT=1521)))
The listener supports no services
The command completed successfully

Linux静默安装oracle19c(史上最详细的教学)相关推荐

  1. Eclipse安装教程 ——史上最详细安装Java Python教程说明

                                                                Eclipse安装教程 --史上最详细安装Java&Python教程说明 ...

  2. Android Studio的安装,史上最详细(超多图)!!

    android studio安装教程,史上最详细(超多图)!! 安装android studio,史上最详细(超多图)!! 欢迎前来观看,感觉有用就点波关注吧! android studio的安装(补 ...

  3. LINUX静默安装ORACLE19C详细步骤

    一.编辑hosts文件添加ip与主机名对应关系 vi /etc/hosts 二.关闭防火墙及SELINUX systemctl stop firewalld.service systemctl dis ...

  4. Vmware15 + Ubuntu18.0.4 安装教程(史上最详细记录)【多图预警】

    硬件环境: 64位 Vmaware版本: 15.0 Ubuntu版本:这里以18.0.4(旧)为例 (可以按需选择其他的版本) 一.下载Ubuntu镜像文件 Ubuntu官方下载地址: http:// ...

  5. Ubuntu16.04安装Caffe史上最详细教程(CPU),亲测三次!!!

    一.前言 为了安装caffe,本人已经在centos7.x上试错了1次,目前弃疗~:在Ubuntu18.04上试错了3次,目前也弃疗~不是我懒,说实话,bug是真tm多,问问度娘,自己体会体会~我一向 ...

  6. 【Ubuntu】Ubuntu16.04安装 搜狗输入法 史上最详细

    一.基本配置 开发环境:ubuntu16.04 二.准备工作 下载 搜狗输入法linux版 搜狗输入法官网Linux版 我这里是64位的,所以选择64位 1.拷贝搜狗输入法到ubuntu cp /me ...

  7. 安装unzip_史上最详细的WordPress安装教程(六):安装WordPress

    程序下载 WordPress官网下载安装源码,也可以在中文官网下载中文版:https://cn.wordpress.org/download/. 如果一直429,那就百度其它下载资源吧,无解. 下载源 ...

  8. 测试管理工具QC第一篇-QC安装步骤(史上最详细的图解过程)-第一篇

    工欲善其事必先利其器,现在开始测试工具准备: *准备工作 1.虚拟机工具:vmware (我选择的是7.0的),下载地址: thunder://QUFodHRwOi8vZnRwY25jLXAyc3Au ...

  9. qc服务器操作系统,测试管理工具QC第一篇-QC安装步骤(史上最详细的图解过程)-第一篇...

    工欲善其事必先利其器,现在开始测试工具准备: *准备工作 1.虚拟机工具:vmware (我选择的是7.0的),下载地址: 2.虚拟操作系统windows server 2003 SP 以上的版本,下 ...

最新文章

  1. NC:多样性激发的确定性细菌装配过程限制了群落功能
  2. python列表的排序方法_pythonlist排序的两种方法及实例
  3. MySql模糊查询中特殊字符处理
  4. pyhton 去除字典空值
  5. MySQL完整备份,还原
  6. 在Excel工作表区域内快速移动或滚动
  7. 在mysql支持关系模型中_MySQL支持关系模型中、和三种不同的完整性约束
  8. Netbeans 适配C/C++、JAVA防坑秘笈
  9. NAND Flash和NOR Flash的比较
  10. 组件加name属性_从零开始学习React-属性绑定(三)
  11. linux audit 源码分析,audit初探
  12. Voting Disks的管理
  13. VmWare12 遭win11程序兼容性助手阻止运行的解决方法
  14. promethuesa监控 告警(二)
  15. Mini CFA 考试练习题 Economics of International Trade
  16. Cool Edit之扫频波的生成
  17. 机械革命无法使用U盘启动linux,机械革命bios设置,详细教您机械革命bios怎么设置u盘启动...
  18. flex 的 三个参数 flex:1 0 auto
  19. python生成表格并显示在浏览器_python自动打开浏览器下载zip并提取内容写入excel...
  20. 递归 求阶乘 C语言

热门文章

  1. 基于标志点特征高精提取与匹配方法,进行双目、结构光、RGBD相机、单目相机多视拼接
  2. 领扣问题58. 最后一个单词的长度python解决方案
  3. 在线阅读!!机器学习数学精华:概率论与数理统计
  4. 黄帝内经(二)之人的身体结构即命运与从医入道 ,百姓日用而不知
  5. 朴素贝叶斯分类算法简单实例
  6. sqlsugar 链接mysql_使用SqlSugar结合MySql开发
  7. python猫狗识别课程设计_pytorch实现kaggle猫狗识别
  8. 洲际酒店集团加码战略布局华南地区建设;冲浪热门目的地民宿搜索量翻四番 | 全球旅报...
  9. mysql的数据结构设计原则,数据库设计的重要性与原则
  10. C 小树快长高 SDUT