搜尋
首頁資料庫mysql教程初识Oracle表空间与数据文件

初识Oracle表空间与数据文件,描述oracle数据库的逻辑结构,创建表空间,改变表空间大小,为临时段分配空间,改变表空间状态,改

学习目标

1.描述Oracle数据库的逻辑结构
2.创建表空间
3.改变表空间大小
4.为临时段分配空间
5.改变表空间状态
6.改变表空间的存储设置

首先看一下oracle存储结构:

1.oracle数据库逻辑结构包含哪些东西?

1)表空间
    a.一个Oracle数据库逻辑上分为更小的逻辑区域叫做表空间
    b.一个表空间同时只属于一个数据库
    c.每个表空间由一个或多个系统文件组成,叫做数据文件datafile
    d.一个表空间可以有1个或多个段组成
    e.当数据库运行时表空间可以是online状态
    f.除了SYSTEM表空间或者带有活动回滚段的表空间,其他表空间可以设置为offline状态
    g.表空间可以再读写(read-write)和只读(read-only)状态间切换

2)段
    a.一个段是在一个表空间中为指定的逻辑存数结构分配的空间。例如,分配给一个表的所有存储就是一个段。
    b.一个段只能属于一个表空间,可以跨越多个数据文件
    c.一个段由一个或多个区组成

3)区
    a.随着段的增长,额外的区将分配给段
    b.DBA可以为段手动增加区
    c.一个区是连续的oracle块集合
    d.一个区只能在一个数据文件中存在

4)块
    a.块作为oracle数据库最小的存储单位,数据全部存储在数据块中。
    b.一个oracle数据块相当于一个或多个从已存在的数据文件中分配的操作系统块
    c.一个标准数据块的大小由数据库创建时的初始化参数DB_BLOCK_SIZE指定
    d.为避免不必要的I/O,数据块的大小应该是操作系统块大小的几倍
    e.最大的数据块大小取决于操作系统

2.系统表空间与非系统表空间的区别?

1)系统表空间 system tablespaces:
    a.随着数据库的创建而创建
    b.在所有数据库中必须存在
    c.系统表空间包含数据字典,存储程序单元
    e.包含系统回滚段
    f.最好不要包含用户数据

2)非系统表空间 non-system tablespaces:
    a.分离回滚段、临时段、应用数据段和应用索引段
    b.通过备份需求分离数据
    c.分离动态和静态数据
    e.控制用户对象空间分配的数量
    f.方便数据库管理

3.如何创建表空间?
使用create tablespace语句,一下是官方示例:

CREATE TABLESPACE userdata
    DATAFILE '/u01/oradata/userdata01.dbf' SIZE 100M
   AUTOEXTEND ON NEXT 5M MAXSIZE 200M;

CREATE TABLESPACE tablespace
 [DATAFILE clause]
 [MINIMUM EXTENT integer[K|M]]
 [BLOCKSIZE integer [K]]
 [LOGGING|NOLOGGING]
 [DEFAULT storage_clause ]
 [ONLINE|OFFLINE]
 [PERMANENT|TEMPORARY]

MINIMUM EXTENT 指定最小区大小,,使用K(千兆)或M(兆)
LOGGING  默认值,指定表空间中对所有表,索引和分区修改写入到redo中
NOLOGGING 与LOGGING相反
ONLINE与OFFLINE 创建完表空间后是否立即可用
PERMANENT 指定表空间可用来保留永久对象
TEMPORARY 指定表空间只能来保留临时对象
AUTOEXTEND 启用数据文件自动扩展

4.管理表空间的方式?
1)本地管理表空间
    a.用位图bitmap(在每个数据文件中维护)记录空闲区
    b.每个bit对应一个数据块
    c.bit值指示空闲和已使用
好处:减少数据字典表的争用;空间分配和回收不发生undo;没有合并需求(减少碎片);

用法举例:
CREATE TABLESPACE userdata
  DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;

[ EXTENT MANAGEMENT
    [ DICTIONARY | LOCAL
  [ AUTOALLOCATE | UNIFORM [SIZE integer[K|M]] ] ] ]

LOCAL和DICTIONARY 就不解释了。
AUTOALLOCATE 指定表空间由系统管理,用户不能指定区大小
UNIFORM 指定表空间由同一的区大小管理。使用K或M指定大小。

2)数据字典管理表空间
    a.默认管理方法
    b.空闲区被记录在数据字典表中

CREATE TABLESPACE userdata
  DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
  EXTENT MANAGEMENT DICTIONARY
   DEFAULT STORAGE ( initial 1M NEXT 1M );

5.undo表空间
1)undo表空间只能用来存储回滚段
2)创建undo表空间只能使用DATAFILE和EXTENT MANAGEMENT语句
CREATE UNDO TABLESPACE undo1
  DATAFILE '/u01/oradata/undo101.dbf' SIZE 40M;

6.temporary表空间
1)用来进行排序操作 SORT_AREA_SIZE(用来设置排序区的大小)
2)不能包含任何永久对象
3)推荐使用本地管理
CREATE TEMPORARY TABLESPACE temp
  TEMPFILE '/u01/oradata/temp01.dbf' SIZE 500M
  EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M;

4)本地管理临时表空间有临时数据文件tempfiles:
    a.临时文件一直是NOLOGGING模式
    b.不能设置临时文件为只读read-only
    c.不能重命名一个临时文件
    d.不能使用ALTER DATABASE命令增加临时文件
    e.临时文件对于只读数据库是需要的
    f.介质恢复不恢复临时文件
    g.备份控制文件时不生成任何临时文件的信息
    h.创建控制文件时不能指定任何关于临时文件的信息

7.默认default临时表空间
1)避免使用SYSTEM表空间存储临时数据
2)可以使用CREATE DATABASE和ALTER DATABASE语句创建
3)当使用CREATE DATABSE命令创建,默认临时表空间为本地管理

默认临时表空间的限制:
    a.没有指定新的默认临时表空间之前不能删除现有默认临时表空间
    b.不能更改默认临时表空间为永久类型
    c.不能修改默认临时表空间为offline状态
注:SYSTEM表空间、带有活动回滚段和默认临时表空间不能设置为离线状态

linux

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
深入理解MySQL索引优化器工作原理深入理解MySQL索引优化器工作原理Nov 09, 2022 pm 02:05 PM

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于索引优化器工作原理的相关内容,其中包括了MySQL Server的组成,MySQL优化器选择索引额原理以及SQL成本分析,最后通过 select 查询总结整个查询过程,下面一起来看一下,希望对大家有帮助。

sybase是什么数据库sybase是什么数据库Sep 22, 2021 am 11:39 AM

sybase是基于客户/服务器体系结构的数据库,是一个开放的、高性能的、可编程的数据库,可使用事件驱动的触发器、多线索化等来提高性能。

visual foxpro数据库文件是什么visual foxpro数据库文件是什么Jul 23, 2021 pm 04:53 PM

visual foxpro数据库文件是管理数据库对象的系统文件。在VFP中,用户数据是存放在“.DBF”表文件中;VFP的数据库文件(“.DBC”)中不存放用户数据,它只起将属于某一数据库的 数据库表与视图、连接、存储过程等关联起来的作用。

数据库系统的构成包括哪些数据库系统的构成包括哪些Jul 15, 2022 am 11:58 AM

数据库系统由4个部分构成:1、数据库,是指长期存储在计算机内的,有组织,可共享的数据的集合;2、硬件,是指构成计算机系统的各种物理设备,包括存储所需的外部设备;3、软件,包括操作系统、数据库管理系统及应用程序;4、人员,包括系统分析员和数据库设计人员、应用程序员(负责编写使用数据库的应用程序)、最终用户(利用接口或查询语言访问数据库)、数据库管理员(负责数据库的总体信息控制)。

microsoft sql server是什么软件microsoft sql server是什么软件Feb 28, 2023 pm 03:00 PM

microsoft sql server是Microsoft公司推出的关系型数据库管理系统,是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理,具有使用方便可伸缩性好与相关软件集成程度高等优点。SQL Server数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用和高性能的数据应用程序。

access数据库的结构层次是什么access数据库的结构层次是什么Aug 26, 2022 pm 04:45 PM

结构层次是“数据库→数据表→记录→字段”;字段构成记录,记录构成数据表,数据表构成了数据库。数据库是一个完整的数据的记录的整体,一个数据库包含0到N个表,一个表包含0到N个字段,记录是表中的行。

go语言可以写数据库么go语言可以写数据库么Jan 06, 2023 am 10:35 AM

go语言可以写数据库。Go语言和其他语言不同的地方是,Go官方没有提供数据库驱动,而是编写了开发数据库驱动的标准接口,开发者可以根据定义的接口来开发相应的数据库驱动;这样做的好处在于,只要是按照标准接口开发的代码,以后迁移数据库时,不需要做任何修改,极大方便了后期的架构调整。

mysql查询慢的因素除了索引,还有什么?mysql查询慢的因素除了索引,还有什么?Jul 19, 2022 pm 08:22 PM

mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会想到是因为索引。那除开索引之外,还有哪些因素会导致数据库查询变慢呢?

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),