10-管理表空间和数据文件
数据库存储设置与管理
• 创建一个永久性的表空间HRTBS4,区定制
分配,段采用手动管理方式。
– CREATE TABLESPACE HRTBS4 DATAFILE
– 'D:\APP\ADMINISTRATOR\ORADATA\HUMAN_RESOURCE\
– HRTBS4_1.DBF' SIZE 50M
– EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K
• Oracle数据库物理存储结构
精品课件
4
• 数据文件:用于存储数据库中的所有数据; • 控制文件:用于记录和描述数据库的物理存储
结构信息; • 重做日志文件:用于记录外部程序对数据库的
改变操作; • 归档文件:用于保存已经写满的重做日志文件; • 初始化参数文件:用于设置数据库启动时的参
数初始值; • 跟踪文件:用于记录用户进程、数据库后台进
– INDEX01.DBF' SIZE 50M;
精品课件
13
创建大文件表空间
• 一个大文件表空间只包含一个数据文件, 该数据文件可以包含4G(232)个数据块。
• 通过查询数据字典DATABASE_PROPERTIES中 数据库的属性DEFAULT_TBS_TYPE,可以知 道数据库默认创建的是小文件表空间还是 大文件表空间。
精品课件
14
• 创建一个大文件表空间,文件大小为1G,区 的分配采用定制方式。
– CREATE BIGFILE TABLESPACE big_tbs DATAFILE – 'D:\APP\ADMINISTRATOR\ORADATA\ORCL\big01.dbf' – SIZE 1G UNIFORM SIZE 512K;
ORACLE控制文件-redolog和数据文件的总结
控制文件:解决版本问题命令,用高版本覆盖低版本ORA-00214: control file '/u01/oracle/oradata/orcl/control01.ctl' version 781 inconsistent with file '/u01/oracle/oradata/orcl/control02.ctl' version 779SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control02.ctlSQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control03.ctl;SQL> alter database mount;控制文件应控制在100M之内,如果超过100M一般通过重建来减少。
控制文件备份:归档模式:SQL> alter database backup controlfile to '/u01/oracle/control2012.bak';任意模式下:SQL> alter database backup controlfile to trace as '/u01/oracle/backctl.txt';rman备份:SQL> ho rman target /RMAN> backup current controlfile或者这样:RMAN> backup database include current controlfile;或者把rman自动备份控制文件打开RMAN> CONFIGURE CONTROLFILE AUTOBACKUP On控制文件的恢复:控制文件应有多份,放在不同的硬盘上版本不一致问题:1.拷贝版本高的来覆盖版本低的ORA-00214: control file '/u01/oracle/oradata/orcl/control01.ctl' version 781 inconsistent with file '/u01/oracle/oradata/orcl/control02.ctl' version 779SQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control02.ctlSQL> ho cp /u01/oracle/oradata/orcl/control01.ctl /u01/oracle/oradata/orcl/control03.ctl;SQL> alter database mount;2.或者修改初始参数中的参数文件个数(不推荐使用)控制文件丢失:修改隐藏参数,不验证一致性alter system set "_allow_resetlogs_corruption"=true scope=spfile重做日志管理:1.组成员要分散,磁盘IO要快2.日志文件大小分配要合理保证每个组的切换时间应该不小于20分钟左右切换日志:Alter system switch logfile;添加日志组:alter database add logfile group 4 '/u01/oracle/oradata/orcl/redo04.log' size 50m; 下次切换日志会优先使用此文件其中group 4 可以省略不写,系统会自动分配添加有多个成员的组:alter database add logfile ('/u01/oracle/oradata/orcl/redo06.log','/u01/oracle/oradata/orcl/redo6.log') size 50m;往已经有的组里添加成员:alter database add logfile member '/u01/oracle/oradata/orcl/redo4.log' to group 4; 大小默认是组内已有成员的大小。
Oracle Storage
一、基本的Oracle存储结构:表空间与数据文件Oracle数据库中具有两种类型的存储:物理存储和逻辑存储。
上面的Oracle存储结构模型中,可以看出下列要素:∙每个数据库(Database)都必须由一个或多个表空间(Tablespace)组成。
每个表空间都必须属于并且只属于一个数据库。
∙每个表空间都必须由一个或多个数据文件(Datafile)组成。
每个数据文件都必须属于并且只属于一个表空间。
∙每个数据文件都必须由一个或多个操作系统块(Operation System Block)组成。
每个操作系统块都必须属于并且只属于一个数据文件。
∙每个表空间都可以包含一个或多个段(Segment)。
每个段都必须存在并且只能存在于一个表空间内。
∙每个段都必须由一个或多个区间(Extent)组成。
每个区间都必须属于并且只属于一个段。
∙每个区间都必须由一个或多个Oracle数据块(Oracle Block)组成。
每个Oracle 数据块都必须属于并且只属于一个区间。
∙每个区间都必须被定位并且只能定位在一个数据文件内。
数据文件中的空间可以被分配为一个或多个区间。
∙每个Oracle数据块都必须由一个或多个操作系统块组成。
每个操作系统块都可以是并且只能是一个Oracle数据块的部分。
1、物理存储结构物理结构是操作系统操作Oracle数据库时能够看见的结构。
1.1、Oracle数据文件数据文件由下列3部分组成:头部、区间(已分配的空间)以及空闲空间(未分配的空间)。
oracle16数据文件的头部(Header)将其标识为数据库的一部分,并且存储了该数据文件的细节,细节包括数据文件所属的表空间以及最后执行的检查点。
这样,Oracle就能够在启动时检查所有相关文件是否同步。
数据文件的剩余部分由区间和空闲空间组成,通过创建、删除和更改Oracle的段(Segment)逻辑存储组件就可以对这些剩余部分进行管理。
每个Oracle数据文件都只属于一个表空间。
Oracle 11g表空间——创建和扩展(永久)表空间
Oracle 11g表空间——创建和扩展(永久)表空间本文内容创建(永久)表空间查看表空间扩展表空间创建(永久)表空间Oracle 按照区和段空间进行管理表空间。
区管理方式 - 针对区的分配方式的不同,有两种方式:字典管理方式(dictionary-managed tablespace,DMT)和本地管理方式(local-managed tablespace,LMT)。
Oracle 10g 开始强烈建议使用 LMT 方式。
从 Oracle 9i 开始,创建表空间时默认使用 LMT。
其中,LMT 区的分配方式:统一(UNIFORM)- 统一分配。
指定表空间中所有区的大小都相同。
默认值是 1MB。
自动(AUTOALLOCATE 或 SYSTEM)- 自动分配。
指定有 Oracle 系统来自动管理区的大小。
这是默认设置。
段管理方式– LMT 方式,除了可以指定区的分配方式外,还可以指定段的管理方式。
段空间管理方式主要是指 Oracle 用来管理段中已用数据块和空闲数据块的机制。
分为两种:手动(MANUAL)- Oracle 将使用空闲列表(free list)管理段的已用数据块和空闲数据块。
这是传统的段空间管理方式,为了与以前的版本兼容。
自动(AUTO)- Oracle 将使用位图(bitmap)来管理段的已用数据块和空闲数据块。
通过位图中单元的取值判断段中的数据块是否可用。
字典管理方式没有段管理。
下面示例演示用本地管理方式创建表空间。
这是 Oracle 推荐的方式。
示例 1:使用 AUTOALLOCATE 区分配方式。
创建表空间 mytbs01,数据文件是D:\oracledata\mytbs01_1.dbf,大小为 2M,并指定区分配方式为 AUTOALLOCATE。
create tablespace mytbs01datafile 'D:\oracledata\mytbs01_1.dbf' size 2Mautoallocate;示例 2:使用 UNIFORM 区分配方式。
TOC
xi
审计类别 18-6 数据库审计 18-8 审计选项 18-10 获取审计信息 18-12 获取审计记录信息 18-13 小结 18-14 练习 18 概览 18-15
19 将数据加载到数据库中 目标 19-2 数据加载方法 19-3 直接加载 19-4 串行直接加载 19-6 并行直接加载 19-7 SQL*Loader 19-9 使用 SQL*Loader 19-11 SQL*Loader 控制文件 19-13 与控制文件的语法有关的注意事项 19-17 输入数据和数据文件 19-18 逻辑记录 19-22 加载方法 19-23 直接路径加载和常规路径加载的比较 19-26 并行直接路径加载 19-28 数据转换 19-29 被废弃或拒绝的记录 19-30 日志文件的内容 19-34 SQL*Loader 原则 19-36 小结 19-37 练习 19 概览 19-38
9 存储结构和关系 目标 9-2 存储和关系结构 9-3 段类型 9-4 存储子句优先级 9-8 区的分配与回收 9-9 已用区和空闲区 9-10 数据库块 9-11 多种块大小支持 9-12 标准块大小 9-13 非标准块大小 9-14 创建非标准块大小的表空间 9-16 多种块大小的规则 9-18 数据库块内容 9-19 块空间使用参数 9-20 数据块管理 9-22 自动段空间管理 9-23 配置自动段空间管理 9-25 手动数据块管理 9-26 块空间使用率 9-27 获取存储信息 9-29 小结 9-32 练习 9 概览 9-33
11 管理表 目标 11-2 存储用户数据 11-3 Oracle 内置数据类型 11-6 ROWID 格式 11-10 行的结构 11-12 创建表 11-13 创建表:原则 11-17 创建临时表 11-18 设置 PCTFREE 和 PCTUSED 11-19 行移植和行链接 11-20 更改存储和块使用参数 11-21 手动分配区 11-24 重新组织非分区表 11-25 截断表 11-26 删除表 11-27 删除列 11-29 使用 UNUSED 选项 11-31
表空间(TABLESPACE)
表空间(TABLESPACE)表空间(TABLESPACE)是ORACLE数据库中最大的逻辑结构。
ORACLE数据库是由一个或多个表空间组成的。
它在物理上与磁盘上的数据文件相对应(一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间)。
从物理上说数据库的数据被存放在数据文件中,而从逻辑上说是被存放在表空间中的。
数据库的逻辑配置实际上就是指表空间的配置。
一、表空间概述表空间是ORACLE数据库中最大的逻辑结构。
数据库的所有对象和方案都被逻辑的保存在表空间中。
(一)表空间的特性与作用数据库管理系统(DBMS)是建立在操作系统(OS)基础上的,它的数据也必须存储在各个文件中,如数据文件、重做日志文件、归档日志文件等。
表不是文件,表不是空间。
表空间是组织结构和分配空间的逻辑结构。
除了数据文件之外,控制文件、重做日志文件、归档日志文件等其他文件都不属于任何表空间。
表空间的特性如下:1.一个数据库可以有多个表空间。
可以在数据库中创建、删除表空间;2.一个表空间只属于一个数据库;3.一个表空间必须要有一个数据文件;4.一个表空间的大小等于其中所有数据文件的大小之和。
数据库的大小等于其中所有表空间的大小之和;5.表空间可以被联机和脱机。
SYSTEM表空间不能被脱机;6.表空间可以在读写、只读状态之间切换;7.每个表空间由一个或多个物理存在的操作系统的数据文件组成。
这种数据文件可以具有固定的大小,或允许其自动变大。
可以在表空间中添加、删除数据文件;8.方案对象、表、索引的数据都被存储在表空间的数据文件中。
一个数据文件存储不下,就存储在另一个数据文件中,只要该数据文件是本表空间中的就可以;9.一个用户默认使用一个表空间,但他的不同方案对象的数据可以被存储在不同表空间中;10.一个用户使用的表空间的数量是有一定配额的,不能超出这个配额;11.可以根据使用目的,创建不同类型的表空间,如永久表空间、临时表空间、撤销表空间、大表空间等。
OCA OCP OCM介绍
Oracle 10g
4) Oracle Steams
培训目标:
通过本课程使学员掌握Oracle数据库Streams的原理。让Oracle数据库管理员掌握Streams配置。
让Oracle数据库管理员为执行基本Streams管理任务打下坚实的基础。
并提供所需的技术和技巧来设置、维护、监控数据库数据复制的操作。
创建恢复目录,使用Secure Backup进行备份和恢复。
课程内容:
Oracle RMAN的配置、管理,Flashback配置,Secure Backup进行文件系统和磁带的备份和恢复。
培训软件:
Oracle 10g
6) Oracle Performance Tuning
培训目标:
2) Oracle 10g RAC
培训目标:
通过本课程使学员掌握在Linux/Unix环境下的Oracle RAC安装配置。
让Oracle数据库管理员为执行基RAC/Grid管理任务打下坚实的基础。
并提供所需的技术和技巧来设置、维护数据库的运行和解决Oracle数据库故障。
让Oracle 数据库管理员使用管理工具来启动、关闭RAC数据库,创建数据库、管理文件和数据存储。
14) 利用数据字典和动态性能次数
15) 保持控制文件
16) 用户管理、管理特权、管理角色
17) 甲骨文网络架构 6备份和恢复概述
18) 实例和介质恢复结构
19) RMAN备份
20) 诊断和调试工具
ORACLE认证(OCM)简介
Oracle Certified Master(OCM)为Oracle公司的数据库专家的认证。
Oracle10g数据库实验指导书
Oracle10g数据库实验指导书前言ORACLE数据库是属于数据库开发软件及应用领域的专业课,是面向计算机专业本科生开设的一门数据库应用普及型计算机专业课程。
ORACLE数据库是当前应用最为广泛的数据库系统,ORACLE数据库是针对高年级学生的实践性较强的课程。
通过实训,并结合典型系统进行分析,使学生较为系统地掌握ORACLE数据库的基本开发方法,运用数据库设计理论设计出满足一定规范的ORACLE 数据库应用系统。
随着计算机数据库技术的迅速发展和在当今信息社会中的广泛应用,给《ORACLE数据库》课程的教学提出了新的更高的要求。
由于ORACLE数据库是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。
实验要求通过理论学习,能够在ORACLE这个大型的数据库设计实践中,对ORACLE的基本功能有一个初步的了解:通过对SQL*PLUS的简单使用,掌握其基本操作命令和技术;通过PL/SQL编程语言的使用与程序设计的分析,加深学生对SQL*PLUS和PL/SQL技术的理解和掌握,进而为今后再涉及到难度较大的实际应用打下扎实的基础。
总之,通过上述实验环节,使学生加深了解和更好地掌握《ORACLE10g数据库》课程教学大纲要求的内容。
在课程实训过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实训内容的准备,就实验可能出现的情况提前做出思考和分析。
(2)仔细观察上机操作时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到。
目录实践1 Oracle10g的安装与配置及常用工具的使用 (1)实践2 创建数据库、表空间和数据文件 (25)实践3 数据库的安全管理 (27)实践4 管理表结构与表数据 (32)实践5 管理索引、视图、同义词和序列 (36)实践6 PL/SQL编程基础 (38)实践7 PL/SQL高级编程 (42)综合实践一Oracle基本知识与SQL*PLUS简单使用 (46)综合实践二PL/SQL编程语言的使用与程序设计 (57)综合实践三(设计性) JSP+Oracle网上购物系统 (68)附录:员工医疗保险系统表 (69)实践1 Oracle10g的安装与配置及常用工具的使用开发语言及实现平台或实验环境Oracle 10g实践目的(1) 掌握Oracle 10g数据库的安装与配置过程。
Oracle中查询当前数据库中的所有表空间和对应的数据文件语句命令
Oracle中查询当前数据库中的所有表空间和对应的数据⽂件语句命令Oracle中查询当前数据库中的所有表空间和对应的数据⽂件语句命令-----------------------------------------------------------------------------------------1、在cmd中输⼊sqlplus,弹出命令⾏窗体2、输⼊⼝令和密码3、SQL>col file_name for a60;4、SQL>set linesize 160;5、SQL>select file_name,tablespace_name,bytes from dba_data_files;---------------------------------------------------------------------------------------------同样的可以从dba_temp_files数据字典中查询临时表空间的信息SQL>select tablespace_name,file_name from dba_temp_files;----------------------------------------------------------------------------------------------删除Oracle表空间与表空间⽂件语句如下:SQL>drop tablespace 表空间名称 including contents and datafiles ;⽰例:--删除Oracle表空间和⽂件的语句命令drop tablespace 表空间名称 including contents and datafiles cascade constraints;--including contents 删除表空间中的内容--datafiles 删除表空间中的数据⽂件--cascade constraints 删除所有与表空间数据有关的级联,如主外键等----------------------------------------------------------------------------------------------。
oracle 运维dba面试题
oracle 运维dba面试题Oracle运维DBA面试题在Oracle数据库管理领域,DBA(Database Administrator)是一个非常重要的角色,负责数据库的运维和管理工作。
Oracle运维DBA面试题旨在考察候选人对Oracle数据库的理解和实际操作经验。
以下是一些常见的Oracle运维DBA面试题。
1. 请解释Oracle数据库的体系结构。
Oracle数据库的体系结构由三个主要组件组成:实例(Instance)、数据库(Database)和Oracle进程(Process)。
实例负责管理数据库的内存和进程,数据库是数据的物理存储,而Oracle进程则是实例与数据库之间的桥梁。
2. 请解释Oracle重做日志(Redo Log)的作用。
Oracle重做日志是用于数据库恢复和故障恢复的关键组件。
它记录了发生在数据库中的所有修改操作,包括插入、更新和删除。
在系统故障时,通过重做日志可以恢复数据库到最后一次提交之前的状态。
3. 请解释Oracle数据文件(Data File)的作用。
Oracle数据文件是用于存储的最基本的文件单元。
它们包含了表、索引、表空间和其他数据库对象的实际数据。
每个表空间可以包含一个或多个数据文件。
4. 请解释Oracle表空间(Tablespace)的作用。
Oracle表空间是逻辑存储结构,用于管理和组织数据库对象,如表、索引和存储过程等。
一个表空间可以包含多个数据文件,每个数据文件可以属于一个表空间。
5. 请解释Oracle的归档模式(Archivelog Mode)和非归档模式(Noarchivelog Mode)的区别。
归档模式下,Oracle会将重做日志分为在线重做日志和归档重做日志。
在线重做日志用于实时记录数据库的修改操作,而归档重做日志用于数据库备份和恢复。
非归档模式下,Oracle只使用在线重做日志,无法进行数据库的归档备份和恢复。
6. 请解释Oracle的数据块(Data Block)是什么。
表空间及模式对象
复用控制文件(1)
alter system set control_files='E:\ORACLE\ORADATA\YIDB\CONT ROL01.CTL','E:\ORACLE\ORADATA\YIDB\CONT ROL02.ctl','E:\ORACLE\ORADATA\YIDB\CONTR OL03.ctl','E:\ORACLE\ORADATA\YIDB\CONTRO L04.ctl' scope=both; 关闭数据库 复制控制文件到新的磁盘位置。 打开数据库
表中所有行的开始ROWID 表中所有行的结束ROWID 位图模式
列值
男 女
AAAvQAAGAAA3yAAA AAAQAAGZZZZ3yZZZ
1011… 0100…
位图模式中,表中的每一行占一位
性别
100
基数: 列中包含许多不同值,则列具有较高基数 包含少数不同值,则列具有较低的基数。 基数高的列适合建B树索引 基数较低的列适合用位图索引。
ALTER TABLESPACE userdata RENAME DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\userdata02.dbf' TO 'E:\oracle\product\10.2.0\oradata\orcl\userdata03.dbf';
模式对象 :表、列、约束 索引 序列 同义词 视图
索引
索引是数据库中的对象,建立于表之上,独 立于表。 避免全表扫描,用于提高查询速度。 索引包括:B-树索引 、位图索引 、函数索引 、反序索引
Oracle表空间和数据文件的关系
数据库的物理结构是由数据库的操作系统文件所决定,每一个Oracle数据库是由三种类型的文件组成:数据文件和控制文件。
数据库的文件为数据库提供真正的物理存储。
每一个Oracle数据库有一个或多个物理的数据文件(data file)。
一个数据库的数据文件包含全部数据库数据。
逻辑数据库结构(如表,索引等)的数据物理地存储在数据库地数据文件中。
数据文件通常为*.dbf格式,例如: userCIMS.dbf. 数据文件有一下特征:①、一个数据文件仅与一个数据库联系; ②、一旦建立, 数据文件只增不减; ③、一个表空间(数据库存储地逻辑单位)由一个或多个数据文件组成。
其次, 我们再来叙述一下Oracle的逻辑结构: Oracle的逻辑结构包括表空间(tablespace), 段(segment), 数据块(data block)以及模式对象(schema object)。
Oracle数据库在逻辑上是由多个表空间组成的, 表空间在物理上包含一个或者多个数据文件。
而数据文件大小是块大小的整数倍; 表空间中存储的对象叫段, 比如数据段, 索引段和回退段。
段由区组成, 区是磁盘分配的最小单位。
段的增大是通过增加区的个数来实现的。
每个区的大小是数据块大小的整数倍,取得大小可以不同;数据块是数据库中的最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位。
块的大小由参数DB_BLOCK_SIZE设置,其值影设置为操作系统块大小的整数倍。
⑴表空间(TABLESPACE)表空间是数据库中最大的逻辑单位,每一个表空间由一个或多个数据文件组成,一个数据文件只能与一个表空间相联系。
每一个数据库都有一个SYSTEM表空间,该表空间是在数据库创建或数据库安装时自动创建的,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储用户数据表,索引对象。
表空间具有在线(online)和离线(offline)属性,可以将除SYSTEM以外的任何表空间置为离线。
表空间与用户的关系表空间和数据文件的关系schema
表空间与⽤户的关系表空间和数据⽂件的关系schema1. ⼀个表空间有多个数据⽂件,⼀个数据⽂件只能属于⼀个表空间。
2. ⼀个数据库可以有多个表空间,每⼀个库都有⼀个system表空间。
3. ⼀个⽤户可以使⽤⼀个或多个表空间,⼀个表空间也可以供多个⽤户使⽤。
4. ⽤户和表空间没有⾪属关系,表空是⼀个⽤来管理数据存储逻辑概念,表空间只是和数据⽂件发⽣关系,数据⽂件是物理的,⼀个表空间可以包含多个数据⽂件,⽽⼀个数据⽂件只能⾪属⼀个表空间。
5. ⽤户在创建表的时候没有指定表空间,使⽤该⽤户的默认表空间(创建⽤户的时候需要指定)。
⽅案(schema)⼜叫模式,是⽐表空间⼩⼀级的逻辑概念,它也是⼀个逻辑容器。
多个⽤户可能共⽤⼀个表空间,那如何区分开每⼀个⽤户?那么在表空间中对每个⽤户都有⼀个对应的⽅案,⽤于保存单个⽤户的信息。
Schema为数据库对象的集合,为了区分各个集合,我们需要给这个集合起个名字。
schema⾥⾯包含了各种对象如tables, views, sequences, stored procedures, synonyms, indexes, clusters, and database links。
⼀个⽤户⼀般对应⼀个schema,该⽤户的schema名等于⽤户名,并作为该⽤户缺省schema。
Oracle数据库中不能新创建⼀个schema,要想创建⼀个schema,只能通过创建⼀个⽤户的⽅法解决,在创建⼀个⽤户的同时为这个⽤户创建⼀个与⽤户名同名的schem并作为该⽤户的缺省shcema。
⼀个⽤户有⼀个缺省的schema,其schema名就等于⽤户名,当然⼀个⽤户还可以使⽤其他的schema。
如果我们访问⼀个表时,没有指明该表属于哪⼀个schema中的,系统就会⾃动给我们在表上加上缺省的sheman名。
⽐如我们在访问数据库时,访问scott⽤户下的emp表,通过select * from emp; 其实,这sql语句的完整写法为select * from scott.emp。
数据库在磁盘上的基本组织形式
数据库在磁盘上的基本组织形式一、概述数据库是存储和管理数据的集合,而数据库在磁盘上的基本组织形式是指数据库在物理存储层面上的组织结构。
本文将从数据库文件、表空间、数据文件和日志文件等几个方面来介绍数据库在磁盘上的基本组织形式。
二、数据库文件数据库文件是数据库在磁盘上的最高级别的组织形式,它是存储数据库的基本单位。
数据库文件通常包括数据文件和日志文件两部分。
1. 数据文件数据文件是数据库中存储实际数据的文件,它包含了表、索引、视图、存储过程等数据库对象的数据。
数据文件通常按表空间进行组织,一个表空间可以包含一个或多个数据文件。
数据文件的组织形式可以是顺序文件、索引文件或哈希文件等。
2. 日志文件日志文件是数据库的事务日志,它记录了数据库中每个事务的操作细节。
日志文件通常按照时间顺序进行存储,可以分为事务日志和归档日志。
事务日志用于恢复数据库到故障前的状态,而归档日志用于备份和恢复数据库。
三、表空间表空间是逻辑上的概念,它是将数据库中的数据文件组织在一起的方式。
每个表空间包含一组数据文件,这些数据文件可以分布在不同的磁盘上。
表空间可以分为系统表空间、用户表空间和临时表空间等。
1. 系统表空间系统表空间是存储数据库的系统表和元数据的表空间,它包含了数据库的核心组件。
系统表空间通常是只读的,只有系统管理员才能对其进行修改。
2. 用户表空间用户表空间是存储用户数据的表空间,每个用户可以拥有一个或多个用户表空间。
用户表空间可以通过分区进行管理,以提高数据库的性能和可用性。
3. 临时表空间临时表空间是存储临时数据和临时对象的表空间,它用于支持数据库中的排序、连接和临时表等操作。
临时表空间通常是临时性的,数据库会定期清理其中的数据。
四、数据文件数据文件是数据库中存储实际数据的文件,它是表空间中的组成部分。
数据文件的组织形式可以是顺序文件、索引文件或哈希文件等。
1. 顺序文件顺序文件是一种按照记录顺序存储数据的文件,它适用于顺序访问和范围查询。
查询ORACLE表空间和数据文件信息
查询ORACLE表空间和数据⽂件信息表空间是oracle数据库中最⼤的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。
表空间在物理上体现为磁盘数据⽂件,每⼀个表空间由⼀个或多个数据⽂件组成,⼀个数据⽂件只可与⼀个表空间相联系,这是逻辑与物理的统⼀。
了解表空间和数据⽂件的的属性及使⽤率,是数据库管理员的⼀项重要职责。
下⾯以oracle9i为例,详细介绍查询Oracle数据库表空间信息和数据⽂件信息的⽅法。
⼀、查看Oracle数据库中表空间信息的⽅法1、查看Oracle数据库中表空间信息的⼯具⽅法:使⽤oracle enterprise manager console⼯具,这是oracle的客户端⼯具,当安装oracle服务器或客户端时会⾃动安装此⼯具,在windows操作系统上完成oracle安装后,通过下⾯的⽅法登录该⼯具:开始菜单——程序——Oracle-OraHome92——Enterprise Manager Console(单击)——oracle enterprise manager console登录——选择‘独⽴启动’单选框——‘确定’ —— ‘oracle enterprise manager console,独⽴’ ——选择要登录的‘实例名’ ——弹出‘数据库连接信息’ ——输⼊’⽤户名/⼝令’ (⼀般使⽤sys⽤户),’连接⾝份’选择选择SYSDBA——‘确定’,这时已经成功登录该⼯具,选择‘存储’ ——表空间,会看到如下的界⾯,该界⾯显⽰了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。
图1 表空间⼤⼩及使⽤率2、查看Oracle数据库中表空间信息的命令⽅法:通过查询数据库系统中的数据字典表(data dictionary tables)获取表空间的相关信息,⾸先使⽤客户端⼯具连接到数据库,这些⼯具可以是SQLPLUS字符⼯具、TOAD、PL/SQL等,连接到数据库后执⾏如下的查询语句:selecta.a1 表空间名称,c.c2 类型,c.c3 区管理,b.b2/1024/1024 表空间⼤⼩M,(b.b2-a.a2)/1024/1024 已使⽤M,substr((b.b2-a.a2)/b.b2*100,1,5) 利⽤率from(select tablespace_name a1, sum(nvl(bytes,0)) a2 from dba_free_space group bytablespace_name) a,(select tablespace_name b1,sum(bytes) b2 from dba_data_files group bytablespace_name) b,(select tablespace_name c1,contents c2,extent_management c3 fromdba_tablespaces) cwhere a.a1=b.b1 and c.c1=b.b1;该语句通过查询dba_free_space,dba_data_files,dba_tablespaces这三个数据字典表,得到了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间⼤⼩,已使⽤的表空间⼤⼩及表空间利⽤率。
oracle删除表空间及数据文件方法
oracle删除表空间及数据⽂件⽅法oracle 11g版本,创建数据库表空间,默认单个数据⽂件最⼤为32G,如果数据⽂件⼤于32G,可以增加数据⽂件。
--删除空的表空间,但是不包含物理⽂件drop tablespace tablespace_name;--删除⾮空表空间,但是不包含物理⽂件drop tablespace tablespace_name including contents;--删除空表空间,包含物理⽂件drop tablespace tablespace_name including datafiles;--删除⾮空表空间,包含物理⽂件drop tablespace tablespace_name including contents and datafiles;--如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTSdrop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;如果删除表空间报 ORA-00959 错误那就确认⼀下表空间是否还存在:SELECT TABLESPACE_NAME, STATUS, CONTENTS FROM USER_TABLESPACES;表空间已经不存在了,那就直接删除 rm -rf *.dbf ⽂件。
以system⽤户登录,查找需要删除的⽤户:--查找⽤户select * from dba_users;--查找⼯作空间的路径select * from dba_data_files;--删除⽤户drop user ⽤户名称 cascade;--删除表空间drop tablespace 表空间名称 including contents and datafiles cascade constraint;例如:删除⽤户名成为ABC,表空间名称为ABC--删除⽤户,及级联关系也删除掉drop user ABC cascade;--删除表空间,及对应的表空间⽂件也删除掉drop tablespace ABC including contents and datafiles cascade constraint;删除⽆任何数据对象的表空间:⾸先使⽤PL/SQL界⾯化⼯具,或者使⽤oracle⾃带的SQL PLUS⼯具,连接需要删除的表空间的oracle数据局库。
oracle表空间路径配置文件
Oracle表空间路径配置文件1. 简介Oracle数据库是一种关系型数据库管理系统,它使用表空间来存储数据。
表空间是逻辑存储结构,用于组织和管理数据库中的数据。
在Oracle数据库中,表空间路径配置文件是用来指定表空间的物理存储路径的配置文件。
2. 表空间路径配置文件的作用表空间路径配置文件用于告诉Oracle数据库在哪个位置创建表空间的数据文件。
通过配置文件,可以将表空间的数据文件存储在不同的磁盘分区或存储设备上,以实现数据的分布式存储和管理。
3. 表空间路径配置文件的格式表空间路径配置文件是一个文本文件,使用特定的格式来描述表空间的路径信息。
配置文件的每一行对应一个表空间的路径配置,包括表空间名称和对应的路径。
下面是一个示例的表空间路径配置文件:# 表空间路径配置文件示例# 表空间1的路径配置TABLESPACE1 /path/to/tablespace1# 表空间2的路径配置TABLESPACE2 /path/to/tablespace2在配置文件中,使用#符号来表示注释,可以在配置文件中添加注释以提供说明和解释。
每一行的格式为表空间名称路径,用空格分隔。
4. 配置表空间路径的步骤配置表空间路径需要以下步骤:1.创建一个文本文件,用于存储表空间路径配置信息。
2.在配置文件中按照指定的格式添加表空间的路径配置。
3.将配置文件保存,并确保文件的路径和名称正确。
4.在Oracle数据库中加载配置文件,使配置文件生效。
5. 加载配置文件的方法加载表空间路径配置文件有多种方法,可以根据具体的需求选择适合的方法。
下面介绍两种常用的方法:5.1 使用ALTER SYSTEM语句加载配置文件可以使用ALTER SYSTEM语句来加载表空间路径配置文件。
具体步骤如下:1.使用文本编辑器打开Oracle数据库的初始化参数文件(通常为init.ora或spfile.ora)。
2.在文件中添加以下语句:ALTER SYSTEM SET FILE_NAME_CONVERT = 'OLD_PATH', 'NEW_PATH' SCOPE=SPFILE;其中,OLD_PATH为原始路径,NEW_PATH为新的路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 管理表空间和数据文件
软件学院
大型数据库技术
南阳理工学院软件学院.数据库技术教研室
2012年9月
本章要点
理解表空间和数据文件的关系 掌握如何创建表空间 掌握如何维护表空间和数据文件 了解如何管理撤销表空间 掌握如何管理临时表空间
Oracle 10g 数据库管理、应用与开发
16
• 查询users表空间内存放的数据对象及其类型和拥 有者
• Col owner for a10; • Col segment_type for a20; • Col segment_name for a30; • Select segment_type,segment_name,owner from
4
逻辑存储结构概述
概念
逻辑存储结构是从逻辑的角度来分析数据库的构成的,是数据库创建 后利用逻辑概念来描述Oracle数据库内部数据的组织和管理形式。
在操作系统中,没有数据库逻辑存储结构信息,而只有物理存储结构 信息。数据库的逻辑存储结构概念存储在数据库的数据字典中,可以 通过数据字典查询逻辑存储结构信息。
SYSAUX表空间是Oracle 10g新增的辅助系统表空间,主要用于存储 数据库组件等信息,以减小SYSTEM表空间的负荷。
在通常情况下,不允许删除、重命名及传输SYSAUX表空间。
Oracle 10g 数据库管理、应用与开发
20
非系统表空间
撤销表空间
专门进行回滚信息的自动管理,由回滚段构成。一个数据库可以有多个撤 销表空间,但每个数据库实例只能使用一个由UNDO_TABLESPACE参数设置 的撤销表空间。
LOCAL(默认)或DICTIONARY。 AUTOALLOCATE(默认)或UNIFORM:设定区的分配方式。 SEGMENT SPACE MANAGEMENT:设定段的管理方式,其取值为
MANUAL或AUTO (默认) 。
Oracle 10g 数据库管理、应用与开发
27
例1:为ORCL数据库创建一个永久性的表空间ORCLTBS1, 区 自动扩展,段采用自动管理方式。
Oracle 10g 数据库管理、应用与开发
3
Oracle的物理存储结构
Oracle的物理存储结构
物理存储结构是指从物理角度分析数据库的构成, 即Oracle数据库创建后所使用的操作系统文件。
Oracle 数据库
参数文件 口令文件
数据 文件
控制 文件
重做
日志 文件
归档 日志文件
Oracle 10g 数据库管理、应用与开发
2
Oracle的存储结构
在Oracle数据库的存储结构包括物理存储结构和 逻辑存储结构。
物理存储结构:主要用于描述Oracle数据库外部数据的 存储,即在操作系统中如何组织和管理数据,与具体的操 作系统有关;
逻辑存储结构:主要描述Oracle数据库内部数据的组织 和管理方式,与操作系统没有关系。
物理存储结构是逻辑存储结构在物理上的、可见的、可操 作的、具体的体现形式。
Oracle 10g 数据库管理、应用与开发
23
表空间本地管理方式的优势:
由于在区分配与回收过程中不需要对数据字典进行访问,提高了表空 间存储管理操作的速度和并发性。
能够避免表空间存储管理操作中的递归现象,提高了存储空间管理操 作性能。
能够在保留可查询性同时,将整个数据库设置为只读状态。这种数据 库可以作为备用数据库使用。
保存用户数据。
Oracle 10g 数据库管理、应用与开发
21
大文件表空间与小文件表空间
所谓大文件表空间(Bigfile Tablespace)是指一个表空间只包含一个大数 据文件,该文件的最大尺寸为128 TB(数据块大小为32 KB)或只32 TB(数 据块大小为8 KB)。
与大文件表空间相对应,系统默认创建的表空间称为小文件表空间 (Smallfile Tablespace),如SYSTEM表空间、SYSAUX表空间等。小文件表 空间可以包含多达1024个数据文件。小文件表空间的总容量与大文件表空 间的容量基本相似。
一个数据库由有一个或多个表空间构成,不同表空间用于存放不同应用 的数据,表空间大小决定了数据库的大小。
一个表空间对应一个或多个数据文件,数据文件大小决定了表空间的大 小。一个数据文件只能从属于一个表空间。
表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间 中(分区表和分区索引除外),但可以存储在该表空间所对应的一个或多个 数据文件中。
和定制(UNIFORM); 段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。
Oracle 10g 数据库管理、应用与开发
26
创建永久表空间
创建永久表空间使用CREATE TABLESPACE语句来实现, 该语句包含以下几个子句:
DATAFILE:设定表空间对应的数据文件。 EXTENT MANAGEMENT:指定表空间的管理方式,取值为
若表空间只有一个数据文件,则该表空间中所有对象都保存在该文件中; 若表空间对应多个数据文件,则表空间中的对象可以分布于不同的数据 文件中。
Oracle 10g 数据库管理、应用与开发
9
数据库、表空间、数据文件、数据库对象之间的关系:
表空间 1
数据库
表空间 2
数据文件 1
数据文件 2
数据文件 3
Hale Waihona Puke 数据文件 4dba_segments where tablespace_name='USERS';
Oracle 10g 数据库管理、应用与开发
17
SYSAUX表空间
• SYSTEM表空间用于存放oracle系统内部的数据字 典,sysaux表空间充当其辅助表空间,存放处数 据字典外其他数据对象,一定程度上降低system 表空间的负荷。
11
表空间和数据文件的关系
• 创建表空间时必须创建数据文件,增加数据文件 时必须指定表空间。
• 可以从DBA_DATA_FILES数据字典获得表空间和数 据文件的相关信息
Oracle 10g 数据库管理、应用与开发
12
• 在SYSTEM模式下,从DBA_DATA_FILES数据字典中 获得。
• Col tablespace_name for a10; • Col file_name for a50; • Col bytes for 999,999,999; • Select tablespace_name,file_name,bytes from
初始化参数UNDO_MANAGEMENT=AUTO时,系统使用撤销表空间自动进行回 滚信息管理。
临时表空间
专门进行临时数据管理的表空间。
在数据库实例运行过程中,执行排序等SQL语句时会产生大量的临时数据, 这些临时数据将保存在数据库临时表空间中。
建议为数据库单独定义默认的临时表空间。
用户表空间
Oracle 10g 数据库管理、应用与开发
14
默认表空间
• Example 如果安装时选择实例方案,则此表空间 存放各样例的数据
• Sysaux system表空间的辅助空间 • System 存储数据字典、包括表、视图、存储过程
的定义等 • Temp 存放sql语句处理的表和索引的信息 • Undotbs1 存放撤销数据的表空间 • Users 存放应用系统所使用的数据库对象
Oracle 10g 数据库管理、应用与开发
22
4.表空间的管理方式
字典管理方式
表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收 时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回滚 信息和重做信息。字典管理方式将渐渐被淘汰。
本地管理方式
在本地管理方式中,区的分配和管理信息都存储在表空间的数据文件 中,而与数据字典无关。表空间在每个数据文件中维护一个“位图” 结构,用于记录表空间中所有区的分配情况,因此区在分配与回收时 ,Oracle将对数据文件中的位图进行更新,不会产生回滚信息或重做 信息。
dba_data_files order by tablespace_name;
Oracle 10g 数据库管理、应用与开发
13
2.Oracle 11g 默认表空间
• 默认表空间时指创建oracle数据库时,系统自动 创建的表空间。这些表空间用于存储oracle系统 内部数据和提供样例所需的逻辑空间。
Oracle 10g 数据库管理、应用与开发
18
• 查询sysaux表空间所存放的用户及其所拥有的对 象数量
• Select owner,count(segment_name) from dba_segments where tablespace_name='SYSAUX' group by owner;
Oracle 10g 数据库管理、应用与开发
25
5.创建表空间
在创建本地管理方式下的表空间时,应该确定表空间的名 称、类型、对应的数据文件的名称和位置以及区的分配方式、 段的管理方式。
表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数 字以及一些特殊字符(如#、_、$)等;
表空间的类型包括普通表空间、临时表空间和撤销表空间; 表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)
Oracle 10g 数据库管理、应用与开发
15
SYSTEM表空间
• System表空间用于存放内部数据和数据字典,主 要存放sys用户的各个对象和其他用户的少量对象 。用户从DBA_SEGMENTS数据字典中查询到某个表 空间所存放的数据对象及其类型和拥有者。
Oracle 10g 数据库管理、应用与开发