- 浏览: 156105 次
- 性别:
- 来自: 上海
-
文章分类
最新评论
表空间是oracle数据库中最大的逻辑组成部分。它在物理上与磁盘上的数据文件相对应(一个表空间由一个或多个数据文件组成,但一个数据文件只能属于一个表空间)
■查看排序段的使用情况
SQL> select * from v$sort_segment;
■查看使用排序段的会话和用户信息
SQL> select * from v$sort_usage;
■查询数据字典视图得到撤销表空间中回退段的信息
SQL> select * from dba_rollback_segs;
■创建大文件表空间
SQL> create bigfile tablespace bigfilespace01
datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/bigfilespace01.dbf' size 25G;
■创建小文件表空间
SQL> create smallfile tablespace smallfilespace01
datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/smallfilespace01.dbf' size 25G;
■创建不同类型的表空间的SQL语句
- CREATE TABLESPACE 创建(永久表空空)
- CREATE BIGFILE TABLESPACE 创建大文件表空间
- CREATE TEMPORARY TABLESPACE 创建临时表空间
- CREATE UNDO TABLESPACE 创建撤销表空间
■使用UNIFORM区分配方式的表空间
SQL> create tablespace myts01
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_1.dbf' size 2m
3 uniform size 128k;
优点:在表空间中不会产生磁盘碎片,可以节约磁盘空间
■使用AUTOALLOCATE区分配方式的表空间
SQL> create tablespace myts02
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_1.dbf' size 2m
3 autoallocate;
缺点:在表空间中会产生磁盘碎片,进而造成一些磁盘空间的浪费
■使用AUTO段管理方式的表空间
SQL> create tablespace myts03
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts03_1.dbf' size 2m
3 uniform size 128K
4 segment space management AUTO;
■创建大文件表空间
SQL> create bigfile tablespace mybigts05
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts05_1.dbf' size 2m;
该表空间管理方式为本地管理(只有本地管理才支持大文件表空间,最高可达8EB),并且区大小由系统自动分配
■创建临时表空间
SQL> create smallfile temporary tablespace mytmpts01
2 tempfile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/mytempts01_1.dbf' size 4m
3 extent management local
4 uniform size 1k;
■建立大文件临时表空间
SQL> create bigfile temporary tablespace mybigtempts01
2 tempfile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/mybigtempts01_1.dbf' size 4m
3 extent management local
4 uniform size 1k;
■创建撤销表空间
SQL> CREATE SMALLFILE UNDO TABLESPACE myundots01
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myundots01_1.dbf' size 4m
3 /
创建UNDO表空间时只能指定DATAFILE和EXTENT MANAGEMENT LOCAL选项,而不能指定其他选项,否则会有错误提示.
UNDO表空间采用本地管理方式,区的大小自动分配.
■向表空间中添加数据文件
SQL> alter tablespace myts01
2 add datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_2.dbf' size 3m;
■向临时表空间添加数据文件
SQL> alter tablespace mytmpts01
2 add tempfile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/mytmpts01_2.dbf' size 4m;
■改变数据文件
SQL> alter database
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_2.dbf'
3 resize 4m;
■充许数据文件自动扩展
SQL> alter database
2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_2.dbf'
3 autoextend on next 1m maxsize 20m; (也可以不指定最大扩展值)
■使表空间脱机
SQL> alter tablespace myts01 offline;
■使表空间联机
SQL> alter tablespace myts01 offline;
■使表空间只读
SQL> alter tablespace myts01 read only;
处于只读状态时,仍然充许执行DROP操作删除该表空间上的对像,例如:
SQL> drop table personnel;
表已删除。
■使表空间可读写
SQL> alter tablespace myts01 read write;
■修改表空间的名称
SQL> alter tablespace myts03 rename to myts03_new;
提示:修改表空间名称是Oracle 10g特有的,在此之前不能实现该功能.
■设置数据库默认表空间
SQL> alter database default tablespace myts01;
■设置数据库默认临时表空间
SQL> alter database default temporary tablespace mytmpts01;
■删除myts03表空间,包括该表空间中的内容
SQL> drop tablespace myts03 including contents;
这条语句只会从数据字典中删除表空间信息,而其相关的数据文件仍在于磁盘上
■删除myts03表空间,包括该表空间中的内容及数据
SQL> drop tablespace myts04 including contents and datafiles;
删除表空间的同时删除与它相关的数据文件
■获得数据库中各个表空间的名称、区管理方式、区分配方式、段管理方式、类型等信息
SQL> select tablespace_name,extent_management,allocation_type,segment_space_management,contents from dba_tablespaces;
TABLESPACE_NAME EXTENT_MAN ALLOCATIO SEGMEN CONTENTS
------------------------------ ---------- --------- ------ ---------
SYSTEM LOCAL SYSTEM MANUAL PERMANENT
UNDOTBS1 LOCAL SYSTEM MANUAL UNDO
SYSAUX LOCAL SYSTEM AUTO PERMANENT
TEMP LOCAL UNIFORM MANUAL TEMPORARY
USERS LOCAL SYSTEM AUTO PERMANENT
BIGFILESPACE01 LOCAL SYSTEM AUTO PERMANENT
SMALLFILESPACE01 LOCAL SYSTEM MANUAL PERMANENT
MYTS01 LOCAL UNIFORM MANUAL PERMANENT
MYTS02 LOCAL SYSTEM MANUAL PERMANENT
MYBIGTS05 LOCAL SYSTEM AUTO PERMANENT
MYBIGTEMPTS01 LOCAL UNIFORM MANUAL TEMPORARY
MYUNDOTS01 LOCAL SYSTEM MANUAL UNDO
MYTMPTS01 LOCAL UNIFORM MANUAL TEMPORARY
■查询数据库中所有表空间的名称和默认的存储参数
SQL> select tablespace_name,initial_extent,next_extent,min_extents,max_extents,pct_increase from dba_tablespaces;
TABLESPACE_NAME INITIAL_EXTENT NEXT_EXTENT MIN_EXTENTS MAX_EXTENTS PCT_INCREASE
------------------------------ -------------- ----------- ----------- ----------- ------------
SYSTEM 65536 1 2147483645
UNDOTBS1 65536 1 2147483645
SYSAUX 65536 1 2147483645
TEMP 1048576 1048576 1 0
USERS 65536 1 2147483645
BIGFILESPACE01 65536 1 2147483645
SMALLFILESPACE01 65536 1 2147483645
MYTS01 131072 131072 1 2147483645 0
MYTS02 65536 1 2147483645
MYBIGTS05 65536 1 2147483645
MYBIGTEMPTS01 16384 16384 1 0
MYUNDOTS01 65536 1 2147483645
MYTMPTS01 16384 16384 1 0
■查询数据库中数据文件的位置、名称、大小及其所属的表空间
SQL> col file_name for a75
SQL> select file_name,blocks,tablespace_name from dba_data_files;
FILE_NAME BLOCKS TABLESPACE_NAME
--------------------------------------------------------------------------- ---------- ------------------
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/users01.dbf 640 USERS
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/sysaux01.dbf 35840 SYSAUX
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/undotbs01.dbf 3200 UNDOTBS1
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/system01.dbf 57600 SYSTEM
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/bigfilespace01.dbf 3200 BIGFILESPACE01
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/smallfilespace01.dbf 3200 SMALLFILESPACE01
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_1.dbf 256 MYTS01
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_1.dbf 256 MYTS02
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts05_1.dbf 256 MYBIGTS05
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myundots01_1.dbf 512 MYUNDOTS01
/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_2.dbf 512 MYTS01
■生成数据库中每个表空间的空闲盘区的信息
SQL> select tablespace_name,file_id,max(blocks) maximum,
count(*) pieces,
min(blocks) minimum,
avg(blocks) average,
sum(blocks) total
from dba_free_space
group by tablespace_name,file_id;
TABLESPACE_NAME FILE_ID MAXIMUM PIECES MINIMUM AVERAGE TOTAL
------------------------------ ---------- ---------- ---------- ---------- ---------- ----------
USERS 4 584 1 584 584 584
MYTS01 7 208 2 16 112 224
MYTS01 12 496 1 496 496 496
MYTS02 8 248 1 248 248 248
SYSAUX 3 248 19 8 45.0526316 856
SYSTEM 1 1272 1 1272 1272 1272
UNDOTBS1 2 1656 11 8 204.363636 2248
MYBIGTS05 10 240 1 240 240 240
MYUNDOTS01 11 344 1 344 344 344
BIGFILESPACE01 5 3184 1 3184 3184 3184
SMALLFILESPACE01 6 3192 1 3192 3192 3192
pices列显示该表空间文件中的空闲空间盘区数;
maximun和minimum列显示数据库块中最大和最小的空间区域;
average列显示一个空闲空间盘区以块计的平均大小;
total列显示每个表空间文件中空闲空间盘区以块计的数量
■查询表空间的空闲空间大小
SQL> select tablespace_name,sum(bytes) free_space from dba_free_space
2 group by tablespace_name;
TABLESPACE_NAME FREE_SPACE
------------------------------ ----------
BIGFILESPACE01 26083328
MYBIGTS05 1966080
MYTS01 5898240
MYTS02 2031616
MYUNDOTS01 2818048
SMALLFILESPACE01 26148864
SYSAUX 7012352
SYSTEM 10420224
UNDOTBS1 18415616
USERS 4784128
■创建临时表空间组
SQL> alter tablespace mybigtempts01 tablespace group mytmptsgp01;
SQL> alter tablespace mytmpts01 tablespace group mytmptsgp01;
必须先创建临时表空间,然后才能创建临时表空间组.
SQL> ALTER TABLESPACE 临时表空间名 TABLESPACE GROUP 临时表空间组名
■查询表空间信息
V$TABLESPACE 来自控制文件的所有表空间名称和编号
DBA_TABLESPACE 所有(或用户可访问的)表空间的信息
USER_TABLESPACE
DBA_SEGMENTS 所有(或用户可访问的)表空间中的段的信息
USER_SEGMENTS
DBA_EXTENTS 所有(或用户可访问的)表空间中的数据盘区的信息
USER_EXTENTS
DBA_FREE_SPACE 所有(或用户可访问的)表空间中的空闲盘区的信息
USER_FREE_SPACE
V$DATAFILE 所有数据文件的信息,包括所属表空间的名称和编号
V$TEMPFILE 所有临时文件的信息,包括所属表空间的名称和编号
DBA_DATA_FILES 数据文件及其所属的表空间的信息
DBA_TEMP_FILES 临时文件及其所属的临时表空间的信息
V$TEMP_EXTENT_MAX 本地管理的临时表空间中的所有盘区的信息
V$TEMP_EXTENT_POOL 本地管理的临时表空间的缓存信息,使用的临时表空间的状态信息
V$TEMP_SPACE_HEADER 每个临时文件的已用/空闲空间信息
DBA_USERS 所有用户默认的和临时的表空间的信息
DBA_TS_QUOTAS 所有用户的表空间配额信息
V$SORT_SEGMENT 例程的每个排序段的信息.该视图只在表空间为TEMPORARY类型时更新
V$SORT_USER 用户使用的临时排序段的信息
<script type="text/javascript"></script>
发表评论
-
Oracle dbf(database datafile)不断增大为题解决方案
2016-03-08 16:54 736Oracle 安装在系统盘了,最近越来越庞大,以至于系统处于 ... -
ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务 的解决方法
2015-12-20 12:37 27586ORACLE数据库,用PL/SQL连接报错“OAR-125 ... -
ORACLE日期处理大全
2014-05-07 12:07 451Oracle中TO_DATE格式2009-04-14 10:5 ... -
oracle查找用户语句
2014-04-17 09:51 5061.查看所有用户:select * from dba_use ... -
oracle数据库中日期加减函数
2014-01-10 10:17 11141.oracle中当前系统时间加减用法 select ad ... -
oracle导出表结构
2013-12-25 09:59 597只导出表结构不导出表内数据: 写道 exp sy ... -
ORACLE主从表查找
2014-01-10 11:05 475select u1.CONSTRAINT_NAME, u1.T ... -
oracle中修改表字段sql语句
2012-08-04 11:23 6721oracle中修改表字段常用语句如下: 1、重命名表 ALTE ... -
一个异常
2012-07-11 16:16 0Caused by: java.sql.SQLExceptio ... -
oracle10g中创建用户表空间等操作
2012-07-10 11:08 672/**创建临时表空间**/ create temp ... -
oracle常用查询语句
2012-04-23 17:31 980--查询表的大小 select t.owner, ... -
oracle10g创建、修改、删除用户和用户表空间
2011-09-19 11:30 34031 创建临时表空间 2 Sql代码 3 create t ... -
sqlserver2000导入oracle数据库代码
2011-03-30 11:48 1932package com.hyzw.cczz.file.exc ... -
oracle10g安装
2010-09-08 23:07 919第一步下载安装包 我们可以到ORACLE的官方网站去下载它 ...
相关推荐
然而,从Oracle 8i开始,引入了本地管理表空间(Local Managed Tablespace,简称LMT),以提供更高效、更自动化的空间管理机制。 **本地管理表空间(LMT)的优势** 1. **性能提升**:LMT使用位图来跟踪数据文件中...
Oracle 表空间管理汇总 Oracle 表空间(Tablespace)是 Oracle 数据库中用于存储数据和索引的逻辑存储单元。...本文对 Oracle 表空间管理进行了总结,希望能够帮助数据库管理员更好地管理表空间。
实验4“Oracle表空间管理”旨在让学生掌握如何创建、扩展和删除表空间,理解表空间与数据文件的关系。在Oracle中,表空间的创建通常涉及以下步骤: 1. **规划表空间**:确定表空间的用途,例如用户数据、临时数据等...
根据提供的文件信息,我们可以深入探讨Oracle表空间管理的相关知识点,包括如何查看表空间的状态、类型、大小等信息,以及如何创建、调整表空间大小、设置自动扩展等。 ### Oracle表空间概念 在Oracle数据库中,表...
### 获取Oracle表空间脚本 #### 背景与需求 在进行数据库备份与恢复的过程中,经常需要获取当前Oracle数据库中的表空间信息及其创建脚本。这样做的目的是为了确保在恢复过程中能够快速重建原有的数据库环境,包括...
### Oracle表空间详解 ...随着企业对数据处理能力的需求日益增长,合理规划和管理表空间已经成为Oracle数据库管理中的一个关键环节。因此,作为Oracle数据库管理员,深入了解并掌握表空间的相关知识是非常必要的。
总之,Oracle表空间管理是一个复杂而关键的任务,理解并熟练掌握表空间的概念、分类和管理方法对于优化数据库性能和保证数据安全性至关重要。通过选择合适的表空间类型和管理策略,可以有效地支持数据库的日常操作和...
**本地管理表空间**是Oracle 8i版本引入的一种新的表空间管理模式。相比于之前的**字典管理表空间**,它采用了更加高效的空间管理机制,主要通过在每个数据文件的头部添加位图来追踪空间的使用情况,而非依赖数据...
### Oracle表空间管理知识点 #### 一、Oracle表空间概述 在Oracle数据库中,表空间是逻辑存储单元,用于组织和管理数据文件。一个表空间可以包含多个数据文件,而每个数据文件只能属于一个表空间。Oracle中的表...
通过以上内容,我们详细了解了Oracle中的表空间与数据文件的概念、分类以及它们在Oracle数据库存储结构中的作用,并学习了如何通过SQL查询来查看和管理这些表空间和数据文件。这对于管理和优化Oracle数据库的性能至...
提供的“收藏过的oracle学习网站.txt”文件可能包含一系列Oracle学习资料链接,这些链接可能涵盖表空间管理、数据库备份恢复、SQL查询优化等多个方面,对于深入理解Oracle表空间的管理至关重要。 6. **工具使用**...
在实际应用中,创建表空间是非常重要的操作,因为它可以帮助用户更好地管理数据库中的数据,并提高数据库的性能。 此外,还可以使用 Oracle 的其他功能,如创建索引、视图、存储过程等,以满足不同的应用需求。 在...
表空间管理是 Oracle 数据库管理的重要组成部分。本文将对 Oracle 表空间命令语句进行详细的介绍和讲解。 一、建立表空间 建立表空间是 Oracle 数据库管理的基本操作。使用 CREATE TABLESPACE 命令可以创建一个新...
### Oracle 多个表空间合并成一个表空间详解 #### 背景介绍 在进行数据库维护时,可能会遇到需要将多个表空间合并为一个的情况。这种情况通常发生在新项目的开发过程中,尤其是当新项目需要引用来自其他表空间的...
创建和管理表空间及用户资源权限是数据库管理员(DBA)的重要工作之一。以下将详细介绍如何在Oracle中创建表空间、临时表空间以及赋予用户对表空间的权限。 首先,我们来了解如何创建一个常规表空间: 1. **创建表...
在 Oracle8i 之后,创建表空间都推荐使用“本地管理表空间”,这种表空间中的分区是一个固定大小的值。语法结构如下: ``` CREATE TABLESPACE 空间名称 DATAFILE '文件名 1' SIZE 数字 M [,'文件名2' SIZE 数字….] ...
2. **自动段空间管理(Automatic Segment Space Management, ASSM)**:Oracle从9i版本开始引入ASSM,它简化了表空间的空间管理,通过位图块来跟踪空闲空间,提高了空间利用率和删除效率。 3. **purge操作**:Purge...
根据提供的标题、描述、标签及部分内容,我们可以总结出与Oracle表空间管理相关的多个知识点,具体如下: ### 一、理解Oracle表空间的概念 在Oracle数据库中,表空间是由一个或多个数据文件组成的逻辑存储单元。它...
1. 数据文件必须是ONLINE状态才能执行此命令,如果文件已经OFFLINE,只有在字典管理表空间(DMT)中才能执行,对本地管理表空间(LMT)则不行。 2. 不能删除表空间的第一个数据文件或唯一的数据文件,否则会引发错误...