基于Linux系统离线安装oracle数据库

注意事项:
在安装的时候多次涉及root用户和oracle用户的切换,请注意区分,本文已明显

一、环境准备

在这里插入图片描述

1、关闭防火墙

[root@localhost ~]# systemctl stop firewalld

在这里插入图片描述

2、 禁用NetworkManager服务(非必须)

[root@localhost ~]# systemctl stop NetworkManager
[root@localhost ~]# systemctl disable NetworkManager

Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
Removed symlink /etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service.

3、禁用SELINUX

[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# sed -i "/^SELINUX=/s#enforcing#disabled#" /etc/selinux/config

在这里插入图片描述

4、配置HOSTS解析

[root@localhost ~]# cat >> /etc/hosts <<EOF
> 192.168.8.220 host_db
> EOF

5、修改主机名称

[root@localhost ~]# hostnamectl set-hostname host_db

6、创建组和用户

创建dba和onstall两个用户组

[root@host-db ~]# groupadd dba
[root@host-db ~]# groupadd oper
[root@host-db~]# groupadd oinstall

创建oracle用户

[root@host-db ~]# useradd -g oinstall -G dba,oper oracle

配置oracle用户密码

[root@host-db ~]# echo "oracle"|passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.

7、创建安装目录并赋权

创建目录

[root@host-db /]# mkdir -p /opt/oracle/app/oraInventory
[root@host-db /]# mkdir -p /opt/oracle/app/oracle/product/19.3.0/dbhome_1 

赋权

[root@host-db /]# chown -R oracle:oinstall /opt/oracle
[root@host-db /]# chmod -R 775 /opt/oracle

8、配置用户环境变量(在oracle用户下)

[oracle@host-db ~]$su - oracle
[oracle@host-db ~]$ vi .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME= host_db
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/opt/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
source ~/.bash_profile
echo $ORACLE_HOME

9、配置系统环境变量

#在 /etc/profile.d目录下创建存放oracle的环境,名字可以随意,但是必须以sh结尾

[root@host-db /]# vi /etc/profile.d/env_oracle.sh 
if [ \$USER = "oracle" ]; then  if [ \$SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi
fi

10、修改系统内核参数

[root@host-db /]# vi /etc/sysctl.conf
kernel.shmall = 4294967296
kernel.sem = 513065280510256
kernel.shmmni = 4096
kernel.shmmax = 549755813888
net.core.rmem_default = 1048576
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.tcp_wmem = 262144
net.ipv4.tcp_rmem = 4194304
net.ipv4.ip_local_port_range = 900065500

11、配置LIMITS限制参数

[root@host-db sys]# vi /etc/security/limits.conf
 oracle          soft    nproc           16384oracle          hard    nproc           16384oracle          soft    nofile          65536oracle          hard    nofile          65536oracle          soft    memlock         3145728oracle          hard    memlock         3145728

二、安装Oracle 19C 软件

基本都在oracle用户下操作,个别需要在root用户下执行,已明确标出,请注意查看

0、离线安装所需依赖(在root用户下)

[root@host-db opt]# unzip base.zip
在这里插入图片描述

[root@host-db opt]# cd base
[root@host-db base]# rpm -Uvh *.rpm --nodeps --force

在这里插入图片描述

0.0、检查依赖是否都存在

[root@host_db 19cc]# rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 

在这里插入图片描述
如果检查完发现还缺少依赖,可以自行下载,一般情况下所给的依赖已经很全了。
rpm依赖下载地址:rpm依赖

2.1、解压数据库软件(roacle用户下)

# root用户下
[root@host-db ~]$ mv /opt/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
# 切换oracle用户下
[root@host-db home]# su - oracle
[oracle@host-db ~]$ unzip -q LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

在这里插入图片描述

2.2、开始安装数据库软件(需要在oracle用户下)

2.2.1、编写相应文件db_install.rsp

[oracle@host-db response]$ vi $ORACLE_HOME/install/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY 
UNIX_GROUP_NAME=oinstall 
INVENTORY_LOCATION=/opt/oracle/app/oracle/oraInventory
ORACLE_BASE=/opt/oracle/app/oracle
ORACLE_HOME=/opt/oracle/app/oracle/product/19.3.0/dbhome_1
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=orcl 
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.ConfigureAsContainerDB=false
oracle.install.db.config.starterdb.characterSet= ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=512
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.password.ALL=oracle

2.2.2/运行安装命令

[oracle@host-db ~]$ cd $ORACLE_HOME
[oracle@host-db ~]$ ./runInstaller -silent -skipPrereqs -responseFile ./install/response/db_install.rsp

在这里插入图片描述
根据提示,使用root账号执行以上两个脚本

[root@host_db 19cc]# /opt/oracle/app/oracle/oraInventory/orainstRoot.sh
[root@host_db 19cc]# /opt/oracle/app/oracle/product/19.3.0/dbhome_1/root.sh

在这里插入图片描述

2.3、创建监听

[oracle@host-db db_1]$ netca -silent -responseFile /opt/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/netca/netca.rsp

在这里插入图片描述

2.3.1、查看监听状态

lsnrctl status

在这里插入图片描述

2.4、创建数据库

2.4.1、编写相应文件

[oracle@host-db db_1]$ vim /opt/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp
gdbName=orcl
sid=orcl
databaseConfigType=SI
createAsContainerDatabase=false
templateName=General_Purpose.dbc
sysPassword=oracle
systemPassword=oracle

2.4.2、运行安装命

[oracle@host-db db_1]$dbca -silent -createDatabase -responseFile /opt/oracle/app/oracle/product/19.3.0/dbhome_1/assistants/dbca/dbca.rsp

在这里插入图片描述

2.4.3、测试是否可用

[oracle@host_db admin]$sqlplus / nolog
SQL>conn sys/oracle as sysdba

在这里插入图片描述

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

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

相关文章

STM32—I2C通信外设

1.I2C外设简介 STM32内部集成了硬件I2C收发电路&#xff0c;可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能&#xff0c;减轻CPU的负担支持多主机模型&#xff08;可变多主机&#xff09;支持7位/10位地址模式&#xff08;11110......)支持不同的通…

C++:布尔类型,引用,堆区空间

1.布尔类型 #include <iostream>using namespace std;int main() {bool b13;bool b20;cout << "b1" <<b1<< endl;cout << "b2" <<b2<< endl;cout <<boolalpha<< "b1" <<b1<<…

Java语言程序设计基础篇_编程练习题*18.29(某个目录下的文件数目)

题目&#xff1a;*18.29(某个目录下的文件数目) 编写一个程序&#xff0c;提示用户输入一个目录&#xff0c;然后显示该目录下的文件数。 和上一题(18.28)的思路差不多&#xff0c;把找到文件后累加大小到变量变成计数1即可。 Java语言程序设计基础篇_编程练习题*18.28 (非递…

3D点云目标检测数据集标注工具 保姆级教程——CVAT (附json转kitti代码)

前言&#xff1a; 笔者尝试过很多3D标注软件都遇到很多问题&#xff0c;例如CloudCompare不适合做3D目标检测的数据集而且分割地面的时很繁琐&#xff1b;labelCloud没有三视图&#xff0c;视角难以调整标得不够精确&#xff1b;SUSTechPOINTS换帧麻烦、输出时存储在docker里面…

【读书笔记-《30天自制操作系统》-22】Day23

本篇内容比较简单&#xff0c;集中于显示问题。首先编写了应用程序使用的api_malloc&#xff0c;然后实现了在窗口中画点与画线的API与应用程序。有了窗口显示&#xff0c;还要实现关闭窗口的功能&#xff0c;于是在键盘输入API的基础上实现了按下按键关闭窗口。最后发现用上文…

诗文发布模板(python代码打造键盘录入诗文自动排版,MarkDown源码文本)

python最好用的f-string&#xff0c;少量代码打造键盘录入诗文自动排版。 (笔记模板由python脚本于2024年09月19日 19:11:50创建&#xff0c;本篇笔记适合喜欢写诗的pythoner的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&am…

Apache subversion 编译流程

目录 1. 概述2. 依赖库简介2.1 Expat2.2 Apache apr2.3 Apache apr-iconv2.4 Apache apr-util2.5 Zlib2.6 OpenSSL2.7 Sqlite2.8 Apache Serf2.9 Apache subversion3. 编译3.1 Expat编译3.1.1 源码信息3.1.2 CMake-GUI3.1.3 编译步骤3.2 APR编译3.2.1 源码信息3.2.2 编译步骤3.…

【笔记】2.1 半导体三极管(BJT,Bipolar Junction Transistor)

一、结构和符号 1. 三极管结构 常用的三极管的结构有硅平面管和锗合金管两种类型。各有PNP型和NPN型两种结构。 左图是NPN型硅平面三极管,右图是PNP型锗合金三极管。 从图中可见平面型三极管是先在一块大的金属板上注入杂质使之变成N型,然后再在中间注入杂质使之变成P型,…

倒序循环(一)

题目描述 输入一个正整数n&#xff0c;输出从 n~ 1 递减的序列。 输入格式 一行一个整数 n 输出格式 n 行&#xff0c;每行一个符合题目要求的整数 样例数据 样例输入#1 5样例输出#1 5 4 3 2 1样例输入#2 6样例输出#2 6 5 4 3 2 1数据范围 对于100%的数据&#xff…

Java企业面试题2

1.语言的分代&#xff1a; 第1代&#xff1a;机器语言 机器语言是最底层的计算机编程语言&#xff0c;它是由二进制数构成的一系列指令&#xff0c;直接与计算机硬件交互。每个二进制位模式代表一条特定的指令或数据地址。因为它是直接在硬件上执行的&#xff0c;所以运行效率…

Java 23 的12 个新特性!!

Java 23 来啦&#xff01;和 Java 22 一样&#xff0c;这也是一个非 LTS&#xff08;长期支持&#xff09;版本&#xff0c;Oracle 仅提供六个月的支持。下一个长期支持版是 Java 25&#xff0c;预计明年 9 月份发布。 Java 23 一共有 12 个新特性&#xff01; 有同学表示&…

xmake与包管理:又一个现代c++构建工具?

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 主要起因是我在逛Reddit帖子时,看到关于一些c构建系统的评价. cmake似乎有些过于复杂,它与vcpkg,conan的包管理之间的"融合"可能在有些时候也显得麻烦. 一些人尝试了我没见过的选项, 所以这里主要试试除了…

Java重修笔记 第五十七天 坦克大战(七)多线程基础 - 编程练习

1. 线程之间的协调控制&#xff08;通知方式&#xff09; public class Homework04 {public static void main(String[] args) {// 在 main 方法中启动两个线程// 第一个线程内循环打印 1 到 100 以内的整数// 直到第二个线程从键盘读取到 "Q" 指令后结束第一个线程…

深入剖析大模型原理——Qwen Blog

1. 输入部分 Text&#xff1a;原始输入文本&#xff0c;模型需要处理的自然语言数据。Tokenizer&#xff1a;分词器&#xff0c;将输入文本转换为词汇表中的索引&#xff08;ID&#xff09;&#xff0c;便于后续处理。Input_ids&#xff1a;经过分词处理后的ID序列&#xff0c…

交流回馈老化测试负载的智能升级

在电子设备的生产过程中&#xff0c;老化测试是不可或缺的环节。老化测试主要是通过模拟设备长时间工作的情况&#xff0c;检测设备在经过一定时间的使用后&#xff0c;其性能是否会发生降低&#xff0c;是否存在安全隐患等。老化测试负载是老化测试中的重要组成部分&#xff0…

今日所学啊

ArcGIS打不开焦点统计如何解决_arcgis焦点统计打不开-CSDN博客 好吧其实最后焦点统计还是不行&#xff0c;我就去ArcGIS Pro里做焦点统计了哈哈哈哈哈哈哈 visual studio多工程项目管理_visual studio 的模块管理-CSDN博客 1.今天成功#include <QNetworkReply>不画红线…

【MYSQL表的增删改查(基础)】

MYSQL表的增删改查&#xff08;基础&#xff09; 一、CRUD二、新增&#xff08;Create&#xff09;2.1 单行数据全列插入2.2 多行数据指定列插入 三、查询&#xff08;Retrieve&#xff09;3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.3.1 表达式不包含字段3.3.2 表达式包…

react是什么?

文章目录 核心特点1. **组件化**2. **虚拟 DOM** 3. **声明式编程**4. **单向数据流**5. **JSX 语法**6. **Hooks** react的优势劣势 React 是一个由 Facebook 开发和维护的开源 JavaScript 库&#xff0c;用于构建用户界面&#xff0c;特别是单页应用程序&#xff08;SPA&…

[PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking/手势跟踪)

前言 最近在做一个工作需要用到PICO4 Enterprise VR头盔里的眼动追踪功能&#xff0c;但是遇到了如下问题&#xff1a; 在Unity里面没法串流调试眼动追踪功能&#xff0c;根本获取不到Device&#xff0c;只能将整个场景build成APK&#xff0c;安装到头盔里&#xff0c;才能在…

枚举(not二分)

前言&#xff1a;这一题似乎用不了二分以及三分&#xff0c;害我写这么久&#xff0c;但是查找下一个元素的时候要用到二分查找 题目地址 #include<bits/stdc.h> using namespace std; #define endl "\n"int n; const int N (int)2e510; vector<int> a;…