Oracle各种表空间
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各种表空间的更多相关文章
- oracle数据库表空间追加数据库文件方法
		oracle数据库表空间追加数据库文件方法 针对非大文件方式表空间,允许追加文件进行表空间的扩展,单个文件最大大小是32G 第一种方式:表空间增加数据文件 www.2cto.com 1 ... 
- Oracle 设置表空间自增长
		Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ... 
- Oracle Temp表空间切换
		来源于: http://www.2cto.com/database/201507/418564.html 一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时 ... 
- Oracle基础表空间建立,以及练习
		Oracle的表空间创建,可以采用网页的https://127.0.0.1:1158/em来进入oracle的页面进行创建表空间. 利用plsqldev.exe程序在表空间里添加数据: 首先要在use ... 
- [转载]Oracle修改表空间大小
		Oracle修改表空间大小 使用Oracle10g建立数据库后,向数据库中导入了部分数据,第二天继续向数据库中导入数据表时发生错误: 查了很多资料发现原来是Oracle表空间限制,导致无法继续导入数据 ... 
- Oracle建立表空间和用户
		Oracle建立表空间和用户 建立表空间和用户的步骤: 用户 建立:create user 用户名 identified by "密码"; 授权:grant create sess ... 
- oracle 11g 表空间使用率
		Oracle数据库表空间使用量查询: select b.file_name 物理文件名,b.tablespace_name 表空间,b.bytes/1024/1024 大小M,(b.bytes-sum ... 
- oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段
		今天在查数据的时候报错 ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace, b.segfile# ... 
- Oracle查看表空间及修改数据文件大小
		Oracle查看表空间及修改数据文件大小 第一步:查看所有表空间及表空间大小: select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from ... 
- Oracle误删表空间文件后数据库无法启动
		[问题描述]Oracle误删表空间文件后数据库无法启动,报错表空间文件不存在 [解决办法]sqlplus / as sysdba #以dba身份登陆数据库shutdown immediat ... 
随机推荐
- 判断asp.net中session过期的方法
			判断asp.net中session过期的方法 转载自:http://www.cnblogs.com/xilipu31/archive/2013/04/12/3016830.html 方法一:最麻烦也是 ... 
- (五)Qt实现自定义模型基于QAbstractItemModel
			一个小例子 QTableView + QStandardItemModel QStandardItemModel model; //设置大小 model.setColumnCount(); //列 m ... 
- there are 0 datanode.....
			当时执行hive的导入数据load data inpath "XXXX" into table.....的时候发现总是导不进去,最后试了下简单的从Linux 到 HDFS上传文件 ... 
- php 连接数据库
			连接数据库 <?php $con = mysql_connect("localhost","root","root"); if (!$ ... 
- 关于Cocos2d-x中增加暂停按钮的步骤
			1.在GameScene.cpp的init方法中先定义一个里面放着可变换并在变换的时候会响应事件的MenuItem的Menu,这个Menu里面的可变换MenuItem又由两个小MenuItem组成,每 ... 
- Android BitmapFactory
			android BitmapFactory BitmapFactory是一个工具类,用于从不同数据源解析,创建Bitmap对象.bitmap类代表位图. BitmapFactory常用方法 stati ... 
- e595. Drawing an Image
			See also e575 The Quintessential Drawing Program and e594 Reading an Image or Icon from a File. publ ... 
- 初识Comet技术
			一.服务器推送技术概述 服务器推送技术(Servers Push)的基础思想是将浏览器主动查询信息改为服务器主动发送信息.服务器发送一批数据,浏览器显示这些数据,同时保证与服务器的连接.当服务器需要再 ... 
- 监视在input框中按下回车(enter) js实现
			function getKey(event) { if (event.keyCode == 13) { alert("我是回车键"); } } <input type=&qu ... 
- mysql的MyISAM 和 InnoDB 的区别?优化MYSQL数据库的方法?
			MyISAM 和 InnoDB 的基本区别 1.InnoDB不支持FULLTEXT类型的索引. 2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from tabl ... 
