一、TableSpace表空间的使用规则
1、使用多个TableSpace
* 用户数据与数据字典数据分离,减少竞争
* 应用程序之间的数据分离,防止某个TableSpace脱机后对多个程序造成影响
* 不同磁盘驱动器上存储数据,减少I/O竞争
* 回滚段数据与用户数据分离,防止单磁盘故障造成数据永久丢失
* 可以控制单个TableSpace脱机,提供更高的整体可用性
* 为特定类型数据库使用保留TableSpace,可优化TableSpace的使用
* 可以备份单独的TableSpace
2、指定表空间默认的存储参数
为TableSpace设置合适的参数,下文中详细介绍。
3、为用户指定表空间限额
可以有效控制TableSpace的大小,限制用户权限防止发生意外。
二、创建TableSpace
1、创建本地管理TableSpace
Oracle创建的TableSpace默认均是本地管理的,明确的表述应该是:
在CREATE TABLESPACE 语句中 EXTENT MANAGEMENT 子句中指定 LOCAL
然后可以用 AUTOALLOCATE 选项(默认)来使Oracle自动管理盘区
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
也可以使用一个指定大小(UNIFORM SIZE)的同意盘区来管理该TableSpace
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
如果未指定盘区大小,则默认为1M,说明数据文件至少要大于1MB
注:如果TableSpace被期望用于包含需要不同盘区大小和拥有很多盘区的大小变动的对象,那选择AUTOALLOCATE是最好的选择。AUTOALLOCATE是一种管理TableSpace的简便方法,只是有可能会对一些空间造成浪费。如果需要准确控制未用空间,并能够精确预计为一个或多个对象要非配的空间和盘区大小,那就可以使用UNIFORM。
2、在本地管理TableSpace中指定段空间管理
可使用 SEGMENT SPACE MANAGEMENT子句来设置端控件的管理模式,有以下几种模式:
MANUAL(默认):使用段中管理空闲空间的空闲列表。
AUTO:使用位图来管理段中的空闲空间。又称为自动段空间管理。
AUTO立功了一种更加简单、有效的管理方法,完全消除了为表空间中创建的段指定和调整PCTUSED、FREELISTS、FREELISTS GROUPS属性的任何必要。
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
注:LOB类型不能指定自动段空间管理。
3、修改本地管理TableSpace
* 不能讲本地管理TableSpace改为本地管理的temp TableSpace
* 不能改变TableSpace的段空间管理办法
* 本地管理TableSpace没有必要合并空闲盘区
* 可以添加数据文件
* 可以改变TableSpace状态(ONLINE/OFFLINE)
* 修改TableSpace为只读or只写
* rename数据文件
* 启用/禁用该TableSpace数据文件的自动盘区大小
4、创建字典管理的TableSpace
CREATE TABLESPACE tbsb
DATAFILE '/u02/oracle/data/tbsb01.dbf' SIZE 50M
EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE (
INITIAL 50K
NEXT 50K
MINEXTENTS 2
MAXEXTENTS 50
PCTINCREASE 0);
使用ALTER TABLESPACE语句可以进行以下操作:
* 添加一个新的文件
* 改变默认的存储参数
* 合并TableSpace的空闲空间
* 可以改变TableSpace状态(ONLINE/OFFLINE)
* 修改TableSpace为只读or只写
* rename数据文件
* 启用/禁用该TableSpace数据文件的自动盘区大小
5、临时表空间
临时表空间主要用于提高多个排序操作的并发能力、减小开销,或避免Oracle空间管理操作在一起进行。临时表空间创建之后,可以被多个用户共享。
一个给定实例和表空间的所有排序操作共享一个单一的排序段。即排序段为一个给定表空间的每个执行排序操作的实例而存在。
排序段由使用临时表空间用于排序的第一个语句创建,并在关闭时释放,一个盘区不能被多个事务共享。
可以使用V$SORT_SEGMENT视图来查看临时表空间排序段的空间分配和回收情况
用V$SORT_USAGE视图查看这些段的当前排序用户
注:临时表空间中不能创建明确对象。
6、创建本地管理的临时表空间
CREATE TEMPORARY TABLESPACE lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf' SIZE 20M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;
注1:临时数据文件信息查询与数据文件不同,需要查询V$TEMPFILE和DBA_TEMP_FILES,但结构与V$DATAFILE和DBA_DATA_FILES类似。
注2:临时表空间在初次使用时才分配空间,可以更快创建和修改大小,但要注意磁盘大小。
7、本地管理临时表空间的修改
* 添加临时文件
ALTER TABLESPACE lmtemp ADD TEMPFILE '/u02/oracle/data/lmtemp02.dbf' SIZE 20M REUSE;
* 改变临时文件状态
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' ONLINE|OFFLINE;
* 更改临时文件大小
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' RESIZE 4M;
* 取消临时文件并删除相应操作系统文件
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP
INCLUDING DATAFILES;
8、创建字典管理的临时表空间
CREATE TABLESPACE sort
DATAFILE '/u02/oracle/data/sort01.dbf' SIZE 50M
DEFAULT STORAGE (
INITIAL 2M
NEXT 2M
MINEXTENTS 1
PCTINCREASE 0)
EXTENT MANAGEMENT DICTIONARY
TEMPORARY;
注1:不能以这种方式创建EXTENT MANAGEMENT LOCAL的临时表空间。
注2:可以使用ALTER TABLESPACE tbsa TEMPORARY;语句将一个现有的字典管理永久表空间改为临时表空间。
oracle中对于TableSpace理解相关推荐
- Oracle中Hint深入理解(原创)
http://czmmiao.iteye.com/blog/1478465 Hint概述 基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担.但有时它也聪明反被聪明 ...
- 理解oracle中连接和会话
理解oracle中连接和会话 1. 概念不同:概念不同: 连接是指物理的网络连接. 在已建立的连接上,建立客户端与oracle的会话,以后客户端与oracle的交互都在一个会话环境中进行. 2. ...
- oracle 几种锁,oracle_基于oracle中锁的深入理解,ORACLE里锁有以下几种模式:0:no - phpStudy...
基于oracle中锁的深入理解 ORACLE里锁有以下几种模式:0:none 1:null 空 2:Row-S 行共享(RS):共享表锁 3:Row-X 行专用(RX):用于行的修改 4:Share ...
- oracle中start with和connect by的用法理解
Oracle中start with和connect by 用法理解 转自:http://www.blogjava.net/xzclog/archive/2010/03/05/314642.html,多 ...
- oracle中的一些基本概念
Oracle数据库的物理文件是存储在磁盘上的数据文件.控制文件和日志文件的总称.数据文件和日志文件是数据库中最重要的文件.数据库由若干个表空间组成,表空间由表组成,表由段组成,段由区间组成,区间由数据 ...
- Oracle中Cluster Table的使用
大家对通常oracle中的cluster的理解是不准确的,经常和sql server中的cluster index混淆.Cluster是存储一组table的一种方法,这些table共享同一数据块中的某 ...
- ORACLE中的两个概念:user和schema的区别和联系
http://oracle.chinaitlab.com/induction/835839.html 今天重读ORACLE官方文档<concepts>,读到schema的基本概念,对它的理 ...
- oracle rowID切片,Oracle中的rowid
ROWID是ORACLE中的一个重要的概念.用于定位数据库中一条记录的一个相对唯一地址值.通常情况下,该值在该行数据插入到数据库表时即被确定且唯一.ROWID它是一个伪列,它并不实际存在于表中.它是O ...
- 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)
初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...
最新文章
- AIX 6.1 异步 I/O 的 配置与性能评估
- linux dump_stack
- mysql日期纬度表_mysql中生成时间维度表
- 程序员使用未经批准的软件时会怎么样?
- 当有脚本错误时,停止运行。
- matlab_一组数据元素随机排列
- ESXI洗白安装黑群晖教程,附文件
- 串口转以太网口--模块研发过程
- css 如何让盒子垂直居中,css 盒子垂直居中
- Android MTK log分析
- css表格文字超数量就竖排_css实现文字竖排
- 关于智能码控门禁系统项目的二维码验证问题
- cmd_vel速度话题的使用
- VIM 参考手册 For Vim version 7.3
- 旗正规则引擎的产品设计
- 20210904英雄联盟记录
- 手机里的照片导入计算机的方法,如何把iphone照片导入电脑 四种方法分享【图文】...
- i春秋·网络内生安全训练场 pwn Car Search System
- 银行储蓄管理系统 课程设计
- MySQL 自定义stuff函数
热门文章
- bind dlz mysql rpm_MySQL+BIND-dlz 实现智能DNS
- 推动和规范编程教育纳入中小学相关课程加强师资建设(2020)
- 国家规定的三级分销违法吗?
- 带疑问的歌词有哪些_带有(我)字的歌词有哪些
- Udacity数据分析(进阶)-Prosper 贷款数据分析
- 软考-程序员-资料整理1
- 618买什么蓝牙耳机最划算?四款高品质蓝牙耳机测评
- 虚拟机下NAT 和 桥接模式 联网操作
- Java导出多个excel并压缩下载
- 割平面算法求解整数规划