oracle数据库安装和配置详细讲解

news2024/11/17 21:53:43

在这里插## 标题入图片描述

大家好,我是程序员小羊!

前言:

Oracle 数据库是全球广泛使用的关系型数据库管理系统 (RDBMS),提供高性能、可靠性、安全性和可扩展性,广泛应用于企业关键任务系统。下面详细介绍如何在 CentOS 系统上安装和配置 Oracle 数据库。

1. 前提条件

1.1 硬件要求
  • 内存:最小 1GB,推荐 2GB 以上。
  • 硬盘:至少 10GB 的可用空间,视具体应用需求而定。
1.2 软件要求
  • 操作系统:CentOS 7 或 CentOS 8(确保操作系统为 64 位)。
  • 用户和组:安装 Oracle 数据库需要创建 oracle 用户,并为其分配合适的用户组和权限。
  • 依赖包:安装前,确保操作系统具备 Oracle 安装所需的依赖库和工具。

2. 下载 Oracle 数据库

  1. 访问 Oracle 官方下载页面。
  2. 根据系统架构选择对应的 Oracle 数据库版本(建议下载 Oracle 19c 或更高版本)。
  3. 下载 rpmzip 安装包到 CentOS 系统中。

3. 安装前的系统配置

3.1 配置主机名

Oracle 数据库要求系统有正确的主机名配置:

hostnamectl set-hostname yourhostname
3.2 关闭 SELinux 和防火墙

在安装期间建议关闭 SELinux 和防火墙,以免影响安装过程:

# 暂时关闭 SELinux
setenforce 0

# 修改 SELinux 配置文件,永久禁用
vi /etc/selinux/config
# 将 SELINUX=enforcing 改为 SELINUX=disabled

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
3.3 安装依赖包

Oracle 数据库依赖于一些特定的库和工具包。可以使用 yum 安装这些依赖包:

yum install -y binutils compat-libcap1 compat-libstdc++ gcc gcc-c++ glibc glibc-devel \
libaio libaio-devel libXext libXtst libX11 libXau libXi make sysstat ksh
3.4 创建 Oracle 用户和组

Oracle 数据库需要运行在特定的用户和用户组下:

groupadd -g 54321 oinstall
groupadd -g 54322 dba
useradd -u 54321 -g oinstall -G dba oracle
passwd oracle  # 设置密码
3.5 配置系统内核参数

为确保 Oracle 正常运行,需要调整一些内核参数。编辑 /etc/sysctl.conf

vi /etc/sysctl.conf

添加以下内容:

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
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

应用内核参数:

sysctl -p
3.6 配置用户资源限制

编辑 /etc/security/limits.conf,为 oracle 用户设置系统资源限制:

vi /etc/security/limits.conf

添加以下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
3.7 创建 Oracle 安装目录

为 Oracle 数据库创建安装和数据文件的存放目录,并为 oracle 用户设置权限:

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01

4. 安装 Oracle 数据库

4.1 解压安装包

如果下载的是 zip 文件,解压到 Oracle 用户的目录中:

unzip linuxx64_193000_db_home.zip -d /u01/app/oracle/product/19.0.0/dbhome_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
4.2 配置环境变量

切换到 oracle 用户并配置环境变量。编辑 .bash_profile 文件:

su - oracle
vi ~/.bash_profile

添加以下内容:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH

加载环境变量:

source ~/.bash_profile
4.3 运行安装程序

oracle 用户身份进入解压后的安装目录,并启动 Oracle Universal Installer:

cd $ORACLE_HOME
./runInstaller

安装程序将启动一个图形界面,以下是安装流程的主要步骤:

  1. 配置文件位置:选择安装位置,一般保持默认。
  2. 安装类型:选择 Create and Configure a database(创建并配置数据库)。
  3. 典型安装:根据提示填写全局数据库名和管理员密码。
  4. 先决条件检查:安装程序会自动检查系统是否满足安装需求,必要时根据提示安装缺少的包。
  5. 开始安装:点击开始安装,安装完成后执行提示的脚本,如 /u01/app/oracle/root.sh

5. 数据库配置

5.1 数据库监听程序配置

安装完成后,配置监听程序以允许远程连接数据库。可以使用 netca 配置网络监听:

netca

按照提示配置监听服务,选择默认值即可。

5.2 创建 Oracle 数据库

使用 dbca 工具创建新的数据库:

dbca
  • 选择 Create a Database(创建数据库)。
  • 选择数据库类型(典型或自定义配置)。
  • 设置数据库名称(如 orcl)和管理员密码。
  • 选择数据库存储位置,推荐使用 ASM 或文件系统。
  • 设置内存分配、字符集和数据库文件位置。
  • 最后,点击完成开始创建数据库。
5.3 启动和停止 Oracle 实例
  • 启动数据库:
    sqlplus / as sysdba
    startup
    
  • 停止数据库:
    sqlplus / as sysdba
    shutdown immediate
    

6. 配置自动启动

要使 Oracle 数据库和监听程序在系统启动时自动启动,编辑 /etc/oratab 文件,将最后的 N 修改为 Y

orcl:/u01/app/oracle/product/19.0.0/dbhome_1:Y

然后,创建一个启动脚本 /etc/rc.d/init.d/oracle,内容如下:

#!/bin/bash
# Oracle auto start-stop script.
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export ORACLE_SID=orcl
case "$1" in
  'start')
    su - oracle -c "$ORACLE_HOME/bin/lsnrctl start"
    su - oracle -c "$ORACLE_HOME/bin/sqlplus / as sysdba <<EOF
startup
EOF"
    ;;
  'stop')
    su - oracle -c "$ORACLE_HOME/bin/sqlplus / as sysdba <<EOF
shutdown immediate
EOF"
    su - oracle -c "$ORACLE_HOME/bin/lsnrctl stop"
    ;;
  *)
    echo "Usage: $0 {start|stop}"
    exit 1
    ;;
esac
exit 0

设置脚本权限并将其添加为服务:

chmod 750 /etc/rc.d/init.d/oracle
chkconfig --add oracle

7. 连接 Oracle 数据库

通过 sqlplus 连接 Oracle 数据库:

sqlplus sys as sysdba

输入管理员密码后可以执行 SQL 命令管理数据库。要从其他计算机连接,可以使用 Oracle SQL Developer 工具,指定数据库 IP、端口和 SID 进行连接。

8. 总结

在 CentOS 上安装和配置 Oracle 数据库涉及多个步骤,包括系统准备、依赖包安装、数据库安装与配置,以及网络监听与数据库创建。掌握这些步骤后,你可以轻松地在 CentOS 系统上部署 Oracle 数据库,并进行日常管理。

结尾

今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

非金属失效与典型案例分析培训

随着生产和科学技术的发展&#xff0c;人们不断对高分子材料提出各种各样的新要求。因为技术的全新要求和产品的高要求化&#xff0c;而客户对产品的高要求及工艺理解不一&#xff0c;于是高分子材料断裂、开裂、腐蚀、变色等之类失效频繁出现&#xff0c;常引起供应商与用户间…

O2O营销,中小企业数字化转型的加速器

嘿&#xff0c;小伙伴们&#xff0c;今天咱们要聊的&#xff0c;可是那让中小企业焕发新生的O2O营销魔法&#xff01;它就像是一位时空穿梭者&#xff0c;轻松跨越线上与线下的鸿沟&#xff0c;带着商家们开启了一场数字化转型的奇妙之旅。 O2O营销&#xff1a;不只是连接&…

【主机入侵检测】Wazuh规则详解

前言 Wazuh 规则是一组用XML格式编写的条件&#xff0c;它们定义了应该如何解释日志数据。这些规则由Wazuh Manager使用&#xff0c;用于在日志消息中检测特定的模式或行为&#xff0c;并相应地生成警报或响应。它们在威胁检测中扮演着至关重要的角色&#xff0c;因为它们允许系…

NAS远程下载,Docker部署qBittorrent、Transmission、贝锐花生壳

与电脑不同&#xff0c;NAS通常都是7*24小时不间断运行&#xff0c;这使得下载资源变得更加便捷&#xff0c;解决了bt、pt下载需要长时间在线、挂机的问题。 所以&#xff0c;对于许多选择品牌NAS或自行搭建NAS系统的用户而言&#xff0c;像qBittorrent、Transmission这样的下载…

DAY 9 - 10 : 树

树的概念 定义 树&#xff08;Tree&#xff09;是n&#xff08;n≥0&#xff09;个节点的有限集合T&#xff0c;它满足两个条件 &#xff1a; 1.有且仅有一个特定的称为根&#xff08;Root&#xff09;的节点。 2.其余的节点可以分为m&#xff08;m≥0&#xff09;个互不相交的…

rk3568 parameter.txt 添加自己的分区,或者去掉已有的分区

问题&#xff1a; 客户在 之前的核心板上 可以烧写自己的镜像&#xff0c;但是在最新的核心板上却烧写不上&#xff0c;新旧核心板 只是变了emmc &#xff0c; 由 江波龙 ------->星火。 分析&#xff1a; 客户的镜像的分区是经过自己的定制的&#xff0c;所以有可能 是 由…

Linux云计算 |【第三阶段】PROJECT1-DAY3

主要内容&#xff1a; Keepalived高可用、部署Ceph分布式存储 一、网站架构进阶项目案例 案例1&#xff1a;Keepalived高可用 延续 PROJECT1-DAY2 案例&#xff0c;部署两台代理服务器&#xff0c;实现如下效果&#xff1a; 1&#xff09;利用keepalived实现两台代理服务器的…

【Java面试】第十一天

&#x1f31f;个人主页&#xff1a;时间会证明一切. 目录 Springboot是如何实现自动配置的&#xff1f;Spring的Autowired能用在Map上吗&#xff1f;ListMapSet数组注意事项 Spring的AOP在什么场景下会失效&#xff1f; Springboot是如何实现自动配置的&#xff1f; Spring Bo…

【开源免费】基于SpringBoot+Vue.JS高校心理教育辅导系统(JAVA毕业设计)

本文项目编号 T 031 &#xff0c;文末自助获取源码 \color{red}{T031&#xff0c;文末自助获取源码} T031&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析5.4 用例设计 六、核…

嵌入式C语言自我修养:C语言的面向对象编程思想

⭐关联知识点&#xff1a;C和C的区别 代码复用与分层思想 什么是代码复用呢&#xff1f; &#xff08;1&#xff09;函数级代码复用&#xff1a;定义一个函数实现某个功能&#xff0c;所有的程序都可以调用这个函数&#xff0c;不用自己再单独实现一遍&#xff0c;函数级的代…

【YashanDB知识库】单机升级典型问题及应急措施

升级典型问题 官网升级操作指引 离线升级&#xff0c;一般线上操作之前需要照着做一遍&#xff0c;但是由于数据量少、monit进程在测试环境没有启动等原因&#xff0c;一些操作、配置问题在测试过程中不会暴露&#xff0c;在生成操作的时候才暴露&#xff0c;下面3项是比较常见…

你也喜欢“钓鱼“吗?

免责声明:本文仅做分享! 目录 什么是网络钓鱼 流程 攻击手法 0-隐藏自己 1-office宏 创建xxx.dotm 创建xxx.docx 2-RLO 自解压 3-快捷方式lnk 4-邮件伪造 Swaks Gophish 5-网站克隆 setoolkit nginx反向代理 前端页面克隆 6-wifi钓鱼 7-其他 防御 溯源 反…

分布式云化数据库的优缺点分析

分布式云化数据库的优点主要体现在高可用性和容错性、可扩展性、体系结构、数据一致性、成本、升级迭代等方面。同时也存在一些缺点&#xff0c;如通信开销较大、数据的存取结构复杂、数据安全性难以保证、系统复杂性、高并发访问性能问题以及节点故障风险等。以下是对分布式云…

Ruoyi Cloud K8s 部署

参考 https://blog.csdn.net/Equent/article/details/137779505 https://blog.csdn.net/weixin_48711696/article/details/138117392 https://zhuanlan.zhihu.com/p/470647732 https://gitee.com/y_project/RuoYi-Cloud https://blog.csdn.net/morecccc/article/details/1…

hku-mars雷达相机时间同步方案-硬件(MID360与海康MV-CB060-10UMUC-S)

hku-mars雷达相机时间同步方案复线&#xff08;MID360与海康MV-CB060-10UMUC-S&#xff09; 参考 官方指导教程 硬件设备&#xff1a; 硬件同步原理连接方案&#xff1a; 注意&#xff1a; 在我们这个项目中&#xff0c;stm32中GPRMC该数据直接传到Mid360雷达中&#xff0c;由…

筑牢网络安全防线:为数字时代保驾护航

《筑牢网络安全防线&#xff1a;为数字时代保驾护航》 一、网络安全&#xff1a;数字时代的关键课题 网络安全在当今数字时代的重要性愈发凸显。2024 年国家网络安全宣传周以 “网络安全为人民&#xff0c;网络安全靠人民” 为主题&#xff0c;深刻体现了网络安全与每个人息息…

最佳实践 · MySQL 分区表实战指南

引言 在数据量急剧增长的今天&#xff0c;传统的数据库管理方式可能无法有效处理海量数据的存储和查询需求。MySQL 提供了分区表功能&#xff0c;这不仅能够帮助优化性能&#xff0c;还能简化数据管理过程。分区表允许将数据表拆分成多个逻辑上的分区&#xff0c;每个分区可以…

【特点】浅谈大模型的特点

在人工智能(AI)的发展历程中&#xff0c;大模型无疑是一个重要的里程碑。大模型是指利用海量数据&#xff0c;通过先进的算法和技术&#xff0c;训练得到的具有强大预测和决策能力的模型&#xff0c;这类模型具备了强大的语言理解和生成能力&#xff0c;能够完成各种复杂的自然…

【近源攻击】badusb制作

❤️博客主页&#xff1a; iknow181 &#x1f525;系列专栏&#xff1a; 网络安全、 Python、JavaSE、JavaWeb、CCNP &#x1f389;欢迎大家点赞&#x1f44d;收藏⭐评论✍ 在这篇博客中&#xff0c;我将详细介绍如何从零开始使用 ATtiny85 开发板制作一个 BadUSB。通过这个教程…

如何管理付费媒体预算:分配、风险与扩展

对于优先考虑利润率和现金流的企业而言&#xff0c;管理广告预算是一项基本技能。由于人为错误导致的超支几乎总是意味着与客户和利益相关者的艰难对话。这时候&#xff0c;借助光年AI智能平台可以极大程度地降低这种风险&#xff0c;通过AI驱动的全面流量和增长服务&#xff0…