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.rhkb.cn/news/439626.html

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

相关文章

国外电商系统开发-运维系统拓扑布局

点击列表中设备字段,然后定位到【拓扑布局】中,可以看到拓扑发生了变化 再回头,您再次添加一个服务器到系统中,并且选择该服务器的连接节点为您刚才创建的“SDN路由器”,保存后,您可以看到这个服务器连接着…

红帽操作系统Linux基本命令2( Linux 网络操作系统 06)

本文接着上篇Linux常用命令-1继续往后学习其他常用命令。 2.3 目录操作类命令 1.mkdir命令 mkdir命令用于创建一个目录。该命令的语法为: 上述目录名可以为相对路径,也可以为绝对路径。 mkdir命令的常用参数选项如下。 -p:在创…

通过dem2terrain生成MapboxGL地形服务

概述 MapboxGL在2的版本之后通过地形服务开始支持三维的展示了,之前也有文章“mapboxGL2中Terrain的离线化应用”对该服务进行过说明与分析。前些天在翻公众号的时候翻到了dem2terrain可以生成地形服务,同时做了一些优化,今天就给大家分享一…

畅享免费服务:PDF 转图片在线转换软件的魅力

为了方便在社交媒体上分享文档内容,还为了更好地适应特定的编辑需求,将 PDF 文件转换为图片格式都具有重要的意义。而如今,幸运的是,有许多pdf转图片在线转换免费工具为我们提供了便捷、高效的 PDF 转图片服务。接下来&#xff0c…

MongoDB 数据库服务搭建(单机)

下载地址 下载测试数据 作者:程序那点事儿 日期:2023/02/15 02:16 进入下载页,选择版本后,右键Download复制连接地址 下载安装包 ​ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.14.tgz​ …

Redis: Sentinel哨兵监控架构及环境搭建

概述 在主从模式下,我们通过从节点只读模式提高了系统的并发能力并发不断增加,只需要扩展从节点即可,只要主从服务器之间,网络连接正常主服务器就会将写入自己的数据同步更新给从服务器,从而保证主从服务器的数据相同…

SQL自用小结

推荐一下这个知识点总结 《数据库系统概论》第五版 学习笔记总目录 1. SQL概述 SQL(Structured Query Language,结构化查询语言)是一种用于定义、查询、更新和控制关系数据库的标准化语言。 它包含了数据定义语言(DDL&#xff0…

51单片机系列-按键检测原理

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 独立按键是检测低电平的。 下面我们来看一张对应的电路原理图: 在这张图当中,P1,P2,P3内部都上拉了电阻,但是P0没有&am…

码随想录算法训练营第62天|卡码网:97. 小明逛公园、127. 骑士的攻击

1. 卡码网 97. 小明逛公园 题目链接:https://kamacoder.com/problempage.php?pid1155 文章链接:https://www.programmercarl.com/kamacoder/0097.小明逛公园.html 思路: 使用Floyd 算法,目的是解决多源最短路问题,即 …

Java项目实战II基于Java+Spring Boot+MySQL的房产销售系统(源码+数据库+文档)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者 一、前言 随着房地产市场的蓬勃发展,房产销售业务日益复杂,传统的手工管理方式已难以满…

机器学习/数据分析--用通俗语言讲解时间序列自回归(AR)模型,并用其预测天气,拟合度98%+

时间序列在回归预测的领域的重要性,不言而喻,在数学建模中使用及其频繁,但是你真的了解ARIMA、AR、MA么?ACF图你会看么?? 时间序列数据如何构造???,我打过不少…

EEPROM读写实验——FPGA学习笔记18

一、EEPROM简介 Electrically Erasable Progammable Read Only Memory:是指带电可擦可编程只读存储器,是一种常用的非易失性存储器(掉电数据不丢失) EEPROM发展历史 我们这次实验所用的AT24C64存储容量为64Kbit,内部分成256页&am…

Java--IO高级流

缓冲流 缓冲流,也叫高效流,是对4个基本的FileXxx 流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutputStream 字符缓冲流:BufferedReader,Buf…

【2024】uniapp 接入声网音频RTC【H5+Android】Unibest模板下Vue3+Typescript

需求 最近开发一个项目,需要实现声网的接入。由于采用uniapp模式,按照最佳实践采用优先开发H5再适配的模式。因此实现了H5和Android两种模式的接入,Android里采用离线打包自定义基座来进行调试。怕自己忘记了,在这里详细的记录完…

Hadoop之WordCount测试

1、Hadoop简介: Hadoop是Apache旗下的一个用Java语言实现的开源软件框架,是一个开发和运行处理大规模数据的软件平台。 Hadoop的核心组件包括Hadoop分布式文件系统(HDFS)和MapReduce编程模型。HDFS是一个高度容错的系统&#xf…

OpenGL笔记十九之相机系统

OpenGL笔记十九之相机系统 —— 2024-10-02 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记十九之相机系统1.运行1.1.游戏相机1.2.轨迹球相机 2.游戏相机与轨迹球相机切换3.博主笔记本要运行需要更改的文件更改1:28_OpenGL_CameraSystem/applicat…

基于SpringBoot的学习资源共享平台

运行环境: jdk8tomcat9mysqlIntelliJ IDEAmavennodejs 设计选用前后端分离的单体架构方式 后端:SpringBootMybatis-PluslogbackElasticsearchRedisMySQLJwtsmtp阿里云OSS 前端:WebPackVueJsAnt Designaxios 主要模块:反馈管理、资源管理、…

GitLab flow工作流及其使用

问题背景 Git flow和Github flow及其问题 使用GitLab flow 目录 什么是GitLab工作流 功能分支 生产分支 使用GitLab flow环境分支 使用GitLab flow发布分支 使用GitLab flow合并/拉取请求 使用GitLab flow进行问题跟踪 链接和关闭合并请求中的问题 用rebase压缩提交…

实战案例:结合大模型与爬虫技术实现12306智能查票系统

大语言模型,例如 GPT-4,拥有强大的知识储备和语言理解能力,能够进行流畅的对话、创作精彩的故事,甚至编写代码。然而,它们也面临着一些难以克服的困境,就像一个空有知识却无法行动的巨人 信息滞后&#xf…

[ESP32]ESP-IDF使用组件添加U8g2图形库

U8g2 在ESP32使用u8g2的时候可以使用添加component的方式进行, 由于官方的component库没有, 这里我找到了一个可以使用的github库, 使用git的方式进行添加这一个库 具体的原理可以看[官方手册](https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/api-guides/to…