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…

进程间通信 (匿名管道)

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

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++笔记(函数重载)

目录 引入&#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;这个乘积…

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…

【LAMMPS学习】八、基础知识(1.7) LAMMPS 与 MDI 库代码耦合

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语&#xff0c;以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

【现代C++】委托构造函数

现代C中的委托构造函数&#xff08;Delegating Constructors&#xff09;是C11引入的特性&#xff0c;它允许一个构造函数调用同一个类中的另一个构造函数&#xff0c;以避免代码重复。这种特性在初始化对象时提高了代码的复用性和清晰性。 1. 基本用法 在同一个类中&#xf…

(小红书平台)2024用户画像洞察报告

现今的小红书坐拥3亿月活用户&#xff0c;男女比例达到3:7&#xff0c;95后占比为50%&#xff0c;00后占比为35%&#xff0c;一二线城市用户占比50%。社区分享者超8000万&#xff0c;日均用户搜索渗透达到60%&#xff0c;UGC内容占比达90%。&#xff08;数据来源&#xff1a;小…

[lesson16]类的真正形态

类的真正形态 类的关键字 struct在C语言中以及有了自己的含义&#xff0c;必须继续兼容 在C中提供了新的关键字class用于类的定义 class和struct的用法是完全相同的 在用struct定义类时&#xff0c;所有成员的默认访问级别为public 在用class定义类时&#xff0c;所有成员…

虚拟网络设备的真正使命:实现有控制的通信

在数字化时代&#x1f4f2;&#xff0c;网络安全&#x1f512;成为了企业和个人防御体系中不可或缺的一部分。随着网络攻击的日益复杂和频繁&#x1f525;&#xff0c;传统的物理网络安全措施已经无法满足快速发展的需求。虚拟网络设备&#x1f5a7;&#xff0c;作为网络架构中…

谈谈功率IC巨头—士兰微

大家好&#xff0c;我是砖一。 今天给大家分享一下士兰微电子公司&#xff0c;&#xff0c;有做功率元器件&开关电源和IC的朋友可以了解一下&#xff0c;希望对你有用~ 1 公司介绍 士兰微电子成立于1997年&#xff0c;于2003年上市&#xff0c;总部位于杭州&#xff0c;…

unity按路径移动

using System; using System.Collections; using System.Collections.Generic; using UnityEngine;public class FollowPathMove : MonoBehaviour {public Transform[] wayPointArray;[SerializeField] private Transform PathA;//路径点的父物体[SerializeField]private Trans…