热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle学习笔记(基本概念)-mysql教程

Oracle学习笔记(基本概念)物理结构数据文件、日志文件、控制文件、参数文件系统全局区(SystemGlobalArea)共享池、数据缓冲区、日志缓冲区进程用户进程、服务器进程、后台进程数据文件每一个数据文件只与一个数据库相联系。数据文件一旦被建

Oracle学习笔记(基本概念) 物理结构 数据文件、日志文件、控制文件、参数文件 系统全局区(System Global Area) 共享池、数据缓冲区、日志缓冲区 进 程 用户进程、服务器进程、后台进程 数据文件 每一个数据文件只与一个数据库相联系。 数据文件一旦被建

Oracle学习笔记(基本概念)

物理结构

数据文件、日志文件、控制文件、参数文件

系统全局区(System Global Area)

共享池、数据缓冲区、日志缓冲区

进 程

用户进程、服务器进程、后台进程

数据文件

• 每一个数据文件只与一个数据库相联系。

• 数据文件一旦被建立则不能修改其大小。

• 一个表空间可包含一个或多个数据文件。

日志文件

• 每一个数据库至少包含两个日志文件组。

• 日志文件组以循环方式进行写操作。

• 每一个日志文件成员对应一个物理文件。

日志开关(Log Switch)是为实现日志文件组的循环使用而设置的。出现日志开关的情况如下:

• 当一个日志文件组被填满时

• 关闭数据库时

• DBA手动转移日志开关

镜像日志文件是为防止日志文件的丢失,在不同磁盘上同时维护两个或多个联机日志文件的副本。

其特点如下:

• 每个日志文件组至少包含两个日志文件成员。

• 每组的成员数目相同。

• 同组的所有成员同时被修改。

• 同组的成员大小相同,不同组的成员大小可不同。

控制文件(Control File)是一个较小的二进制文件,用于描述数据库结构。

描述信息如下:

• 数据库建立的日期。

• 数据库名。

• 数据库中所有数据文件和日志文件的文件名及路径。

• 恢复数据库时所需的同步信息。

参数文件(Parameter File)是一个文本文件,可直接使用操作系统下的文本编辑器对其内容进行修改。该文件只在建立数据库或启动实例时才被访问,在修改该文件之前必须关闭实例。

初始参数文件:init.ora

生成参数文件:initSID.ora config.ora

参数文件的作用:

• 确定存储结构的大小。

• 设置数据库的全部缺省值。

• 设置数据库的范围。

• 设置数据库的各种物理属性。

• 优化数据库性能。

实例( INSTANCE )

是存取和控制数据库的软件机制,它由系统全局区(System Global Area,简称SGA)和后台进程组成。

SGA是ORACLE系统为实例分配的一组共享缓冲存储区,用于存放数据库数据和控制信息,以实现对数据库数据的管理和操作。

共享SQL区包括

• SQL或PL/SQL语句的文本

• SQL或PL/SQL语句的语法分析形式

• SQL或PL/SQL语句的执行方案

数据字典区用于存放数据字典信息行。

共享池(Shared Pool)由共享SQL区和数据字典区组成。参数SHARED_POOL_SIZE 确定共享池的大小。

数据缓冲存储区分为

• 脏列表

包括被修改过但尚未写到数据文件的缓冲块。

• LRU(Least Recently Used)列表

包括空闲缓冲块、正在存取的缓冲块、已被修改但尚未移到脏列表的缓冲块。

专用服务器方式为每个用户单独开设一个服务器进程。适用于实时系统。

不设置参数:

MTS_SERVICE

MTS_DISPATCHERS

MTS_SERVERS

MTS_LISTERNET_ADDRESS

多线索服务器方式通过调度器为每个用户进程分配服务器进程。设置参数:

MTS_SERVICE

MTS_DISPATCHERS

MTS_SERVERS

MTS_LISTERNET_ADDRESS

• MTS_SERVICE:服务器名,缺省值为DB_NAME

• MTS_DISPATCHERS:调度器个数

• MTS_SERVERS:可以启动的服务器进程的个数

• MTS_LISTERNET_ADDRESS:SQL*NET监听器地址

• MTS_MAX_SERVERS:服务器进程的最大数

主要的后台进程有

• DBWR 数据库写进程

• LGWR 日志写进程

• CKPT 检查点写进程

• SMON 系统监控进程

• PMON 进程监控进程

• ARCH 归档进程

• RECO 恢复进程

LCKn:封锁进程

DBWR(Data Base Writer)

将数据缓冲区中所有修改过的缓冲块数据写到数据文件中,并使用LRU算法来保持缓冲区中的数据块为最近经常使用的,以减少I/O次数。该进程在启动实例时自动启动。

DBWR进行写操作的情况:

• 脏列表达到最低限制。

相当于参数DB_BLOCK_WRITE_BATCH值的一半。

• 一个进程在LRU列表中扫描指定数目的缓冲块,未找到空闲缓冲块。

参数DB_BLOCK_MAX_SCAN_CNT确定扫描数目。

• 出现超时

3秒钟内该进程未活动,则该进程将在LRU列表中查找尚未查找的缓冲块,这组缓冲块的数目相当于参数DB_BLOCK_WRITE_BATCH值的2倍。

• 出现检查点。

LGWR进行写操作的情况:

• 用户进程提交一个事务(Commit)

• 日志缓冲区达到1/3范围

• DBWR对一个检查点需要清除缓冲块

• 出现超时(3秒钟内未活动,则进行一次写操作。)

检查点(Checkpoint)

在检查点出现期间,DBWR进程将数据缓冲区中的所有脏缓冲块写到数据文件中,LGWR进程将日志缓冲区中的所有记录项写到日志文件中,以确保上一个检查点至今修改过的所有数据块都被写到磁盘上。

• 预定数目的记录项被填满。

参数LOG_CHECKPOINT_INTERVAL确定了预定数目。

• 设置指定的秒数。

参数LOG_CHECKPOINT_TIMEOUT确定了间隔秒数。

• 每个日志开关处

• 关闭实例时

• DBA手动操作。

• 表空间离线。

ARCH(Archiver)

在日志文件组出现切换时,将旧日志文件的内容拷贝到脱机存储介质上,出现介质失败时用于恢复数据。

• LOG_ARCHIVE_START

确定了该进程的启动/不启动状态。

• LOG_ARCHIVE_DEST

当数据库在归档模式下操作时,该参数确定了日志文件的归档目标。

• LOG_ARCHIVE_FORMAT

当数据库在归档模式下操作时,该参数确定了归档日志文件的缺省文件名格式。

SMON(System Monitor)

负责完成自动实例恢复。该进程在启动实例时自动启动。

PMON(Process Monitor)

撤消异常中断的用户进程,并释放该进程已获得的系统资源或锁。

RECO(Recover)

在分布式操作的情况下,恢复一个事务的失败。

LCKn(Lock)

在并行服务器系统间加锁,最多可加10个锁,分别为LCK0,LCK1,¼,LCK9。

处理SQL语句的三个阶段

• 语法分析

• 执行

• 返回指令

ORACLE的逻辑结构是由一个或多个表空间组成。

• 一个表空间由一组分类段组成

• 一个段由一组范围组成

• 一个范围由一批数据库块组成

• 一个数据库块对应一个或多个物理块

数据库块(Database Block)是数据库使用的I/O最小单元,又称逻辑块或ORACLE块。

一个数据库块对应一个或多个物理块,块的大小由参数DB_BLOCK_SIZE确定。

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 计算机网络复习:第五章 网络层控制平面
    本文探讨了网络层的控制平面,包括转发和路由选择的基本原理。转发在数据平面上实现,通过配置路由器中的转发表完成;而路由选择则在控制平面上进行,涉及路由器中路由表的配置与更新。此外,文章还介绍了ICMP协议、两种控制平面的实现方法、路由选择算法及其分类等内容。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
author-avatar
影子张被占用
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有