Oracle 数据库安装和配置详解

Oracle 数据库安装和配置详解

Oracle 数据库是一款功能强大、广泛使用的企业级关系数据库管理系统 (RDBMS),适用于处理大型数据库和复杂事务。本文将介绍如何在 Linux 和 Windows 环境下安装 Oracle 数据库,并对其进行基本配置,帮助开发者快速部署和使用该数据库。

目录:
  1. 安装前的准备
  2. 在 Linux 上安装 Oracle 数据库
  3. 在 Windows 上安装 Oracle 数据库
  4. Oracle 数据库的基本配置
  5. 使用 SQL*Plus 连接 Oracle 数据库
  6. 备份与恢复策略
  7. 性能调优建议

在这里插入图片描述

1. 安装前的准备

安装 Oracle 数据库之前,您需要确保系统满足基本的硬件和软件要求。以下是安装前需要检查的几点:

硬件要求:
  • 至少 4GB 的内存(建议 8GB 以上)
  • 至少 10GB 的可用磁盘空间
  • 推荐的 CPU 处理器速度
软件要求:
  • Linux 环境:确保安装了必备的库,如 glibclibaio 等。支持的 Linux 版本包括 Oracle Linux、Red Hat Enterprise Linux (RHEL)、CentOS、SUSE 等。
  • Windows 环境:确保 Windows 版本为 64 位操作系统,支持 Windows Server 和 Windows 10/11。
下载 Oracle 数据库:

您可以从 Oracle 官方网站下载所需的数据库安装包。常见的版本包括 Oracle Database 19c 和 Oracle Database 21c。

官方网站下载地址:https://www.oracle.com/database/technologies/


在这里插入图片描述

2. 在 Linux 上安装 Oracle 数据库

以下是在 Oracle Linux 7 或 CentOS 7 上安装 Oracle 19c 数据库的步骤。

1. 更新系统并安装必备软件包:
sudo yum update -y
sudo yum install -y bc binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libXext make sysstat
2. 创建 Oracle 用户和组:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
passwd oracle
3. 创建 Oracle 安装目录:
sudo mkdir -p /u01/app/oracle
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 775 /u01/app/oracle
4. 设置内核参数:

编辑 /etc/sysctl.conf,添加以下内容:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8589934592
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

执行以下命令应用更改:

sudo sysctl -p
5. 安装 Oracle 数据库:

解压下载的安装文件,并运行安装程序:

unzip LINUX.X64_193000_db_home.zip -d /u01/app/oracle/
cd /u01/app/oracle
./runInstaller

按照安装向导的提示,选择安装类型和配置选项。完成后,使用 root 用户运行提示的脚本来完成安装。

6. 启动 Oracle 数据库:
su - oracle
sqlplus / as sysdba
startup

在这里插入图片描述

3. 在 Windows 上安装 Oracle 数据库

1. 下载并解压安装包:

从 Oracle 官网下载适用于 Windows 平台的 Oracle Database 19c ZIP 文件。将文件解压缩到一个目录,例如 C:\oracle\.

2. 启动安装程序:

双击解压目录中的 setup.exe,启动安装程序。按照安装向导的步骤进行配置:

  • 选择“创建并配置单实例数据库”
  • 指定 Oracle 基础目录和数据库文件位置
  • 设置数据库管理员密码
3. 完成安装:

安装完成后,Oracle Database 会自动启动,并为您配置基本的数据库服务。


4. Oracle 数据库的基本配置

修改 Oracle 参数文件(init.ora 或 spfile):

Oracle 数据库的配置可以通过 init.ora 或二进制的 spfile 文件进行修改。这些文件包含数据库的启动参数,如内存分配、日志大小等。

示例:调整 SGA 和 PGA 的大小:

alter system set sga_target=2G scope=spfile;
alter system set pga_aggregate_target=1G scope=spfile;
设置监听服务:

监听器负责处理客户端连接请求。使用以下命令启动监听服务:

lsnrctl start

要查看监听状态,使用命令:

lsnrctl status
创建表空间和用户:

在数据库中创建用户和表空间:

CREATE TABLESPACE users DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' SIZE 100M;
CREATE USER test IDENTIFIED BY testpassword DEFAULT TABLESPACE users;
GRANT CONNECT, RESOURCE TO test;

在这里插入图片描述

5. 使用 SQL*Plus 连接 Oracle 数据库

SQL*Plus 是 Oracle 提供的命令行工具,用于连接和管理数据库。

连接到数据库:
sqlplus test/testpassword@localhost:1521/orcl
  • test 是用户名
  • testpassword 是密码
  • localhost 是主机地址
  • 1521 是默认监听端口
  • orcl 是数据库实例名

通过 SQL*Plus,您可以执行 SQL 查询、创建表、插入数据等操作。

示例查询:
SELECT * FROM all_users;

在这里插入图片描述

6. 备份与恢复策略

Oracle 提供了多种备份与恢复的工具和策略:

  • RMAN(Recovery Manager):提供完整的数据库备份与恢复解决方案。
  • Export/Import:使用 expdpimpdp 工具进行逻辑备份和恢复。
使用 RMAN 备份数据库:
rman target /

RMAN> backup database;
恢复数据库:
rman target /

RMAN> restore database;
RMAN> recover database;

在这里插入图片描述

7. 性能调优建议

  • 内存优化:调整 SGA 和 PGA 的大小,以适应数据库负载。
  • 索引优化:确保常用的查询字段已创建索引,提升查询效率。
  • I/O 调优:将不同的表空间、数据文件分布在多个磁盘上,以优化磁盘 I/O 性能。

在这里插入图片描述

8. Oracle 数据库常见问题与解决方案

在安装和配置 Oracle 数据库的过程中,您可能会遇到一些常见问题。以下是几种典型的错误及其解决方案:

1. ORA-12541: TNS:no listener

这个错误通常是由于 Oracle 的监听器(listener)没有启动导致的。

解决方法:
确保监听器正在运行,可以通过以下命令查看监听器的状态:

lsnrctl status

如果监听器没有启动,可以通过以下命令启动它:

lsnrctl start
2. ORA-01034: ORACLE not available

此错误表示 Oracle 数据库实例没有启动。

解决方法:
您可以使用 SQL*Plus 启动数据库:

sqlplus / as sysdba
startup
3. ORA-12154: TNS:could not resolve the connect identifier specified

这是一个常见的连接错误,通常表示客户端无法解析数据库的连接字符串。

解决方法:
检查您的 tnsnames.ora 文件,确保连接字符串配置正确。此外,确保 ORACLE_HOMETNS_ADMIN 环境变量设置正确。

4. 内存不足错误

如果 Oracle 数据库在启动或运行过程中出现内存不足的错误,可能是由于 SGA 或 PGA 参数设置过高导致的。

解决方法:
调整 SGA 和 PGA 参数,减小它们的大小。例如:

ALTER SYSTEM SET sga_target=500M scope=spfile;
ALTER SYSTEM SET pga_aggregate_target=200M scope=spfile;

然后重启数据库:

sqlplus / as sysdba
shutdown immediate;
startup;
5. ORA-01536: space quota exceeded for tablespace

这个错误通常是由于用户使用的表空间配额已满。

解决方法:
您可以通过以下命令为用户增加表空间的配额:

ALTER USER test QUOTA UNLIMITED ON users;

或者增加表空间的大小:

ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/orcl/users01.dbf' RESIZE 500M;

在这里插入图片描述

9. 高级配置与管理工具

Oracle 提供了多种图形化的管理工具,用于监控和配置数据库,提升运维效率。

Oracle Enterprise Manager (OEM)

Oracle Enterprise Manager 是一个功能强大的数据库管理工具,提供了直观的图形界面,适用于大规模数据库环境。通过 OEM,您可以执行以下操作:

  • 实时监控数据库的性能
  • 管理数据库的存储和表空间
  • 配置备份和恢复策略
  • 自动化定期的数据库维护任务

要使用 OEM,首先需要确保它已安装并启动。可以通过以下命令启动 OEM 服务:

emctl start dbconsole
Oracle SQL Developer

Oracle SQL Developer 是一个免费的图形化工具,方便开发者与数据库进行交互。使用 SQL Developer,您可以编写和执行 SQL 语句、管理数据库对象、进行数据库调优等。

可以从 Oracle 官方网站下载并安装 SQL Developer:
SQL Developer 下载地址


在这里插入图片描述

10. 常见的 Oracle 数据库管理任务

在 Oracle 数据库的日常管理中,您可能需要定期执行一些常见的任务,如监控数据库性能、备份数据、修复故障等。以下是一些常见的管理任务:

1. 查看数据库性能

您可以使用以下 SQL 语句来查看数据库的性能状态:

SELECT name, value FROM v$sysstat WHERE name IN ('user commits', 'user rollbacks');
2. 监控表空间使用情况

表空间使用情况是数据库管理中的重要部分。您可以通过以下命令查看每个表空间的使用情况:

SELECT tablespace_name, SUM(bytes) / 1024 / 1024 AS used_mb 
FROM dba_data_files GROUP BY tablespace_name;
3. 配置定期备份

建议使用 RMAN 配置定期备份任务,确保数据的安全性。可以通过以下命令设置每日备份:

rman target /
RMAN> configure retention policy to recovery window of 7 days;
RMAN> run {
    backup database plus archivelog;
}
4. 清理归档日志

随着时间的推移,归档日志会占用大量磁盘空间。可以通过以下命令删除不再需要的归档日志:

rman target /
RMAN> delete archivelog all completed before 'sysdate-7';

在这里插入图片描述

11. 性能调优的高级方法

性能调优是数据库管理中的一个关键任务,特别是对于处理大规模数据的企业来说。以下是一些高级的性能调优方法:

1. 查询调优

使用 EXPLAIN PLAN 来分析 SQL 查询的执行计划,找出性能瓶颈。

EXPLAIN PLAN FOR SELECT * FROM large_table WHERE column = 'value';
SELECT * FROM table(DBMS_XPLAN.DISPLAY);
2. 索引优化

确保为频繁使用的查询字段创建索引,以加快查询速度。例如:

CREATE INDEX idx_column ON large_table (column);
3. 内存调优

调整 SGA 和 PGA 大小以适应数据库的负载情况。对于处理大量事务的数据库,增大 SGA 和 PGA 的大小可以提高性能。

ALTER SYSTEM SET sga_target=4G scope=spfile;
ALTER SYSTEM SET pga_aggregate_target=2G scope=spfile;
4. I/O 调优

将不同的表空间分布到不同的磁盘上,以优化磁盘 I/O 性能。您可以使用 Oracle ASM(自动存储管理)来简化存储管理,并提升 I/O 性能。


在这里插入图片描述

总结

安装和配置 Oracle 数据库可能看起来是一项复杂的任务,但通过遵循本文的步骤,您将能够顺利完成 Oracle 数据库的安装和基础配置,并为后续的性能调优、备份与恢复做好准备。掌握这些技巧和方法,您将能够更高效地管理企业级数据库系统,确保系统的稳定性和高效性。

无论是在 Linux 还是 Windows 环境中,使用 Oracle 提供的强大管理工具(如 OEM 和 SQL Developer),都可以显著提升数据库管理的效率。同时,通过合理的性能调优和备份策略,确保数据库的长期运行稳定和数据安全。

希望本文对您在 Oracle 数据库的安装、配置及日常管理过程中有所帮助。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

深入理解MySQL InnoDB中的B+索引机制

目录 一、InnoDB中的B 树索引介绍 二、聚簇索引 (一)使用记录主键值的大小进行排序 页内记录排序 页之间的排序 目录项页的排序 (二)叶子节点存储完整的用户记录 数据即索引 自动创建 (三)聚簇索引…

[ 蓝桥 ·算法双周赛 ] 第 19 场 小白入门赛

&#x1f525;博客介绍&#xff1a; EvLast &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: << 算法入门>> 专题 : 帮助小白快速入门算法竞赛 &#x1f44d…

机器学习西瓜书笔记(十四) 第十四章概率图模型

第十四章 概率图模型14.1 隐马尔可夫模型14.1.1 小结 14.2 马尔可夫随机场小结 14.3 条件随机场14.3.1 小结 14.4 学习与推断14.4.1 变量消去14.4.2 信念传播小结 14.5 近似推断14.5.1 MCMC采样14.5.2 变分推断小结 14.6 话题模型14.6.1 小结 总结 概率图模型 14.1 隐马尔可夫…

31 基于51单片机的水位监测系统仿真

目录 一、主要功能 二、硬件资源 三、程序编程 四、实现现象 一、主要功能 基于51单片机&#xff0c;DHT11温湿度检测&#xff0c;水位检测&#xff0c;通过LCD1602显示&#xff0c;超过阈值报警&#xff0c;继电器驱动电机转动。通过矩阵按键切换选择设置各项参数阈值。 …

LabVIEW程序怎么解决 Bug?

在LabVIEW开发过程中&#xff0c;发现和解决程序中的Bug是确保系统稳定运行的关键环节。由于LabVIEW采用图形化编程方式&#xff0c;Bug的排查和处理与传统编程语言略有不同。以下是解决LabVIEW程序中Bug的常见方法和技巧&#xff0c;涵盖从问题发现到解决的多个步骤和角度&…

vue3学习:axios输入城市名称查询该城市天气

说来惭愧&#xff0c;接触前端也有很长一段时间了&#xff0c;最近才学习axios与后端的交互。今天学习了一个查询城市天气的案例&#xff0c;只需输入城市名称&#xff0c;点击“查询”按钮便可以进行查询。运行效果如下&#xff1a; 案例只实现了基本的查询功能&#xff0c;没…

中断系统的原理

一、介绍 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的。中断是指‌CPU在正常运行程序时&#xff0c;由于内部或外部事件的发生&#xff0c;导致CPU中断当前运行的程序&#xff0c;转而去执行其他程序的过程。‌ 中断可以是硬件产生的&#xff0c;也可以是…

【重学 MySQL】四十八、DCL 中的 commit 和 rollback

【重学 MySQL】四十八、DCL 中的 commit 和 rollback commit的定义与作用rollback的定义与作用使用场景相关示例注意事项DDL 和 DML 的说明 在MySQL中&#xff0c;DCL&#xff08;Data Control Language&#xff0c;数据控制语言&#xff09;用于管理数据库用户和控制数据的访问…

集师专属知识付费小程序搭建 心理咨询小程序搭建

一、产品简介 集师SaaS知识付费软件&#xff0c;为知识创业者或商家提供一站式内容交付解决方案&#xff0c;助力商家搭建集品牌传播、商业变现和用户运营于一体的线上知识服务系统&#xff0c;覆盖全渠道经营场景&#xff0c;占据每个流量入口&#xff0c;使流量变现快速高效…

集智书童 | 用于时态动作检测的预测反馈 DETR !

本文来源公众号“集智书童”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;用于时态动作检测的预测反馈 DETR ! 视频中的时间动作检测&#xff08;TAD&#xff09;是现实世界中的一个基本且具有挑战性的任务。得益于 Transformer …

什么是 HTTP Get + Preflight 请求

当在 Chrome 开发者工具的 Network 面板中看到 GET Preflight 的 HTTP 请求方法时&#xff0c;意味着该请求涉及跨域资源共享 (CORS)&#xff0c;并且该请求被预检了。理解这种请求的背景&#xff0c;主要在于 CORS 的工作机制和现代浏览器对安全性的管理。 下面是在 Chrome …

Linux: network: 典型网络延迟图,CPU导致;

接上回说&#xff0c;https://mzhan017.blog.csdn.net/article/details/142689870&#xff1b; 其中在debug的过程中&#xff0c;看到下面这个IO图&#xff0c;这个图比较经典&#xff0c;是一个典型的网络延迟图&#xff0c;可用作为分析问题的一个参考。 如下图&#xff1a;黑…

2024年10月HarmonyOS应用开发者高级认证全新题库

注意事项&#xff1a;切记在考试之外的设备上打开题库进行搜索&#xff0c;防止切屏三次考试自动结束&#xff0c;题目是乱序&#xff0c;每次考试&#xff0c;选项的顺序都不同 新版题库&#xff1a;单选题40题 多选题20题 注意选项答案顺序不一样&#xff0c;大家记得看选项…

Redis篇(缓存机制 - 基本介绍)(持续更新迭代)

目录 一、缓存介绍 二、经典三缓存问题 1. 缓存穿透 1.1. 简介 1.2. 解决方案 1.3. 总结 2. 缓存雪崩 2.1. 简介 2.2. 解决方案 2.3. 总结 3. 缓存击穿 3.1. 简介 3.2. 解决方案 3.3. 总结 4. 经典三缓存问题出现的根本原因 三、常见双缓存方案 1. 缓存预热 1…

第Y2周:训练自己的数据集

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 在上一次体验yolov5s的为基础上&#xff0c;这次将训练自己的数据集。 在YOLO目标检测算法中常用的三种标签格式&#xff1a;voc(xml)、coco(json)和yolo(txt…

安防监控/视频系统EasyCVR视频汇聚平台如何过滤134段的告警通道?

视频汇聚/集中存储EasyCVR安防监控视频系统采用先进的网络传输技术&#xff0c;支持高清视频的接入和传输&#xff0c;能够满足大规模、高并发的远程监控需求。平台支持国标GB/T 28181协议、部标JT808、GA/T 1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为…

LabVIEW提高开发效率技巧----严格类型化定义

在LabVIEW开发过程中&#xff0c;严格类型化定义&#xff08;Strict Typedefs&#xff09; 是一种工具&#xff0c;用于保证程序中控件和常量的一致性&#xff0c;减少错误&#xff0c;提高维护效率。通过使用严格类型化定义&#xff0c;开发者可以确保在程序的多个地方引用相同…

个人项目简单https服务配置

1.SSL简介 SSL证书是一种数字证书&#xff0c;由受信任的证书颁发机构&#xff08;CA&#xff09;颁发&#xff0c;用于在互联网通信中建立加密链接。SSL代表“安全套接层”&#xff0c;是用于在互联网上创建加密链接的协议。SSL证书的主要目的是确保数据传输的安全性和隐私性…

Windows:win11旗舰版连接无线显示器,连接失败

摘要&#xff1a;win11系统通过 miracast 无线连接到长虹电视的时候&#xff0c;一直连接不上。查看电脑又是支持 miracast 协议&#xff0c;后续发现关闭防火墙即可正常连接。 一、问题现状 最近公司里新换了电视&#xff0c;打算把笔记本电脑投屏到电视上。由于 HDMI 插拔不…

python-pptx 中 placeholder 和 shape 有什么区别?

在 python-pptx 库中&#xff0c;placeholder 和 shape 是两个核心概念。虽然它们看起来相似&#xff0c;但在功能和作用上存在显著的区别。为了更好地理解这两个概念&#xff0c;我们可以通过它们的定义、使用场景以及实际代码示例来剖析其差异。 Python-pptx 的官网链接&…