1、表空间:表空间是数据库的逻辑划分,一个表空间只属于一个数据库。每个表空间由一个或多个数据文件组成。
表空间中其他逻辑结构的数据存储在这些数据文件中。在Oracle安装完成后,会自动建立多个表空间,
主要有:
(1)System表空间:该表空间用于存放Oracle系统内部表和数据字典的数据,如表名、列名、用户名等。
(2)undo表空间:该表空间是存储撤销信息的表空间。当用户对数据库表进行修改(insert,update,delete)时,
Oracle会自动使用undo表空间来临时存放修改前的数据。当所进行的修改完成并提交后,系统根据需要保留修改前数据的时间长短来释放undo表空间的部分空间。
(3)users表空间:该空间是给用户使用的表空间。
(4)temporary表空间:该表空间是供用户临时使用的,如进行排序、汇总等操作时。
可以使用OEM(Oracle Enterprise Manager)管理表空间,也可以使用命令管理表空间。利用OEM管理表空间是非常简单的,只需要根据系统提示进行操作就可以了。利用create tablespace 命令会创建一个读/写表空间,以后可以利用alter tablespace 语句来使表空间脱机或联机、给它添加数据文件或使它成为只读表空间。也可以利用drop tablespace 语句从数据库中撤销表空间。
(1)利用create tablespace命令创建表空间。使用该命令的用户必须具有创建表空间的权限。
语法格式:
create tablespace tablespace_name datafile 'path/fileName' [size integer [K | M]] [reuse] [autoextend [off | on [next integer [K | M]]] [maxsize [unlimited | integer [K | M]]]] [minmum extent integer [K | M]] [default storage storage_clause] [online | offline] [logging | nologging] [extent management [dictionary | local [autoallocate | uniform [size integer [K | M]]]]]
其中,tablespace_name是将要创建的表空间的名称,该名称在数据库中是唯一的,并且命名必须符合命名规则。
path/fileName: 数据文件的存放路径和名称。当使用关键字reuse时表示若该文件存在,则清除该文件再重新建立该文件;如该文件不存在,则建立新文件。
off/on: 禁止或允许自动扩展数据文件。若选则off, 则禁止自动扩展;若选择on,则允许自动扩展数据文件
next:表示当需要更多的磁盘空间时,一次给数据文件分配的磁盘空间,以KB或MB为单位。
maxsize umlimited | integer[K | M]:指定允许分配给数据文件的最大磁盘空间,其中unlimited表示没有限制。
minmum extent:指定最小的长度,默认为操作系统和数据库块。
online:在创建表空间后使该表空间立即可以被授权用户访问,这是默认设置。
offline:则表示不可用
logging/nologging:表示将来的表、索引等是否需要进行日志处理,默认为需要
extent management:指定如何管理表空间的盘区。
dictionary:使用字典表来管理表空间,这是默认设置。
local:指定本地管理表空间
autoallocate:指定表空间由系统管理,用户不能指定盘区尺寸。
uniform:使用size字节的统一盘区来管理表空间。默认的size是1MB。
注意:如果指定了local,就不能指定default storage storage_clause 和temporary。
default storage storage_clause:为在该表空间创建的全部对象指定默认的存储参数。storage_clause的语法格式如下:
storage( initial integer[K|M] next integer[K|M] minextents integer | unlimited maxextents integer pctincrease integer freelists integer freelist groups integer optimal [integer[K|M] | null] )
如:
create tablespace ts_app datafile 'D:\Oracle\oradata\orcl\ts_app.dbf' size 1024M autoextend on next 50M maxsize 2048M; --将创建一个名为“ts_app”的表空间,初始大小为1024M,允许自动扩充,每次扩充50M,最多扩充到2048M。
创建临时表空间时只需要在tablespace前加上temporary,并且将datafile改为tempfile,如:
create temporary tablespace ts_temp tempfile 'D:\Oracle\oradata\orcl\ts_temp.dbf' size 256M autoextend on next 100M maxsize 2048M;
(2)利用alter tablespace命令管理表空间。
语法格式:
alter tablespace tablespace_name [add dataFile | tempFile 'path/fileName' [size integer [K | M]] [reuse] [autoextend [off | on [next integer [K | M]] maxsize [unlimited | integer [K | M]]]] [rename dataFile 'path/fileName',...n to 'path/fileName',...n] [default storage storage_clause] [online | offline [normal | temporary | immediate]] [logging | nologging] [read only | write] [permanent] [temporary]
2、分区:在非常大的数据库中,通常可以通过把一个大表的数据分成多个小表来简化数据库的管理,这些小表叫做分区,除了对表分区外,还可以对索引进行分区。分区不仅简化了数据库的管理,还改善了应用性能。在Oracle中,还可以细分分区,创建子分区。
并不是所有的表列都可以进行分区,只有日期型(date)或二进制大对象(blob)等数据类型的表列可以分区。
Oracle有以下几种分区方法:
(1)范围分区:根据列值的范围将行映射到分区。
(2)散列分区:散列分区提供了一种方法,可在指定数量的分区间平均分布数据。这种方法将根据分区关键字的散列值将行映射到分区。
(3)列表分区:列表分区可以显式地控制如何把行映射到分区。
(4)范围-散列分区:首先使用范围方法将数据进行分区,然后在每个分区内,使用散列方法将其分成子分区。
(5)范围-列表分区:首先使用范围方法将数据进行分区,然后在每个分区内,使用列表方法将其分成子分区
相关推荐
### Oracle新手入门指导之一——数据库表空间知识 #### 数据库表空间基础知识 在Oracle数据库管理中,表空间(Tablespace)是逻辑存储结构中的一个重要概念。表空间由一个或多个数据文件组成,用来存储数据库对象...
此外,表空间的区(Extent)和段(Segment)管理应采用自动分配的方式,且快(Block)大小设定为8MB。这些参数的设定是为了确保表空间能够根据数据库活动的需要动态调整大小,同时简化管理。 在Oracle EM中创建表...
SQL> show user USER is "SYS" SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> conn/as sysdba Connected to an idle instance. ...ORACLE instance started.
### Oracle经典教程4——表空间和数据库对象 #### 一、概述 本章节主要介绍了Oracle数据库中的几个核心概念,包括表空间以及多种数据库对象,如同义词、序列、视图和索引等。这些概念对于理解Oracle数据库的架构与...
SYSAUX表空间是Oracle数据库中的一个重要组成部分,它存储了系统级别的对象和服务,包括数据字典、索引、临时段等。当SYSAUX表空间占用过大时,可能导致数据库性能下降,甚至影响到正常的数据库操作。 **症状分析**...
《深入浅出Oracle——DBA入门、进阶与诊断案例》是盖国强先生的一本经典著作,专门针对Oracle数据库管理进行深入讲解。这本书对于想要成为Oracle DBA(数据库管理员)或者希望提升自己在Oracle数据库管理技能的人来...
讲解如何创建和管理表空间,以及数据库实例与服务的概念。 2. **SQL与PL/SQL**:深入讲解SQL语言,包括查询、插入、更新和删除数据的基本语法,以及联接、子查询、索引和视图等高级概念。此外,还会涉及PL/SQL过程...
首先,Oracle数据库的基础知识包括数据存储结构、数据库实例和进程、表空间与数据文件、控制文件、重做日志等。理解这些基本概念是成为合格DBA的第一步。在书中,作者可能会详细介绍这些内容,帮助读者建立坚实的...
以下是对"经典:循序渐进Oracle——- 数据的存储"这一主题的详细解析: 1. **物理及逻辑结构** Oracle数据库采用层次化的存储结构,包括物理层和逻辑层。逻辑层主要由表空间、数据文件、表、分区和索引等组成,...
通过这样的实验,学习者能够深入理解Oracle数据库的管理和应用,熟悉表空间、数据文件、用户权限以及模式对象的创建和管理。这将为进行更复杂的数据库设计和优化打下坚实基础。在实际工作中,理解这些概念并能灵活...
1、当前登录用户,所有表占用表空间情况,提供合计 和 明细查询,显示为M; 2、查看某个用户所有表各自占用表空间的大小,并显示各表数据的条数;——常用于清表前,确认选最多记录的先清; 3、全数据库查询所有表...
例如,推荐使用表空间代替系统回滚区,以优化数据回滚操作,并设置自动延伸功能,增加数据库的弹性。这些实用技巧对于提升数据库性能和稳定性至关重要。 总的来说,《Oracle 9i资料库管理实务讲座》是一本实用性强...
表空间是Oracle数据库中的逻辑存储单元,用于组织和管理磁盘空间。每个表空间包含一个或多个数据文件。 #### 本章总结 本章介绍了Oracle数据库中的一些关键对象及其管理方法。了解这些对象对于有效地设计和管理...
### 韩顺平Oracle笔记——数据库管理员 #### 数据库管理员(DBA)的角色与职责 在Oracle数据库环境中,数据库管理员(DBA)扮演着至关重要的角色。他们负责确保数据库系统的稳定性和性能,同时还需要保障数据的安全...
在执行这些命令之前,确保已经正确地设置了表空间和用户信息是非常重要的。此外,还应注意命令中的各种选项,例如`full`、`file`等,这些选项对于控制导入导出的具体行为至关重要。 通过以上介绍,我们可以了解到...
"Oracle 数据库系统——管理与应用"的学习资源,如"中国IT认证实验室学习下载频道.txt"和"Oracle 数据库系统——管理与应用"文档,应能提供详细教程、实战案例和最佳实践,帮助读者全面掌握Oracle数据库的精髓,无论...
综上所述,Oracle数据库通过不同的方法来管理空闲空间,旨在提高存储效率和系统性能。从Freelist到ASSM的转变体现了Oracle在存储管理技术上的持续进步。理解这些管理策略对于数据库管理员来说非常重要,可以帮助他们...