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.mzph.cn/news/881517.shtml

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

相关文章

理解计算机系统_程序的机器级表示(特别篇):对比move和leaq看汇编语言中数据的传递,变量和指针的映射,指针的实现

前言 以<深入理解计算机系统>(以下称“本书”)内容为基础&#xff0c;对程序的整个过程进行梳理。本书内容对整个计算机系统做了系统性导引,每部分内容都是单独的一门课.学习深度根据自己需要来定 引入 汇编代码传递数据的机制令人费解.而这部分内容又是比较基础的,需要…

实例详解 | 借助 Langchain 和 Gemma 2 构建 RAG 应用

本文原作者&#xff1a;Connie Leung&#xff0c;谷歌开发者专家 (GDE)&#xff0c;原文发布于&#xff1a;DEV Community https://dev.to/railsstudent/build-a-rag-application-to-learn-angular-using-langchhtainjs-nestjs-htmx-and-gemma-2-5ggk 本文将为您介绍如何使用…

.Net基础1

.NET框架 项目结构 Connected Services是第三方服务MVC框架appsettings.json配置文件Program.cs控制台应用程序Properties里的json文件是配置启动方式 1. 基本开发 出现这个bug是因为防火墙没有把浏览器加入白名单&#xff0c;可以暂时先用http启动代替 第一步创建控制器&am…

数字化AI新赋能,智享AI直播:开启一个全新的直播时代!

数字化AI新赋能&#xff0c;智享AI直播&#xff1a;开启一个全新的直播时代! 在科技日新月异的今天&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活和工作方式。其中&#xff0c;AI直播技术的崛起&#xff0c;无疑是数字化时代的一大亮…

深入理解 C/C++ 指针

深入理解 C 指针&#xff1a;指针、解引用与指针变量的详细解析 前言 在 C 编程语言中&#xff0c;指针 是一个非常强大且重要的概念。对于初学者来说&#xff0c;指针往往会让人感到困惑不解。本文将通过形象的比喻&#xff0c;帮助大家深入理解指针、解引用与指针变量的概念…

ELK:Elasticsearch、Logstash、Kibana Spring Cloud Sleuth和Spring Cloud Zipkin

〇、虚拟机中docker安装elasticsearch 、Kibana、Logstash elasticsearch导入中文分词器 Logstash修改es数据库ip及创建索引名配置 一、elasticsearch数据库的结构 和mysql作比较&#xff0c;mysql中的数据库的二维表相当于es数据库的index索引结构&#xff1b;mysql数据库的二…

大数据处理从零开始————4.认识HDFS分布式文件系统

1.分布式文件系统HDFS 1.1 认识HDFS 当单台服务器的存储容量和计算性能已经无法处理大文件时&#xff0c;分布式文件系统应运而生。什么是分布式系统&#xff0c;分布式系统是由多个独立的计算机或节点组成的系统&#xff0c;这些计算机通过网络连接&#xff…

Mysql(五) --- 数据库设计

文章目录 前言1.范式1.1.第一范式1.1.1 定义1.1.2.例子 1.2.第二范式1.2.1 定义1.2.2 例子1.2.3.不满足第二范式可能会出现的问题 1.3.第三范式1.3.1 定义2.3.2 示例 2. 设计过程3. 实体-关系图3.1 E-R图的基本组成3.2 关系的类型3.2.1 一对一关系(1:1)3.2.2 ⼀对多关系(1:N)3.…

paimon,基础查询语句测试

基础设置 -- 创建catalog/加载catalog&#xff0c;如果这个catalog已经存在就不会创建&#xff0c;自动加载元数据信息CREATE CATALOG fs_paimon_catalog WITH ( type paimon, warehouse hdfs://wsl01:8020/paimon/catalog ); -- 使用catalog use catalog fs_paimon_catalog…

Java虚拟机(JVM)

目录 内存区域划分堆&#xff08;Heap&#xff09;方法区&#xff08;Method Area&#xff09;程序计数器&#xff08;Program Counter Register&#xff09;虚拟机栈&#xff08;VM Stack&#xff09;本地方法栈&#xff08;Native Method Stack&#xff09; 类加载的过程类加…

[C++]使用纯opencv部署yolov11-seg实例分割onnx模型

【算法介绍】 在C中使用纯OpenCV部署YOLOv11-seg进行实例分割是一项具有挑战性的任务&#xff0c;因为YOLOv11通常是用PyTorch等深度学习框架实现的&#xff0c;而OpenCV本身并不直接支持加载和运行PyTorch模型。然而&#xff0c;可以通过一些间接的方法来实现这一目标&#x…

运维工具之ansible

Ansible 1.什么是ansible? ​ ansible是基于ssh架构的自动化运维工具&#xff0c;由python语言实现&#xff0c;通过ansible可以远程批量部署等。 2.部署前提 ​ 控制端需要安装ansible,被控制端要开启ssh服务&#xff0c;并允许远程登录&#xff0c;被管理主机需要安装py…

卸载PLSQL及标准卸载流程

目录 1. 卸载PLSQL2. 删除注册表3. 删除数据信息 1. 卸载PLSQL 等待进度条走完 2. 删除注册表 regedit 右击删除 3. 删除数据信息 由于AppData是隐藏文件&#xff0c;需要勾选隐藏的项目。 重启电脑&#xff0c;PLSQL就卸载成功了。

浏览器和客户端结合的erp系统,java控制浏览器操作自动登录,socket客户端通信进行表单赋值

java做一个toB的客户端操作系统&#xff0c;客户端和web的结合&#xff1b; 主要是使用java编写客户端代码&#xff0c;采用selenium控制浏览器&#xff0c;主要是用到selenium自动化测试的功能&#xff1b; javaEE 项目调用 selenium使用谷歌控件chromedriver.exe控制浏览器…

使用Java调用OpenAI API并解析响应:详细教程

使用Java调用OpenAI API并解析响应&#xff1a;详细教程 在现代应用程序中&#xff0c;API调用是一个非常常见的任务。本文将通过一个完整的示例&#xff0c;讲解如何使用Java调用OpenAI的ChatGPT API&#xff0c;并通过ObjectMapper处理JSON响应。本文的示例不仅适用于OpenAI…

网络参考模型

OSI七层网络参考模型 OSI模型仅作为参考&#xff0c;现实中并不用&#xff0c;OSI模型的目的是为了解决主机之间的网络通讯。 1. 物理层&#xff1a; 物理层将由比特&#xff08;0和1&#xff09;组成的数据用不同的媒介&#xff08;电、光或其他形式的电磁波&#xff09;传输…

黑马软件测试第一篇_测试理论

概念 使用技术手段验证软件功能是否符合需求 测试种类 功能测试 自动化测试 接口测试 性能测试 按测试阶段划分 单元测试&#xff1a;针对程序源码进行测试 集成测试&#xff1a;又称接口测试&#xff0c;针对模块之间访问地址进行测试 系统测试&#xff1a;对整个系统进行…

京东零售数据湖应用与实践

作者&#xff1a;陈洪健&#xff1a;京东零售大数据架构师&#xff0c;深耕大数据 10 年&#xff0c;2019 年加入京东&#xff0c;主要负责 OLAP 优化、大数据传输工具生态、流批一体、SRE 建设。 当前企业数据处理广泛采用 Lambda 架构。Lambda 架构的优点是保证了数据的完整性…

YOLO的相关改进机制

我的面包多平台有多种关于YOLO的改进&#xff0c;大家尽早关注&#xff0c;不迷路

【宽字节注入】

字符编码 url 编码 GBK编码 utf8 编码 宽字节注入 php中的转译函数 宽字节注入介绍 练习 正常输入没有回显&#xff1a; 没有回显 usernameadmin&passwordadmin 闭合单引号&#xff0c;依旧没有回显 usernameadmin and 11%23&passwordadmin利用宽字节尝试闭合,依旧…