Linux安装Oracle11g(无图形界面下的静默安装)

Oracle11g安装文档-Linux静默安装

  • 环境准备
  • 安装数据库
  • 配置监听器
  • 创建数据库
  • 测试
  • 打开防火墙

环境准备

  1. 创建组和用户
[root@localhost ~]# groupadd oinstall #创建oinstall组
[root@localhost ~]# groupadd dba  #创建dba组
[root@localhost ~]# useradd -g oinstall -G dba -m oracle  #创建oracle用户并将用户加入到dba组与oinstall组
[root@localhost ~]# passwd oracle #设置oracle用户密码,非必要
  1. 创建oracle安装目录
[root@localhost ~]# mkdir -p /data/oracle #oracle根目录
[root@localhost ~]# mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost ~]# mkdir -p /data/oraInventory #数据库配置文件目录
  1. 关闭防火墙
systemctl stop firewalld.service   #暂时关闭防火墙
  1. 优化系统内核参数
    编辑/etc/sysctl.conf文件,在文件尾添加如下内容:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

执行sysctl -p使修改生效

  1. 对oracle用户设置限制

    编辑 /etc/security/limits.conf文件,在文件尾添加如下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536End of file
  1. 设置用户变量
    编辑/home/oracle/.bash_profile文件,在文件尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名,最多 8个字符 ; 操作系统和 oracle实例关联的纽带 
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

执行source /home/oracle/.bash_profile使配置的环境变量生效:

  1. 安装依赖包
    离线安装
    https://download.csdn.net/download/qq_42931693/89108026
    解压后放在/home下,进入文件夹内,执行安装命令:
rpm  -ivh  *.rpm --nodeps --force

在线安装:直接执行下列命令,自动安装

[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

安装数据库

  1. 把两个安装包解压,准备安装
[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压第二个压缩包
[root@localhost src]# chown -R oracle:oinstall  /data #修改目录所有者为oracle
  1. 修改安装响应文件
[root@localhost database]# cd /data/database/database
[root@localhost response]# ls
dbca.rsp  db_install.rsp  netca.rsp
[root@localhost response]# vi response/db_install.rsp 

修改以下选项(:set nu查看行号):

 29 oracle.install.option=INSTALL_DB_SWONLY  #安装选项37 ORACLE_HOSTNAME=centos7    #命令hostname查看42 UNIX_GROUP_NAME=oinstall    #主组
47 INVENTORY_LOCATION=/data/oraInventory
78 SELECTED_LANGUAGES=en,zh_CN 
83 ORACLE_HOME=/data/oracle/product/11.2.0/db_1
88 ORACLE_BASE=/data/oracle
99 oracle.install.db.InstallEdition=EE    #版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba   #admin管理组名
147 oracle.install.db.OPER_GROUP=dba   #oper操作员组名
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
170 oracle.install.db.config.starterdb.SID=orcl
200 oracle.install.db.config.starterdb.memoryLimit=800      #根据自己设定的物理内存设置,一般为物理内存的40%-60%
233 oracle.install.db.config.starterdb.password.ALL=123456   #设置所有用户密码,方便后面更改。
385 DECLINE_SECURITY_UPDATES=true
  1. 切换用户 ,开始静默安装
[root@localhost database]# su oracle
[root@localhost database]# source /home/oracle/.bash_profile
[oracle@localhost database]$ ./runInstaller -silent -ignorePrereq -responseFile /data/database/database/response/db_install.rsp

另起一个终端查看安装实时日志成功安装

可能报错01:

Exception in thread “main” java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.Toolkit$2.run(Toolkit.java:821)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
at javax.swing.UIManager.initialize(UIManager.java:1262)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1245)
at javax.swing.UIManager.getUI(UIManager.java:851)
at javax.swing.JPanel.updateUI(JPanel.java:104)
at javax.swing.JPanel.(JPanel.java:64)
at javax.swing.JPanel.(JPanel.java:87)
at javax.swing.JPanel.(JPanel.java:95)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMUI.(OiifoOCMUI.java:125)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.(OiifoOCMInterfaceManager.java:79)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.getInstance(OiifoOCMInterfaceManager.java:124)
at oracle.install.ivw.db.driver.DBInstaller.run(DBInstaller.java:123)
at oracle.install.commons.util.Application.startup(Application.java:869)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

解决方法:默认要调用图形界面,执行unset DISPLAY再安装。
可能报错02:
观察日志:

INFO: Exit Status is -2
INFO: Shutdown Oracle Database 11g Release 2 Installer
INFO: Unloading Setup Driver

Oracle中退出代码含义:
代码 描述
0 成功安装,正常退出
1 关键组件成功安装,但是部分可选组件安装失败
2 本地安装成功,但是部分远程工具安装失败
3 关键组件成功安装,但是某些推荐的配置工具失败
4 安装停止
6 在忽视一些先决条件检查或警告后,安装成功
-1 至少有一个安装失败
-2 安装失败.一个或多个变量验证失败.
-3 尝试的安装遇到了失败的先决条件.一些可选的先决条件没有满足.详见日志.如果先决条件是可选的,你可以忽略此返回代码

  1. 按要求运行Root脚本
 #要运行的 Root 脚本/data/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:1. 打开一个终端窗口2. 以 "root" 身份登录3. 运行脚本4. 返回此窗口并按 "Enter" 键继续

Oracle 11g r2就安装成功了!

配置监听器

在Oracle用户下执行:

[oracle@centos database]$ netca /silent /responseFile /data/database/database/response/netca.rsp 

在这里插入图片描述检查监听状态

[oracle@centos7 ~]$ netstat -tnulp | grep 1521

在这里插入图片描述

创建数据库

[oracle@centos database]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName orcl -sysPassword oracle -systemPassword oracle -responseFile /data/database/database/response/dbca.rsp

有点慢查看监听状态

[oracle@centos database]$ lsnrctl status

在这里插入图片描述

测试

[oracle@centos database]$ sqlplus / as sysdba

在这里插入图片描述

SQL> create user root identified by "123456";  -- 创建用户:User created.SQL> grant connect,resource,dba,sysdba to root; -- 赋权:Grant succeeded.SQL> exit --退出

打开防火墙

systemctl start firewalld  #开放1521端口:
firewall-cmd --zone=public --add-port=1521/tcp --permanent#查询端口号1521是否开启:
firewall-cmd --query-port=1521/tcp#重启防火墙:
firewall-cmd --reload 

问题

  1. 重启后会找不到oracle的命令
    执行source /home/oracle/.bash_profile使配置的环境变量生效:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/805718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙HarmonyOS开发实例:【分布式关系型数据库】

介绍 本示例使用[ohos.data.relationalStore]接口和[ohos.distributedDeviceManager] 接口展示了在eTS中分布式关系型数据库的使用,在增、删、改、查的基本操作外,还包括分布式数据库的数据同步同能。 效果预览 使用说明: 启动应用后点击“ ”按钮可…

《QT实用小工具·十七》密钥生成工具

1、概述 源码放在文章末尾 该项目主要用于生成密钥,下面是demo演示: 项目部分代码如下: #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain.h" #include "qmessag…

ArrayList中多线程的不安全问题

ArrayList中的不安全问题 正常的输出 List<String> list Arrays.asList("1","2","3"); list.forEach(System.out::println);为什么可以这样输出&#xff0c;是一种函数是接口&#xff0c;我们先过个耳熟 Arrys.asList是返回一个ArrayL…

【leetcode面试经典150题】40. 同构字符串(C++)

【leetcode面试经典150题】专栏系列将为准备暑期实习生以及秋招的同学们提高在面试时的经典面试算法题的思路和想法。本专栏将以一题多解和精简算法思路为主&#xff0c;题解使用C语言。&#xff08;若有使用其他语言的同学也可了解题解思路&#xff0c;本质上语法内容一致&…

进程间通信 (匿名管道)

一、进程间通信的概念 进程间通信是一个进程把自己的数据交给另一个进程&#xff0c;它可以帮助我们进行数据传输、资源共享、通知事件和进程控制。 进程间通信的本质是让不同的进程看到同一份资源。因此&#xff0c;我们要有&#xff1a; 1、交换数据的空间。2、这个空间不能由…

端口号占用解决方法

进入cmd输入&#xff1a; 第一步输入&#xff1a;netstat -ano|findstr 8080 第二步输入&#xff1a;taskkill -pid **** -f (示例)&#xff1a; C:\Users\Administrator>netstat -ano|findstr 8080 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING …

AcWing 790. 数的三次方根——算法基础课题解

AcWing 790. 数的三次方根 题目描述 给定一个浮点数 n&#xff0c;求它的三次方根。 输入格式 共一行&#xff0c;包含一个浮点数 n。 输出格式 共一行&#xff0c;包含一个浮点数&#xff0c;表示问题的解。 注意&#xff0c;结果保留 6 位小数。 数据范围 −10000≤…

Linux链接文件管理——硬链接、符号链接

Linux链接文件管理——硬链接、符号链接 硬链接 硬链接是对文件的另一个名字&#xff0c;对于硬链接的文件来说&#xff0c;他们拥有同样的inode号(索引节点号)&#xff0c;表示它们是同一个文件。 创建硬链接不会消耗新的inode和block。 删除硬链接文件&#xff0c;不会影响…

hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

分析&#xff1a; 在启动hadoop服务的时候&#xff0c;遇到了这个问题&#xff1a; hadoop103: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 这个一看就是&#xff0c;密钥问题 于是ssh 主机名就行测试 需要输入密码&#xff0c;就说明这里有问…

【C++】每日一题 28 找出字符串中第一个匹配项的下标

给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 开始&#xff09;。如果 needle 不是 haystack 的一部分&#xff0c;则返回 -1 。 #include <iostream> #include <string>…

C++笔记(函数重载)

目录 引入&#xff1a; 定义&#xff1a; 易错案例&#xff1a; 引入&#xff1a; 对于实现相似功能的函数&#xff0c;在命名时&#xff0c;我们常会出现命名重复的问题。对于C语言&#xff0c;编译器遇到这种命名重复的情况&#xff0c;会进行报错。而我们的C为了更方便程…

【计算机毕业设计】校园网书店系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

分布式锁-redission

5、分布式锁-redission 5.1 分布式锁-redission功能介绍 基于setnx实现的分布式锁存在下面的问题&#xff1a; 重入问题&#xff1a;重入问题是指 获得锁的线程可以再次进入到相同的锁的代码块中&#xff0c;可重入锁的意义在于防止死锁&#xff0c;比如HashTable这样的代码…

pycharm一直打不开

一直处在下面的页面&#xff0c;没有反应 第一种方案&#xff1a; 以管理员身份运行 cmd.exe&#xff1b;在打开的cmd窗口中&#xff0c;输入 netsh winsock reset &#xff0c;按回车键&#xff1b;重启电脑&#xff1b;重启后&#xff0c;双击pycharm图标就能打开了&#xf…

深度理解运放增益带宽积

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海。 增益带宽积是运算放大器的重要参数之一&#xff0c;指的是运放的增益和带宽的乘积&#xff0c;这个乘积…

Mybatis-Plus使用方法

MyBatis-Plus 提供了丰富的增强版的 CRUD 方法&#xff0c;使得开发者能够更简洁、高效地进行数据库操作。以下是如何使用 MyBatis-Plus 自带的增强版 CRUD 方法的基本步骤&#xff1a; 添加依赖 首先&#xff0c;确保你的 Maven 项目中已经添加了 MyBatis-Plus 的相关依赖&a…

【S32K3 MCAL配置】-3.1-CANFD配置-经典CAN切换CANFD(基于MCAL+FreeRTOS)

"><--返回「Autosar_MCAL高阶配置」专栏主页--> 目录(共5页精讲,基于评估板: NXP S32K312EVB-Q172,手把手教你S32K3从入门到精通) 实现的架构:基于MCAL层 前期准备工作:

STC89C52学习笔记(四)

STC89C52学习笔记&#xff08;四&#xff09; 综述&#xff1a;本文讲述了在STC89C51中数码管、模块化编程、LCD1602的使用。 一、数码管 1.数码管显示原理 位选&#xff1a;对74HC138芯片的输入端的配置&#xff08;P22、P23、P24&#xff09;&#xff0c;来选择实现位选&…

玩转ChatGPT:Kimi测评(图片识别)

一、写在前面 ChatGPT作为一款领先的语言模型&#xff0c;其强大的语言理解和生成能力&#xff0c;让无数用户惊叹不已。然而&#xff0c;使用的高门槛往往让国内普通用户望而却步。 最近&#xff0c;一款由月之暗面科技有限公司开发的智能助手——Kimi&#xff0c;很火爆哦。…

【Keil5-编译4个阶段】

Keil5-编译 ■ GCC编译4个阶段■ 预处理->编译->汇编->链接■ GNU工具链开发流程图■ armcc/armasm&#xff08;编译C和汇编&#xff09;■ armlink &#xff08;链接&#xff09;■ armar &#xff08;打包&#xff09;■ fromelf &#xff08;格式转换器&#xff09…