首页 > 数据库 >Oracle数据库基本介绍

Oracle数据库基本介绍

时间:2023-08-14 23:46:12浏览次数:36  
标签:数据库 介绍 进程 实例 Oracle 日志 重做

一、Oracle数据库

1.1、基本介绍

Oracle数据库的一个基本任务是存储数据。Oracle数据库服务器是由一个数据库和至少一个数据库实例组成。数据库是一组存储的文件,而数据库实例是一组管理数据文件的内存结构。另外,数据库由后台进程组成。

一个数据库和一个实例是紧密相连的,因此术语- Oracle数据库通常用来指代实例和数据库。

image

1.2、存储结构

  1. 物理结构是存储数据的纯文件。当执行CREATE DATABASE语句来创建一个新的数据库时,将 创建

    • 数据文件:数据文件包含真实数据。逻辑数据库结构(如表和索引)的数据被物理存储在数据文件中。
    • 控制文件:每个Oracle数据库都有包含元数据的控制文件。元数据描述数据库的物理结构,包括数据库名称和数据库文件位置
    • 联机重做日志文件:每个Oracle数据库都有一个联机重做日志,其中包含两个或多个联机重做日志文件。联机重做日志由重做条目组成,记录数据所做的所有更改
    • 参数文件
    • 物理文件
    • 备份文件
    • 归档重做日志文件
  2. 逻辑存储结构对磁盘空间使用情况进行精细控制。

    • 数据块:数据块对应于磁盘上的字节数。Oracle将数据存储在数据库中。数据块也被称之为逻辑块,Oracle块或页。

    • 范围:范围是用于存储特定类型信息的逻辑连续数据块的具体数量。

    • 段:段是分配于存储用户对象(例如表或索引)的一组范围

    • 表空间:数据库被分成称为表空间的逻辑存储单元。表空间的段逻辑容器。每个表空间至少包含一个数据文件。

      tablespaces

1.3、Oracle实例

Oracle实例是客户端应用程序(用户)和数据库之间的接口。Oracle实例是由三个主要部分组成:系统全局区(SGA),程序全局区(PGA)和后台进程如下图所示

SGA是实例启动时分配的共享内存结构,关闭时释放。SGA是一组包含一个数据库实例的数据库和控制信息的共享内存结构。不同于所有进程斗可用的SGA,PGA是会话开始时为每个回话分配的私有内存区,当会话结束时释放。

  • PMON是调节所有其他进程的进程监视器。PMON清理异常连接的数据库连接,并自动向侦听器进程注册数据库实例。PMON是Oracle数据库中最活跃的一个进程。
  • SMON是执行系统及清理操作的系统监视进程。它有两个主要职责,包括在发生故障的情况下自动回复实例,例如断电和清理临时文件。
  • DBWn是数据库编写器。Oracle在内存中执行每个操作而不是磁盘。因为在内存中的处理速度比在磁盘上快。DBWn进程从磁盘读取数据并将其写回到磁盘。一个Oracle实例有许多数据库编写器,如DBW0,DBW1,DBW2等等
  • CKPT是检查点过程。在Oracle中,磁盘上的数据库称为块,内存中的数据称为缓冲区。当该块写入缓冲区并更改时,缓冲区变脏,需要将其写入磁盘。CKPT进程使用检查点信息更新控制和数据文件头,并向脏盘写入脏缓冲区的信号。请注意,Oracle12C允许全面和增量检查点。
  • LGWR是日志写入过程,是可恢复架构的关键。在数据库中发生的每一个变化都写出到一个名为redo日志文件中用于恢复目的。而这些变化是由LGWR进程编写的。LGWR进程首先将更改写入内存,然后将磁盘写入重做日志,然后将其用于恢复。
  • ARCn是归档进程,它将重做日志的内容复制到归档重做日志文件。存档程序进程可用有多个进程,如:ARC0,ARC1和ARC3,允许存档程序写入多个目标。
  • MMON是收集性能指标的可管理性监控流程。
  • MMAN是自动管理Oracle数据库内存的内存管理器。
  • LREG是监听器注册过程,它使用ORacle Net Listener 在数据库实例和调度程序进程上注册信息。

标签:数据库,介绍,进程,实例,Oracle,日志,重做
From: https://www.cnblogs.com/xiangsir/p/17630078.html

相关文章

  • linux的grep功能介绍与使用
    环境centos7.9众所周知,在Linux操作系统中,"grep"命令是一种强大而常用的文本搜索工具。它用于在文件中查找特定的模式,并显示包含该模式的行。"grep"命令不仅可以搜索文件内容,还可以结合各种选项和正则表达式,提供丰富的搜索功能。本文档将介绍"grep"命令的基本用法和一些常用的选......
  • Mybatis操作数据库流程源码
    Java操作数据库需要经过3个大步骤:获取数据库连接执行SQL语句关闭数据库连接Mybatis将这几个步骤进行了封装,将获取数据库连接的给工作交给了SqlSessionFactory,将执行SQL的工作交给了SqlSession。1获取SqlSession在程序启动时,会根据配置创建SqlSessionFactory:SqlSessionFa......
  • 【愚公系列】2023年08月 WPF控件专题 XAML介绍
    (文章目录)<hrstyle="border:solid;width:100px;height:1px;"color=#000000size=1">前言WPF(WindowsPresentationFoundation)是微软推出的一种基于.net框架的图形用户界面技术,它使用XAML(eXtensibleApplicationMarkupLanguage)作为UI的描述语言。XAML是一种基于XML的标记......
  • 开源数据库Mysql_DBA运维实战 (DCL/日志)
    SQL(StructuredQueryLanguage即结构化查询语言)a.DDL语句 数据库定义语言:数据库,表,视图,索引,存储过程,函数,创建删除ALTER(CREATEDROPALTER) b.DML语句数据库操纵语言:插入数据INSERT、删除数据DELETE、更新数据UPDATEc.DQL语句 数据库查询语言:查询数据SELECTd.DCL语句数......
  • sql server sqlbulkcopy 批量数据插入数据库
     SqlBulkCopyOptions介绍 SqlBulkCopy位于位于命名空间System.Data.SqlClient下,主要功能是把其他数据源(数据行DataRow,数据表DataTable,数据读取器IDataReader等)的数据有效批量的导入到SQLServer表中的功能。类似与MicrosoftSQLServer包中名为bcp的命令行应用程序。但......
  • 数据库查询
    MySQL数据库结构库创建删除查询选择使用表创建删除修改基本查询列增加删除修改查询行增加删除修改查询数据库是“按照数据结构来组织、存储和管理数据的仓库”PHPMyAdmin/linux命令id......
  • 深入浅出node.js游戏服务器开发——Pomelo框架的设计动机与架构介绍
    一、Pomelo的定义和组成以下是Pomelo官网给出的最初定义:Pomelo是基于node.js的高性能,分布式游戏服务器框架。它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发。Pomelo最初的设计初衷是为了游戏服务器,不过我们在设计、开......
  • redis查询 第1个数据库,而不是默认的第0个数据库
    redis查询第1个数据库,而不是默认的第0个数据库 spring.redis.database=1默认:spring.redis.database=0car-test:0>getcar:info:detail:id001NULL##切换数据库car-test:0>select1OKcar-test:1>getcar:info:detail:id001{"id":444186}car-test:1>redis有......
  • SARscape5.7新功能介绍
    SARscape5.7于2023年8月正式发布,匹配ENVI5.7版本,最低支持版本为ENVI5.6.0,主要包含以下新功能和功能改进:突出变化:E-PS:识别分布式散射体(DS)并与永久散射体像元(PS)一起处理,以提高郊区的InSAR像素覆盖。E-SBAS:识别永久散射(PS)像元并与分布式散射(DS)像元一起处理,输出更多、更有价值的结......
  • SAP ABAP Lock 的 Collision Check 机制介绍
    SAPABAP系统使用CollisionCheck机制来检查锁请求是否与现有锁冲突。如果发生冲突,对话事务的用户会收到一条消息,指示所请求的对象当前已被不同的用户锁定。注意:对于非对话工作进程(在批量输入中),稍后会再次发出锁定请求。SAP官方文档中对collisioncheck机制的描述:There......