oracle介绍

一、oracle是什么

​ Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

发展历史

Oracle 数据库有多个版本,以下是一些主要版本:

  1. Oracle v2:1979年发布,是首个面向市场的商业SQL关系数据库管理系统,只能运行一些SQL查询和执行少量连接操作。
  2. Oracle v3:1983年发布,引入了并发控制和可扩展性等新功能。
  3. Oracle v4:1984年发布,兼容微软的MS - DOS操作系统。
  4. Oracle v5:1985年发布,引入了客户端 - 服务器计算和分布式数据库系统。
  5. Oracle v6:1988年发布,首次引入了行级锁定、在线备份和恢复功能。
  6. Oracle 7:1992年发布,引入了PL/SQL、存储过程、触发器、共享游标和并行服务器选项等功能。
  7. Oracle 8:1997年6月首次发布,后来在2000年发布了8i,支持原生互联网协议和Java。
  8. Oracle 9i:2001年发布,引入了Oracle RAC(实时应用集群),以及数据挖掘和数据分析算法。
  9. Oracle 10g Release 1:2003年发布,引入了网格计算、自动化数据库管理系统和Oracle ASM等功能。
  10. Oracle 10g Release 2:2005年7月发布,增加了实时应用测试、在线索引和透明数据加密等功能。
  11. Oracle 11g Release 1:2007年9月发布,引入了SQL调优、Active Data Guard等功能。
  12. Oracle 11g Release 2:2013年8月发布,增加了混合列压缩、集群文件系统和数据库设备等功能。
  13. Oracle 12c Release 1:2013年7月发布,引入了多租户架构、内存列存储、SQL模式匹配和原生JSON等功能。
  14. Oracle 12c Release 2:2016年9月发布,保留了早期功能,并增加了Exadata云服务和客户现场云等功能。
  15. Oracle 18c:2018年2月在云端发布,是Oracle 12c的后续版本,包含多态表函数等改进功能。
  16. Oracle 19c:2019年4月在云端发布,适用于Linux和其他平台,增加了自动索引创建、对象存储上的SQL查询和实时统计维护等功能。
  17. Oracle 23ai:2024年4月发布,将AI引入数据,可简化应用开发和关键任务工作负载,支持所有现代数据类型、工作负载和开发风格,结合了检索增强生成 (RAG) 和企业级LLM等新技术。 此外,Oracle还针对不同的用户需求和场景,发布了一些特定版本,如Oracle Express Edition(XE)等。

特点

  • Oracle数据库具有完整的数据库管理功能、完备关系的产品以及具有分布式处理能力的数据库。
  • 它对数据的可靠性、大量性、持久性、共享性提供了一套可靠的解决方案、而且可以轻松支持多用户、大事务量的事务处理。
  • 它的优点就是可用性强、可扩展性强、数据安全性强、稳定性高,以及现阶段12C支持分布式数据处理。
  • 它提供了一套严禁的逻辑结构、文件结构、相关恢复技术的解释和实现。

二、oracle体系结构

Oracle数据库体系结构主要由物理结构和逻辑结构两部分构成,以下为你详细介绍:

2.1 物理结构

Oracle 数据库的物理结构指的是存储在磁盘上的实际文件,主要包括数据文件、控制文件和重做日志文件。

数据文件(Data Files)

  • 功能:用于存储数据库中的实际数据,如表、索引、视图等数据库对象的数据都存于其中。
  • 特点:数据文件是数据库的核心存储部分,一个表空间可以包含多个数据文件,一个数据文件只能属于一个表空间。数据文件以操作系统文件的形式存在,文件扩展名为 .dbf

控制文件(Control Files)

  • 功能:记录数据库的物理结构信息,如数据文件和重做日志文件的名称、位置,数据库创建时间等。在数据库启动时,实例会读取控制文件来定位和打开其他必要的文件。
  • 特点:控制文件是二进制文件,通常会有多个副本存于不同的磁盘,以此保证在一个控制文件损坏时,数据库仍可正常运行。

重做日志文件(Redo Log Files)

  • 功能:记录数据库的所有更改操作,主要用于在数据库崩溃或异常关闭后进行恢复,保证数据的一致性和完整性。
  • 特点:重做日志文件以循环方式使用,一般会有多个重做日志文件组,每个组包含多个成员。

2.2 逻辑结构

Oracle 数据库的逻辑结构是对数据的组织和管理方式,主要包括表空间、段、区和块。

表空间(Tablespaces)

  • 功能:是数据库的逻辑存储单元,用于将不同类型的数据分开存储,便于管理和维护。
  • 类型:常见的表空间类型有系统表空间(SYSTEM)、系统辅助表空间(SYSAUX)、临时表空间(TEMP)、用户表空间等。

段(Segments)

  • 功能:是占用存储空间的数据库对象,例如表段用于存储表的数据,索引段用于存储索引的数据。
  • 类型:常见的段类型有数据段、索引段、回滚段等。

区(Extents)

  • 功能:是数据库存储空间分配的基本单位,由一组连续的数据块组成。当段的空间不足时,数据库会为其分配新的区。

块(Blocks)

  • 功能:是数据库读写操作的最小单位,数据库与操作系统进行数据交换时以块为单位。块的大小在数据库创建时确定,通常为操作系统块大小的整数倍。

2.3 实例结构

Oracle 实例由一组后台进程和内存结构组成。

内存结构

  • 系统全局区(SGA,System Global Area):是所有服务器进程和后台进程共享的内存区域,包含共享池、数据缓冲区、重做日志缓冲区等。
    • 共享池(Shared Pool):用于缓存 SQL 语句和数据字典信息,减少解析 SQL 语句的开销。
    • 数据缓冲区(Database Buffer Cache):用于缓存从数据文件中读取的数据块,提高数据访问效率。
    • 重做日志缓冲区(Redo Log Buffer):用于临时存储重做日志信息,定期写入重做日志文件。
  • 程序全局区(PGA,Program Global Area):是每个服务器进程和后台进程私有的内存区域,用于存储该进程的数据和控制信息。

后台进程

  • 数据库写入进程(DBWR,Database Writer):负责将数据缓冲区中的脏数据块写入数据文件。
  • 日志写入进程(LGWR,Log Writer):负责将重做日志缓冲区中的重做日志信息写入重做日志文件。
  • 系统监控进程(SMON,System Monitor):负责实例崩溃恢复、清理临时段等系统维护任务。
  • 进程监控进程(PMON,Process Monitor):负责监控服务器进程和后台进程的状态,在进程异常终止时进行清理和恢复。

综上所述,Oracle 数据库体系结构通过物理结构、逻辑结构和实例结构的协同工作,实现了数据的高效存储、管理和访问。

三、oracle与mysql的区别

mysql方式

在mysql数据库管理系统是可以直接创建多个库(数据库)的。

oracle方式

oracle数据库管理系统,一般是oracle软件就是一个数据库,而且数据库可以创建多个实例,一个实例可以创建多个用户模式(相当于mysql中的库)。

posted @ 2025-03-22 23:39  吴川华仔  阅读(335)  评论(0)    收藏  举报