oracle临时表经常被锁_【赵强老师】Oracle数据库的存储结构

667880a062812c921169f2f29f84752f.png

9336e54df18ed68af0ad5795c77b8914.png

Oracle的存储结构分为:物理存储结构和逻辑存储结构。

一、物理存储结构:指硬盘上存在的文件

  • 数据文件(data file)

一个数据库可以由多个数据文件组成的,数据文件是真正存放数据库数据的。一个数据文件就是一个操作系统文件。数据库的对象(表和索引)物理上是被存放在数据文件中的。当我们要查询一个表的数据的时候,如果该表的数据没有在内存中,那么oracle就要读取该表所在的数据文件,然后把数据存放到内存中。

通过下面的语句可以查看当前存在的数据文件和对应的表空间:

select file_name,tablespace_name from dba_data_files;

84d98a4753390f4332721871e629fa9f.png
  • 联机日志文件(online redo log file)

一个数据库可以有多个联机日志文件,联机日志文件包含了重做记录(undo records).联机日志文件记录了数据库的改变,例如当一次意外导致对数据的改变没有及时的写到数据文件中,那么oracle就会根据联机日志文件中 的信息获得这些改变,然后把这些改变写到数据文件中.这也是联机日志文件存在的意义.联机日志文件中重做记录的唯一功能就是用来做实例的恢复.比如,一次系统的意外掉电,导致内存中的数据没有被写到数据文件中.那么oralce就会根据联机日志文件中的重做记录功能包数据库恢复到失败前的状态.

可以通过下面的语句查看当前存在的日志文件和对应的日志组信息:

select member,group# from v$logfile;

25543639cc4c3321888dab47c5a52582.png

注意:Oracle使用日志组来管理日志文件。默认有三个日志组,每组中至少两个成员。如上图所示。

另外,我们已经知道了什么是数据文件和联机日志文件,通过下面的图解来说明他们之间的关系。

54eeaad47c05888b1e08734dbae1a5ff.png
  • 控制文件(control file)

一个数据库至少要有一个控制文件,控制文件中存放的数据库的"物理结构信息",正是因为他存放的是数据库的物理结构信息,所以他就显得尤其的重要.这些物理结构信息就包括:

  1. 数据库的名字。
  2. 数据文件和联机日志文件的名字及位置。
  3. 创建数据库时的时间戳。
  4. RMAN备份的元信息

为了更好的保护数据库,我们可以镜像控制文件.每个控制文件中的内容就是相同的.镜像了控制文件,即使其中的一个控制文件出现了问题,也不会影响到数据库的损坏,数据的丢失. 在启动数据库的时候,oracle就会根据控制文件中的数据文件和联机日志文件的信息来打开数据库.

可以通过下面的语句查看当前存在的控制文件。

select name from v$controlfile;

6f662f22db50b049107f26e3a5230126.png
  • 归档日志文件

是联机日志文件的副本,他记录了对数据库改变的历史。注意:Oracle默认是非归档模式,可以通过下面的语句查看

archive log list;

b2ff650e475510535a8ec5f214fa4118.png

通过下面的语句,将数据库切换到归档模式。

shutdown immediate
startup mount
alter database archivelog;
alter database open;
  • 参数文件

通常情况下指的就是初始化参数文件(initialization parameter file).参数文件包括了初始化参数文件和服务器端参数文件(server parameter file).在数据库启动的时候就会读取参数文件,然后根据参数文件中的参数来分配SGA并启动一系列的后台进程.参数文件中存放的是数据库和实例的参数.

Oracle的参数文件有两种类型:

  1. Spfile:二进制形式,9i之后
  2. Pfile:文本形式,9i之前

可以通过下面的语句查看当前的参数文件信息:

show parameter spfile

c4a446ed87e21bd83bf8fb7fac73559f.png

可以使用下面的方式将spfile转换为pfile:

create pfile='/home/oracle/pfile.ora' from spfile;

10fd71df7db2cc2bc9eec770106b6b28.png

查看pfile中的参数值:

1e47c3ac4fc8697ab5ce89323226dbdf.png

可以通过下面的语句修改参数的值。

alter system set open_cursors=400 scope=both;
注意:scope的取值有三个:memory、spfile、both
  • 告警日志文件

记录了数据库的重大活动和所发生的错误.警报文件按照时间的先后来记录所发生的重大活动和错误.警报文件的名字的格式是 alert_SID.log。警报文件的位置可以通过查询v$diag_info得到,如下:

select * from v$diag_info;

6328a849eaf954e154990adf3a84013b.png

注意:在12c以前的版本,告警日志的位置可以通过查询参数background_dump_dest得到。

告警日志文件中记录的信息,包括:

  1. 数据库启动和停止的信息
  2. 数据库的结构变化
  3. 强制审计的信息
  4. 死锁的信息
  • 跟踪文件

就是跟踪日志文件,每个服务器进程和后台进程都写跟踪文件.例如当后台进程发生了错误的时候,oracle就会把错误的信息写到跟踪文件中.DBA就可以根据跟踪文件的信息来查看进程中所发生的错误。

跟踪文件的位置跟告警日志文件,在同一个目录下:

select * from v$diag_info;

6328a849eaf954e154990adf3a84013b.png
  • 备份文件

就是在数据库发生介质损坏的时候用来还原(restore)数据库的,恢复(recover)数据的。

二、逻辑存储结构

从逻辑上来看,

  1. 数据库是由一个或者多个表空间等组成。
  2. 一个表空间(tablespace)由一组段组成
  3. 一个段(segment)由一组区组成
  4. 一个区(extent)由一批数据库块组成
  5. 一个数据库块(block)对应一个或多个物理块
  • Database(数据库)

数据库是按照数据结构来组织、存储和管理数据的仓库。

  • Tablespaces(表空间)

表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。表空间(tablespace)是最大的逻辑单位,对应一个或多个数据文件,通常由相关的段组成。表空间的大小是它所对应的数据文件大小的总和。所有的数据库对象都存放在指定的表空间中。但主要存放的对象是表, 所以称作表空间。

必须存在的表空间

  • system
  • sysaux
  • temp
  • undo

可选的表空间:一般指用户创建的用户表空间,比如:users

可以通过下面的语句查看当前数据库的表空间信息:

select tablespace_name from dba_tablespaces;

022f9e9d9bb7eae9596d00212601a600.png
  • Segments (段)

一个段是分配给一个逻辑结构(一个表、一个索引或其他对象)的一组区,是数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。

  • extents (区)

是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。第一个段是由一个或多个盘区组成。当一段中间所有空间已完全使用,oracle为该段分配一个新的范围。

  • Data Block (数据块)

是oralce 管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,最小的逻辑部件,其大小可不同于操作系统的标准I/O块大小。数据块的大小由DB_BLOCK_SIZE参数确定。块尺寸是处理Oracle更新、选择、或者插入数据事务的最小单位。当用户从表中选择数据时,选择操作从数据库文件中以块为单位读取或者提取数据。例如Oracle块的大小为8kb,即使只想检索4kb的字符的名字,也必须读取含有这4个字符的整个8kb的块。

通过下面的语句查看当前数据块设置的大小:

show parameter db_block_size

9eec152af69525c8c6efc363296680b0.png

9336e54df18ed68af0ad5795c77b8914.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532313.shtml

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

相关文章

php页面的循环输出数组,PHP抓取页面上的数组 并循环输出 急

PHP抓取页面上的数组 并循环输出 急 在线等我用file_get_contents()抓取了 这个网址上的内容http://simonfenci.sinaapp.com/index.php?keysimon&wd1314abc看似好像反回的是数组。。但是我不管怎么用foreach循环都报错。。我只想把数组中的word里面的值 取出来。。谁帮帮我…

h5 nan_手把手教你将H5游戏打包成快游戏

H5游戏可以通过快应用的web组件快速打包成快游戏,打包上架后的快游戏,只要原H5游戏的url不发生变动,快游戏就不需要做更新,维护工作量小。使用快应用IDE,打包快游戏的操作很简单。访问官网安装开发工具,在P…

php 构造函数 返回值,php构造函数与析构函数实例分析

本节内容:php构造函数与析构函数例子:复制代码 代码示例:class Person{public $name;public $age;public function __construct($name,$age){$this->name $name;$this->age $age;}function __destruct(){echo $this->name."销毁资源&…

平板电脑有什么用_除了盖泡面,平板电脑没什么用了

平板电脑似乎变成一个鸡肋,逐渐没有多少人买了。就算拥有,抱在怀里把玩的机会少了,躺在角落吃灰的时候多了。曾经,没有人能拒绝平板电脑的诱惑。有了平板,你仿佛跻身上流社会。不经意间拿出时的从容,打开皮…

java程序面向对象show,20165309 实验二 Java面向对象程序设计

2017-2018-2 20165309实验二《Java面向对象程序设计》实验报告一、实验内容1. 初步掌握单元测试和TDD2. 理解并掌握面向对象三要素:封装、继承、多态3. 初步掌握UML建模4. 熟悉S.O.L.I.D原则5. 了解设计模式二、实验步骤(一)单元测试1.三种代码:伪代码、…

php dom 丢失内容,PHP DOMDocument缺失

我在运行$dom new DOMDocument(“1.0”,“utf-8”)时遇到一个奇怪的错误:警告:require_once(classes / DOMDocument.class.php)[function.require-once]:无法打开流:第5行的/var/www/html/cms/bootstrap.php中没有这样的文件或目…

jade软件_TEM衍射斑点标定之DM软件

虽然透射电子显微镜(TEM) 能在纳米尺度上实现对待测样品形貌、 尺寸的分析; 结合选区电子衍射(SAED),可以更进一步实现对待测样品的晶体结构、 晶相组成的鉴定,从而提高样品分析的准确度和可靠性。可是,每个刚接触TEM的小白&#…

dorado 7 怎么样_一点点奶茶怎么样?消费者眼中的网红奶茶

最近在朋友圈, -款奶茶火速蹿红,不错,那正是近期疯传的网红奶茶一点点奶茶。一点点奶茶是-款主打台湾正宗波霸奶茶的茶饮品牌,而这样的奶茶在现在的市场中就表现的十分有潜力, 尤其受年轻群体的喜欢!一点点奶茶怎么样?它的崛起是无可厚非的,它那美丽的外形,别具-格的属性&…

Mysql 启动失败没日志,MySQL Server 5.7将无法启动,并且未填充错误日志

我最近在Ubuntu 14.04上安装了MySQL Server 5.7(通过ansible使用this role是具体的).首次安装时启动很好,但是当我尝试重新启动它时,它会永远挂起:sudo service mysql restart* Stopping MySQL Community Server 5.7.13* MySQL Community Server 5.7.13 is already …

gatewayproperties 是空_杨丞琳演唱会踩空,从二楼高台掉到一楼,手脚擦伤,引发网友热议...

11月6日,据台湾媒体报道,杨丞琳今晚在台北举办连续三天的演唱会,她开场在两层楼高的高台上唱歌,结束后意外从高台踩空掉到一楼,从二楼高台掉到一楼,手脚擦伤。引发网友们的热议。当时幸好身边有工作人员抱住…

0 179 90 150matlab,matlab成功的函数拟合方法_更新中

学习心得一维插值方案 (1)二维数据内插值(表格查找) (3)等高线 (4)三维曲面 (5)等高线2 (6)三维曲面2 (7)matlab绘制温度场(尚未深入研究) (12)二维曲线(非线性)拟合步骤 (17)三维曲线(非线性)拟合步骤 (18)三维曲线的画法 (19)三维曲面的画法 (20)一维插值方案clearyear 1900…

matlab中 %s 是什么意思,ie在matlab中是什么意思

MATLAB文件操作相关命令5.2.4 输入输出语句 (1) 实时交互输入输出 input;keyboard (2) 完全复制式的文件存取 *1) save save save 文件名 x save 文件名 x y z save 文件名 x y z –ascii save 文件名 x y z –ascii –double save 文件名 x …

mysql with as 用法_英语语法丨英语中just的用法总结,你掌握了吗?

just在英语中是一个重要的单词,它的使用方法很多样。今天,这篇文章可以帮你正确使用这个英语中的关键词!一、just作为时间表达1.Just Recently最近just常被用来表达,某事最近发生了。在现在完成时中,just可以用来表示…

检测php加密方式,一种php加密方式

function RandAbc($length""){//返回随机字符串$str"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";return str_shuffle($str);}$filenamedam.php;$T_k1RandAbc();//随机密匙1$T_k2RandAbc();//随机密匙2$vstrfile_get_contents($filename);//要…

easyx 备忘录_报到?上课?我被自己的备忘录骗到了

2020年6月的某一天小莔被一股神秘力量支配打开了手机里的备忘录突然发现了自己曾经记录下的一则消息小莔现在看到真的是回忆满满从一月到现在我们经历了许多变数看到了世间的温暖感受到了爱与希望其中遇到的一些感动我们可能会忘记就像我们成长的过程中也会经历很多要做许多事情…

基于matlab的ldpc编码的构造,基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)...

基于LDPC编码的GMSK调制与解调及matlab仿真实现(含录像)(开题报告,论文10700字,程序代码,录像)摘 要随着无线通信技术的不断发展与进步,数字电视广播、移动视频点播等对数据吞吐量要求很高的业务逐渐变得可能。为了在有限的带宽内用有限的发射功率保证信息在空间传播…

linux查看内存_嵌入式操作系统的内存,你了解多少?

关注、星标公众号,不错过精彩内容来源:EDN电子技术设计linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性。本文主要介绍 linux 内存组织结构和页面布局,内存碎片产生…

结构体内部申请空间_墙体的重要承重结构以及作用方向分类

内容提要:墙体是房屋的重要承重结构,墙体也是建筑物的主夏围护结构。其造价、工程量和自重往往是建筑物所有构件中所占份額最大的,因此在建筑设计中,合理地选择墙体的材料、结构方案、构造做法十分重要。墙体在建筑物中所处的不同…

现代php中文版,现代PHP

PrefacePart Ⅰ. Language Features1.The New PHPPastPresentFuture2.FeaturesNamespacesWhy We Use NamespacesDeclarationImport and AliasHelpful TipsCode to an InterfaceTraitsWhy We Use TraitsPrefacePart Ⅰ. Language Features1.The New PHPPastPresentFuture2.Featu…

fastcopy比正常复制快多少_高中三年,每个阶段考多少分才正常?快对比一下

原标题:高中三年,每个阶段考多少分才正常?快对比一下高一阶段众所周知,在高一阶段并没有文理科之分,除去英语、语文、数学,还有政、史、地、理、化、生六门课程。语数外各占150分,另外6门各占10…