首頁 資料庫 mysql教程 Oracle 11g 的 逻辑存储结构和物理存储结构

Oracle 11g 的 逻辑存储结构和物理存储结构

Jun 07, 2016 pm 05:04 PM

逻辑存储结构 在操作系统中无法找到逻辑存储结构所对应的文件,但通过查询Oracle数据库的数据字典,可以找到逻辑存储结

逻辑存储结构

        在操作系统中无法找到逻辑存储结构所对应的文件,但通过查询Oracle数据库的数据字典,可以找到逻辑存储结构的描述。

        逻辑存储结构包括表空间,段,区,块。简单的说,逻辑存储结构之间的关系是:多个块组成区,多个区组成段,多个段组成表空间,多个表空间组成逻辑数据库。

        一个区只能在一个数据文件中,一个段中的各个区可以分别在多个数据文件中。组成区的块是连续的。由于逻辑的块对应磁盘空间中某个固定大小的尺寸(一般为操作系统数据库的整数倍),所以逻辑存储结构也是有大小的。

一、 表空间(tablespace) 

下面的表格显示的是oracle11g自动创建的表空间名称及其说明

名称

分类

说明

EXAMPLE

非系统表空间

示例表空间,存放示例数据库的方案对象信息及其培训资料

SYSAUX

系统表空间

辅助系统表空间,用于减少system表空间的负荷,提高系统的工作效率。是oracle 10g新增加的表空间

SYSTEM

系统表空间

系统表空间,存放关于表空间名称、控制文件、数据文件等管理信息,存放着方案对象(如表,索引,同义词,序列)的定义信息,存放着所有pl/sql 程序(如过程,函数,包,触发器)的源代码,是oracle数据库中最重要的表空间。它属于SYS和SYSTEM方案,仅被SYS和SYSTEM或其他具有足够权限的用户使用。即使是SYS 和SYSTEM用户也不能删除或重命名该空间。他是用户的默认表空间,即当用户在创建一个对象时,如果没有指定特定的表空间,该对象的数据也会被保存在SYSTEM表空间中。

TEMP

系统表空间

临时表空间,存放临时表和临时数据,用于排序。每个数据库都应该有一个(或创建一个)临时表空间,以便在创建用户时将其分配给用户,否则就会将TEMP表空间作为临时表空间。

UNDOTBS1

非系统表空间

重做表空间,存放数据库的有关重做的相关信息和数据

USERS

非系统表空间

用户表空间,存放永久性的用户对象的数据和私有信息,因此也被称为数据表空间。每个数据库都应该有一个(或创建一个)用户表空间,以便在创建用户时将其分配给用户,否则将会使用SYSTEM表空间来保存数据,而这种做法是不好的。一般讲,系统用户使用SYSTEM表空间,而非系统用户使用USERS表空间

 

二、 段(segment)(这块儿没有详细记录)

        段用于存储表空间中某一种特定的、具有独立存储结构的数据库对象的数据,它有一个或多个连续的区组成。当创建表、索引、簇等对象时,oracle就会为这些对象分配存储空间(即段),以便存储它们的数据。按照段中所存储的数据的特征、用途不同,可以分为以下几种:

段类型

名称

段类型

名称

Index partition

索引分区段

Deferred rollback

延迟回退段

Table partition

表分区段

Undo

撤销段(还原段)

Table

表段(数据段)

Temporary

临时段

Cluster

簇段

Cache

高速缓存段

Index

索引段

Lob

二进制大对象段

Rollback

回退段

Lobindex

二进制大对象索引段

        段随着存储数据的增加而逐渐变大。段的增大过程是通过增加区得个数而实现的(每次增加一个区)。每个区的大小事块得整数倍。

三、 区(extent)

        区是由物理上连续存放的块所组成的。区 是oracle存储分配的最小单位。一个或多个块组成区,一个或多个区组成段。一个区只能属于一个数据文件。

        当在数据库中创建带有实际存储结构的方案对象时(如表、索引),oracle将为方案对象分配若干个区(视该方案的初始大小而定),以便组成一个对应的段,来为该方案对象提供初始的存储空间。当段中已分配的区都写满,oracle就要在该方案对象所在的表空间中为该段分配下一个新的空白区,以便容纳更多的数据。 

四、 块(block)

        块是最小的数据管理单位,即oracle的所有存储的i/o操作都是以块为单位的。相对应的,操作系统执行i/o操作的最小单位是操作系统块。块得大小是操作系统块得大小的整数倍。

        块得大小是一个表空间的属性。SYSTEM和SYSAUX表空间具有相同的、标准的块大小,这个大小是在创建数据库时(会同时创建这两个表空间)由DB_BLOCK_SIZE初始化参数指定的,但在创建数据库之后这个参数值不能改变。

物理存储结构

        物理存储结构是实际的数据存储单元,对应于操作系统文件,比逻辑存储结构更易理解。oracle数据库就是由驻留在服务器的磁盘上的这些操作系统文件组成的。这些文件有控制文件,数据文件和重做日志文件。

        与oracle数据库有关,但从技术上说不属于oracle数据库的附属文件有密码文件(PWD.ORA),参数文件(SPFILE.ORA),归档重做日志文件。

        物理存储结构与逻辑存储结构之间在操作上的一个区别是,逻辑存储结构只有创建、删除的操作,而物理存储结构除了创建、删除之外,还有一个重要的、将其移动到另外一个位置(包括改变其名称)的操作,这样就可以实现多路复用(控制文件、中作日志文件)和将它们安排到不同磁盘位置、更换名称的功能了。

一、 控制文件

        控制文件是一个很小的(通常是数据库中最小的)文件,大小一般在1~5M左右,为二进制文件。但它是数据库中的关键性文件,它对数据库的成功启动和正常运行都是至关重要的,因为它存储了在其他地方无法获得的关键信息,这些信息包括:

        1、数据库的名称

        2、数据文件和重做日志文件的名称、位置、联机\脱机状态和大小

        3、发生磁盘故障或用户错误时,用于恢复数据库的信息(日志序列号,检查点)

        在数据库的运行过程中,每当出现数据库检查点或修改数据库的结构之后,oracle(只能有oracle本身)就会修改控制文件的内容。DBA可以通过OEM工具修改控制文件中的部分内容,但DBA和用户都不应该认为的修改控制文件中的内容,否则会破坏控制文件。

二、 数据文件

        数据文件是实际存储插入到数据库中的实际数据的操作系统文件。数据以一种oracle特有的格式被写入到数据文件,其他程序无法读取数据文件中的数据。

        数据文件的大小与他们所存储的数据量的大小直接相关。写入数据后会由于自动分配新区而增大,但删除数据却不会使其减少,而只能使得其中有更多的空闲区。

        除了SYSTEM表空间之外,任何表空间都可以有联机状态切换为脱机状态。当表空间进入脱机状态时,组成该表空间的数据文件也就进入脱机状态了。可以将表空间的某一个数据文件单独的设置为脱机状态,以便进行数据库的备份或恢复,否则是不能备份的。

三、 重做日志文件

        当用户对数据库进行修改的时候,实际上是先修改内存中的数据,过一段时间后,再集中将被村中的修改结果成批的写入到上面的数据文件中。oracle采取这样的做法,主要是出于性能上的考虑,因为针对数据操作而言,内存的速度比硬盘的速度要快成千上万倍。

        oracle利用“(联机)重做日志文件”随时保存修改结果,即oracle随时将内存中的修改结果保存到“重做日志文件”中。“随时”表示在将修改结果写入到数据文件之前,可能已经分几次写入到“重做日志文件”。因此,即使发生故障导致数据库崩溃,,oracle也可以利用重做日志文件中的信息来恢复丢失的数据。只要某项操作的重做信息没有丢失,就可以利用这些重做信息来重现该操作。

        oracle是以循环方式来使用重做日志文件的,所以每个数据库至少需要两个重做日志文件。当第一个重做日志文件被写满后,后台进程LGWR(日志写进程)开始写入第二个重做日志文件;当第二个重做日志文件被写满后,又始写入第二个重做日志文件,以此类推。 

四、 其他文件(这块儿没仔细看)

        其他文件包括参数文件、口令文件、归档重做日志文件、预警和跟踪文件等。

linux

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
MySQL的角色:Web應用程序中的數據庫 MySQL的角色:Web應用程序中的數據庫 Apr 17, 2025 am 12:23 AM

MySQL在Web應用中的主要作用是存儲和管理數據。 1.MySQL高效處理用戶信息、產品目錄和交易記錄等數據。 2.通過SQL查詢,開發者能從數據庫提取信息生成動態內容。 3.MySQL基於客戶端-服務器模型工作,確保查詢速度可接受。

說明InnoDB重做日誌和撤消日誌的作用。 說明InnoDB重做日誌和撤消日誌的作用。 Apr 15, 2025 am 12:16 AM

InnoDB使用redologs和undologs確保數據一致性和可靠性。 1.redologs記錄數據頁修改,確保崩潰恢復和事務持久性。 2.undologs記錄數據原始值,支持事務回滾和MVCC。

MySQL:世界上最受歡迎的數據庫的簡介 MySQL:世界上最受歡迎的數據庫的簡介 Apr 12, 2025 am 12:18 AM

MySQL是一種開源的關係型數據庫管理系統,主要用於快速、可靠地存儲和檢索數據。其工作原理包括客戶端請求、查詢解析、執行查詢和返回結果。使用示例包括創建表、插入和查詢數據,以及高級功能如JOIN操作。常見錯誤涉及SQL語法、數據類型和權限問題,優化建議包括使用索引、優化查詢和分錶分區。

MySQL的位置:數據庫和編程 MySQL的位置:數據庫和編程 Apr 13, 2025 am 12:18 AM

MySQL在數據庫和編程中的地位非常重要,它是一個開源的關係型數據庫管理系統,廣泛應用於各種應用場景。 1)MySQL提供高效的數據存儲、組織和檢索功能,支持Web、移動和企業級系統。 2)它使用客戶端-服務器架構,支持多種存儲引擎和索引優化。 3)基本用法包括創建表和插入數據,高級用法涉及多表JOIN和復雜查詢。 4)常見問題如SQL語法錯誤和性能問題可以通過EXPLAIN命令和慢查詢日誌調試。 5)性能優化方法包括合理使用索引、優化查詢和使用緩存,最佳實踐包括使用事務和PreparedStatemen

為什麼要使用mysql?利益和優勢 為什麼要使用mysql?利益和優勢 Apr 12, 2025 am 12:17 AM

選擇MySQL的原因是其性能、可靠性、易用性和社區支持。 1.MySQL提供高效的數據存儲和檢索功能,支持多種數據類型和高級查詢操作。 2.採用客戶端-服務器架構和多種存儲引擎,支持事務和查詢優化。 3.易於使用,支持多種操作系統和編程語言。 4.擁有強大的社區支持,提供豐富的資源和解決方案。

MySQL與其他編程語言:一種比較 MySQL與其他編程語言:一種比較 Apr 19, 2025 am 12:22 AM

MySQL与其他编程语言相比,主要用于存储和管理数据,而其他语言如Python、Java、C 则用于逻辑处理和应用开发。MySQL以其高性能、可扩展性和跨平台支持著称,适合数据管理需求,而其他语言在各自领域如数据分析、企业应用和系统编程中各有优势。

MySQL:從小型企業到大型企業 MySQL:從小型企業到大型企業 Apr 13, 2025 am 12:17 AM

MySQL適合小型和大型企業。 1)小型企業可使用MySQL進行基本數據管理,如存儲客戶信息。 2)大型企業可利用MySQL處理海量數據和復雜業務邏輯,優化查詢性能和事務處理。

MySQL索引基數如何影響查詢性能? MySQL索引基數如何影響查詢性能? Apr 14, 2025 am 12:18 AM

MySQL索引基数对查询性能有显著影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

See all articles