system表空间:含数据字典信息

sysaux表空间:存储各种oracle应用的元数据(如AWR的操作数据)

创建表空间后,不能改变区尺寸

区尺寸管理:
自动分配(AUTOALLOCATE):小段64K,中段1M,大段64M
统一分配(UNIFORM):需跟size,如果认为表空间的所有段的尺寸大致相同,并且认为它们会以一种相似方式增长,可以选择uniform区尺寸管理。

手动段空间管理,须使用可用列表(Free list),pctfree,pctused

通过pctfree参数可以在每个数据块中保留一定比例的空间。

自动段空间管理,用位图跟踪一个段的可用空间的可用性。

创建表空间
create tablespace datafile 创建永久表空间
create temporary tablespace tempfile
create undo tablespace

SQL>r
1 create tablespace test1
2 datafile '/u02/app/oracle/test1.dbf'
3* size 1M
Tablespace created.

SQL>r
1* select tablespace_name,allocation_type,contents,extent_management,segment_space_management from dba_tablespaces

TABLESPACE_NAME ALLOCATION_type CONTENTS EXTENT_MANAGEMENT SEGMENT_SPACE_MANAGEMENT
----------------------------- --------- --------- -------------------- -------------------------
SYSTEM SYSTEM permanent LOCAL MANUAL
SYSAUX SYSTEM PERMANENT LOCAL AUTO
UNDOTBS1 SYSTEM UNDO LOCAL MANUAL
TEMP uniform TEMPORARY LOCAL MANUAL
USERS SYSTEM PERMANENT LOCAL AUTO
TEST1 SYSTEM PERMANENT LOCAL AUTO

create tablespace test3
datafile '/u02/app/oracle/test3.dbf' size 8m
uniform size 4m;

如果区分配使用uniform未指定size,默认创建1M统一区

SQL>select initial_extent,next_extent,extent_management,allocation_type,segment_space_management,tablespace_name from dba_tablespaces;

INITIAL_EXTENT NEXT_EXTENT EXTENT_MANAGEMENT ALLOCATIO SEGMENT_SPACE_MANAGEMENT TABLESPACE_NAME
-------------- ----------- -------------------- --------- ------------------------- ------------------------------
65536 LOCAL SYSTEM MANUAL SYSTEM
65536 LOCAL SYSTEM AUTO SYSAUX
65536 LOCAL SYSTEM MANUAL UNDOTBS1
1048576 1048576 LOCAL UNIFORM MANUAL TEMP
65536 LOCAL SYSTEM AUTO USERS
65536 LOCAL SYSTEM AUTO TEST1
4194304 4194304 LOCAL UNIFORM AUTO TEST3

增加表空间大小:
alter tablespace test1 add datafile '/u02/app/oracle/test12.dbf' size 1m ;
alter database datafile '/u02/app/oracle/test1.dbf' resize 20m ;

请求表空间时,自动给表空间增加10M,MAXSIZE限定表空间为100M
alter tablespace test3 add datafile '/u02/app/oracle/test31.dbf' size 10m
autoextend on
next 10m
maxsize 100m

删除表空间
drop tablespace test4;
drop tablespace test4 INCLUDING CONTENTS AND DATAFILES;
drop tablespace test3 cascade constraints;删除表的引用完整性约束

SQL>desc v$sysaux_occupants
Name Null? Type
----------------------------------------- -------- ----------------------------
OCCUPANT_NAME VARCHAR2(64)
OCCUPANT_DESC VARCHAR2(64)
SCHEMA_NAME VARCHAR2(64)
MOVE_PROCEDURE VARCHAR2(64)
MOVE_PROCEDURE_DESC VARCHAR2(64)
SPACE_USAGE_KBYTES NUMBER

select occupant_name,schema_name,move_procedure from v$sysaux_occupants;

OCCUPANT_NAME SCHEMA_NAM MOVE_PROCEDURE
-------------------- ---------- ----------------------------------------------------------------

EM SYSMAN emd_maintenance.move_em_tblspc
TEXT CTXSYS DRI_MOVE_CTXSYS
ULTRASEARCH WKSYS MOVE_WK
ULTRASEARCH_DEMO_USE WK_TEST MOVE_WK

如果希望将sysaux的占有物ULTRASEARCH移动到一个新的表空间ULTRA1,可以使用WKSYS模式拥有的MOVE_WK过程来完成
exect WKSYS.MOVE_WK('ULTRA1');

预警极限值
预警极限值类型:百分比满,字节剩余数
设置预警极限值:OEM--administration--related links--manage metrics--edit thresholds
OEM--相关链接--度量和策略设置--编辑

SQL>BEGIN
DBMS_SERVER_ALERT.SET_THRESHOLD(
metrics_id =>DBMS_SERVER_ALTER.TABLESPACE_BYT_FREE,
warning_operator =>DBMS_SERVER_ALTER.OPERATOR_LE,
warning_value =>'10240',
critical_operator =>DBMS_SERVER_ALTER.OPERATOR_LE,
critical_value =>'2048',
observation_period =>1,
consecutive_occurrences =>1,
instance_name =>NULL,
object_type =>DBMS_SERVER_ALTER.OBJECT_TYPE_TABLESPACE,
object_name =>'users');
END;

以上警告极限值warning_value为10M,严重极限值critical_value为2M

SQL>SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;

TABLESPACE_N TOTAL USED FREE % USED % FREE
------------ ---------- ---------- ---------- ---------- ----------
SYSAUX 629145600 545652736 82444288 86.72 13.28
UNDOTBS1 550502400 44302336 505151488 8.04 91.96
USERS 5242880 327680 3866624 6.25 73.75
SYSTEM 734003200 684457984 48496640 93.25 6.65

表空间脱机
alter tablespace test1 offline;

重命名表空间
alter tablespace test1 rename to test2;

select file#, name from v$datafile

FILE# NAME
---------- --------------------------------------------------
1 +DATA/ora11g/datafile/system.260.823205117
2 +DATA/ora11g/datafile/sysaux.261.823205185
3 +DATA/ora11g/datafile/undotbs1.262.823205249
4 +DATA/ora11g/datafile/users.264.823205299
5 /u02/app/oracle/test1.dbf
6 /u02/app/oracle/test3.dbf
8 /u02/app/oracle/test12.dbf
9 /u02/app/oracle/test31.dbf

select tablespace_name, file_name,file_id,autoextensible from dba_data_files;

TABLESPACE_N FILE_NAME FILE_ID AUTOEXTENSIBLE
------------ -------------------------------------------------- ---------- --------------------
SYSTEM +DATA/ora11g/datafile/system.260.823205117 1 YES
SYSAUX +DATA/ora11g/datafile/sysaux.261.823205185 2 YES
UNDOTBS1 +DATA/ora11g/datafile/undotbs1.262.823205249 3 YES
USERS +DATA/ora11g/datafile/users.264.823205299 4 YES
TEST1 /u02/app/oracle/test1.dbf 5 NO
TEST3 /u02/app/oracle/test3.dbf 6 NO
TEST1 /u02/app/oracle/test12.dbf 8 NO
TEST3 /u02/app/oracle/test31.dbf 9 YES

重命名数据文件,须使表空间脱机,以致数据文件脱机
alter tablespace test1 offline
在os下:cp或mv
在db下:alter tablespace test1 rename datafile '/u01/app/oracle/test1.dbf' to '/u02/app/oracle/test1.dbf';

只读表空间
alter tablespace test1 read only;
alter tablespace test1 read write;

在临时表空间内排序

默认时,所有临时表空间都是用统一尺寸的本地管理的区来创建。

在给一个表空间组分配第一个临时表空间时,就自动创建了该临时表空间组。
alter tablespace temp1 tablespace group group1;如果group1不存在,改语句将会自动创建group1

Oracle各种表空间的更多相关文章

  1. oracle数据库表空间追加数据库文件方法

    oracle数据库表空间追加数据库文件方法   针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G  第一种方式:表空间增加数据文件    www.2cto.com   1 ...

  2. Oracle 设置表空间自增长

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  3. Oracle Temp表空间切换

    来源于:  http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ...

  4. Oracle基础表空间建立,以及练习

    Oracle的表空间创建,可以采用网页的https://127.0.0.1:1158/em来进入oracle的页面进行创建表空间. 利用plsqldev.exe程序在表空间里添加数据: 首先要在use ...

  5. [转载]Oracle修改表空间大小

    Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ...

  6. Oracle建立表空间和用户

    Oracle建立表空间和用户 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create sess ...

  7. oracle 11g 表空间使用率

    Oracle数据库表空间使用量查询: select b.file_name 物理文件名,b.tablespace_name 表空间,b.bytes/1024/1024 大小M,(b.bytes-sum ...

  8. oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

    今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace,        b.segfile# ...

  9. Oracle查看表空间及修改数据文件大小

    Oracle查看表空间及修改数据文件大小 第一步:查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from ...

  10. Oracle误删表空间文件后数据库无法启动

    [问题描述]Oracle误删表空间文件后数据库无法启动,报错表空间文件不存在 [解决办法]sqlplus / as sysdba       #以dba身份登陆数据库shutdown immediat ...

随机推荐

  1. EasyUI 搜索框

    1.用法 (1).从标记创建.把 'easyui-searchbox' class 加入到 <input> 标记. <script type="text/javascrip ...

  2. 《FPGA全程进阶---实战演练》第三章之接地设计

    信号回路的电位基准点,(直流电源的负极或者零伏点)在单板上可以分为数字地和模拟地.理想的工作地是电路参考点的等电位平面,然而在实际中,工作地被认为信号电流的低阻抗回路和电源的供电回路,这样就会有三个方 ...

  3. foreach、count、explode(对无限级分类的语法注释-显示无限级效果)

    foreach ($array as $key => $value) foreach仅能用于数组. 每次循环中,当前单元的键名也会在每次循环中被赋给变量$key. 当前单元的值被赋给$value ...

  4. ubuntu开启SSH服务远程登录

    http://blog.csdn.net/jackghq/article/details/54974141 ubuntu开启SSH服务远程登录

  5. C struct的内存对齐

    说明:如果你看到了这篇,请略过. struct是复合类型. 其中的成员在内存中的分布都是对齐的. 这个对齐的意思是,struct的sizeof运算结果必定是其最大类型长度的整数倍. --注意,如果st ...

  6. 【复杂】CentOS 6.4下PXE+Kickstart无人值守安装操作系统

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  7. C# 使用IrisSkin2.dll皮肤库C# ssk皮肤

    其实皮肤就是一个第三方的控件,名字是IrisSkin2.dll只要添加到你的工具箱里就可以和其它控件一样使用了下面我说一下使用的方法,不对的地方大家多指教啊. 一.添加控件IrisSkin2.dll. ...

  8. jQuery-理解选择结果

    使用$函数选择元素返回的是一个对象,可以称这个对象为jQuery对象,在jQuery执行一些操作的时候很多情况下都是返回的jQuery对象. jQuery中常用处理结果集的方法和属性 表达式 例子 说 ...

  9. 转:windows 下 netsh 实现 端口映射(端口转发)

    本文转自:本文出自 “httpyuntianjxxll.spac..” 博客,请务必保留此出处http://333234.blog.51cto.com/323234/1135361 -----hapr ...

  10. 【matlab】error:试图访问 im2(1,1211);由于 size(im2)=[675,1210],索引超出范围。

    试图访问 im2(1,1211):由于 size(im2)=[675,1210],索引超出范围. 出错 dect (line 14) if abs((im2(i,j))-(im1(i,j)))> ...