Oracle数据库结构

表空间和数据文件

  1、表空间是一个数据库的磁盘逻辑空间。

  2、每个表空间由一个或多个数据文件组成。

  3、一个数据文件只能属于一个表空间。

  完成Oracle系统安装并创建Oracle实例后,Oracle系统会自动创建多个表空间和数据文件。

SELECT FILE_NAME, TABLESPACE_NAME, BYTES FROM DBA_DATA_FILES;

  

临时表空间和临时文件

  临时表空间是Oracle系统用于存放与排序有关的特殊表空间。当操作中需要排序时,Oracle系统会将排序的数据存放在改表空间中,排序完成后释放所占空间。

SELECT FILE_NAME, TABLESPACE_NAME, BYTES FROM DBA_TEMP_FILES;

  

存储结构

  Oracle创建数据文件时实际上是将磁盘的操作系统快重新格式化为Oracle数据块,并且每个数据块都有唯一标识。

  用户设计数据库结构时会将表、索引等存储到一个已存在的表空间上,表、索引等都是占用空间的对象,统称为段。段是由多个区间构成,区间是由多个连续的数据块构成。

控制文件

  控制文件是存储有Oracle实例、数据文件、日志文件信息的内部二进制文件。

  Oracle正常启动时,首先访问初始化参数文件SPFILE,然后为系统全局区(SGA)分配内存, 接下来Oracle会自动读出控制文件中所有的数据文件、日志文件的信息。

  Oracle出于安全考虑,在安装Oracle数据库或创建实例时,系统会自动创建多个控制文件,确保运行时一个控制文件损坏,系统仍能使用另一个控制文件而正常工作。

  查看V_$CONTROLFILE视图的结构

DESC V_$CONTROLFILE;

  

  查询控制文件的信息

SELECT NAME, STATUS FROM V_$CONTROLFILE;

  

日志文件

  重做日志文件

  该日志文件用来记录数据库所有发生过的事务(Transaction)信息,以及由Oracle内部行为引起的数据库变化信息。在数据库恢复时可以从该日志文件中读取发生过的事务的数据。数据库运行期间,当用户发出COMMIT命令时,数据库会将每个事务信息记录在日志文件中,写入日志文件成功后才将完成信息返回给用户。

  每个Oracle实例用一个日志线程来记录数据库的变化。日志线程由多个日志组构成,日志组由多个日志成员构成。

  Oracle实例运行时产生日志信息,首先被记录在系统全局区(SGA)的日志缓冲区中,当发出COMMIT命令时,LGWR进程将日志信息从日志缓冲区读出并写入到日志文件组序列号最小的文件中,一个日志组写满后写下一个日志组。当LGWR进程将所有能用的日志文件都是用过后,又回到第一个日志组重新覆盖写日志信息。当LGWR写满一个日志组去写另一个日志组时称为日志切换,日志切换时会在警告日志文件(alter_sid.log)中记录相应信息。

时间: 2024-08-01 09:20:27

Oracle数据库结构的相关文章

oracle数据库结构及基本操作

本篇博客主讲oracle数据库的基本操作,作为目前世界上使用范围最广的数据库管理系统,充分体现出其功能的强大和可靠.首先,oracle数据库结构是我们必须了解的,有助于掌握oracle数据库操作. 系统简介 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一. 如图所示:SGA---为数据库提供服务PGA---为用户提供服务整个系统主要分为两大部分:(一)实例-管理端

菜鸟学sql,Oracle数据库结构比较

转载自:http://www.cnblogs.com/tianqing/archive/2008/06/25/1229419.html 做oracle下数据库结构比较,比较具体详细差异,例如:2个库具体有那些表不同,不同在什么地方,主键.长度.类型......,要求是用一句sql实现,对于我这个sql菜鸟来说,的确是个挑战.好在有个SQL Server例子可以借鉴.先贴一下oracle下的sql --------------------------------------------------

pl/sql developer中如何导出oracle数据库结构? 参考文章一

本文作者来自csdn的xieyuooo地址为 : http://bbs.csdn.net/topics/340209135 进入PL/SQL后,使用如下图所示的操作步骤: 然后会弹出一个窗口,在弹出窗口操作如下,操作后就O了:

oracle学习入门系列之五 内存结构、数据库结构、进程

oracle学习入门系列之五 内存结构.数据库结构.进程 上篇蛤蟆简单描述了oracle公司的数据库产品.其他产品及oracle软件的一些特点.干货虽有但是真心是比较少的,这篇开始就是以干货为主,其中夹杂一些扯淡的事情了.蛤蟆一直也在想如何能生动的通过这干巴巴的文字来描述着世界级的软件,太理论大家都看不下去,太实践又缺乏深度.想想自己上大学那会,老师的讲课,无不枯燥乏味啊,满满的兴趣尽是消耗殆尽.所以不能仿效之,我们得走自己特色的路.以最易懂的形式.比喻等手段描述深奥的计算机知识.走起~ 开篇问

[转]oracle学习入门系列之五内存结构、数据库结构、进程

原文地址:http://www.2cto.com/database/201505/399285.html 1 Oracle数据库结构 关于这个话题,网上一搜绝对一大把,更别提书籍上出现的了,还有很多大师们的讲稿.但是我们不去管那些,按照我们自己节奏记出特性.记出精彩来. 首先插入本系列第一张图片,图一(绝对来自官网),看蛤蟆对于图片使用是多么小心的,如果大伙对这个图已有自己独到的理解,那么可直接跳过本篇笔记吧,当然温故而知新也未尝不可,知耻而后勇….额,而来知耻? 1.1 总体结构 这个图1从总

P6 EPPM手动安装指南(Oracle数据库)(一)

P6 EPPM手动安装指南(Oracle数据库) P6 EPPM Manual Installation Guide (Oracle Database) 1.      内容... 1 1.1.         Oracle数据库手动配置的概述... 1 1.1.1.            Oracle数据库安装... 2 1.1.1.1.           创建数据库结构甲骨文和加载应用程序数据... 2 1.1.1.1.1.            创建P6 EPPM为Oracle数据库结构

ORACLE数据库存储结构

一.数据块 Oracle对数据库数据文件中的存储空间进行管理的单位是数据块.数据块是数据库中最小的(逻辑)数据单位,是最小的I/O单位.与数据块对应的,所有数据在操作系统级的最小物理存储单位是字节.每种操作系统都有一个被称为块容量的参数.Oracle每次获取数据时,总是访问整个数据块,而不是按照操作系统块的容量访问数据.数据块容量应该设为操作系统块容量的整数倍,以便减少不必要的I/O操作,一般数据块大小为8k. 结构: 头部:(1)块的物理地址 (2)块的段信息.表空间信息 (3) 事物槽 (4

Oracle数据库的结构

Oracle数据库的体系结构包括四个方面:数据库的物理结构.逻辑结构.内存结构及进程. 1. 物理结构 物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括: 数据文件(Data File) 数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf . 日志文件(Redo Log File) 日志文件用于记录数据库所做的全部变更(如增加.删除.修改).以便在系统发生故障时,用它对数据库进行恢复.名字通常为L

从oracle数据库导出数据(表结构,表数据,视图,存储过程,序列)

package com.ahzysoft.export; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java