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. am335x reboot 命令分析

    本文记录am335x运行reboot命令时,内核中运行过程. Tony Liu, 2016-6-8, Shenzhen 参考链接: http://blog.csdn.net/wavemcu/artic ...

  2. 不要忘记最后那个 default 分支

    不要忘记最后那个 default 分支. 即使程序真的不需要 default 处理, 也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以 为你忘了 defaul ...

  3. Building a Non-blocking TCP server using OTP principles

    转自:https://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles ...

  4. Linux基础知识之man手册的使用

    在Linux中man的使用频率应该是很高的,灵活运用它可以让自己快速的掌握一个不熟悉命令的使用方法.下面来介绍下man 环境CentOS6.8 man - format and display the ...

  5. java 正则表达式验证

    package com.fsti.icop.util.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; p ...

  6. 超全面的JavaWeb笔记day11<JSP&Session&Cookie&HttpSession>

    1.JSP 2.回话跟踪技术 3.Cookie 4.HttpSession JSP入门 1 JSP概述 1.1 什么是JSP JSP(Java Server Pages)是JavaWeb服务器端的动态 ...

  7. Django管理工具django-admin.py创建项目

    安装Django之后就安装了可用的管理工具django-admin.py,可以使用它来创建项目,运行django-admin.py来查看命令介绍:

  8. ActiveMQ内存配置和密码设置

    1.配置内存 bin中activemq.bat 中的第一行 加上 : REM 配置内存 set ACTIVEMQ_OPTS=-Xms1G -Xmx1G 2.修改控制台密码 1.打开conf/jetty ...

  9. help()

    help() 用于查看函数或模块的帮助信息 In [1]: help(id) # 查看id()这个函数的帮助信息,注意不要写成help(id()) id(...) id(object) -> i ...

  10. SDRAM容量的计算方法

    当我在看有关SDRAM的芯片手册的时候,我一直在想这样一个问题:SDRAM的容量它究竟是如何计算的呢?经过查找网上的各种资料,最后在这里给大伙分享一下我的总结! 就以我的开发板的SDRAM的芯片手册的 ...