管理表空间

Managing Tablespaces

本地管理表空间

创建本地管理表空间

1.AUTOALLOCATE模式

默认模式,自动管理extent的大小。Extent最小值为64k。

CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M

EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

2. UNIFORM模式

手动管理extent大小,指定了extent的值,如果不指定size,默认值是1M。

CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

3.使用自动段管理

创建表空间并使用自动segment管理

CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M

EXTENT MANAGEMENT LOCAL

SEGMENT SPACE MANAGEMENT AUTO;

给表空间增加数据文件

ALTER TABLESPACE lmtbsb

ADD DATAFILE '/u02/oracle/data/lmtbsb02.dbf' SIZE 1M;

大文件表空间

创建大文件表空间

CREATE BIGFILE TABLESPACE bigtbs

DATAFILE '/u02/oracle/data/bigtbs01.dbf' SIZE 50G

查看大文件表空间

可以通过以下视图查看

DBA_TABLESPACES

USER_TABLESPACES

V$TABLESPACE

增加大文件表空间大小

ALTER TABLESPACE bigtbs RESIZE 80G;

大文件表空间不可以增加数据文件

临时表空间

默认临时表空间

更改默认临时表空间

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE tablespace_name;

查看当前默认临时表空间

ELECT PROPERTY_NAME, PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE

PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

创建临时表空间

CREATE TEMPORARY TABLESPACE lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf'

SIZE 20M REUSE;

给临时表空间增加数据文件

ALTER TABLESPACE lmtemp

ADD TEMPFILE '/u02/oracle/data/lmtemp02.dbf' SIZE 18M REUSE;

改变临时表空间大小

ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' RESIZE 18M;

删除临时表空空间文件

ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP

INCLUDING DATAFILES;

收缩临时表空间

可以释放临时表空间中未使用的空间

缩小到最小可能值

ALTER TABLESPACE lmtemp1 SHRINK SPACE

缩小到20M

ALTER TABLESPACE lmtemp1 SHRINK SPACE KEEP 20M;

缩小临时表空间文件

ALTER TABLESPACE lmtemp2 SHRINK TEMPFILE '/u02/oracle/data/lmtemp02.dbf';

修改表空间可用性

表空间离线

ALTER TABLESPACE...OFFLINE {normal|temporary|immediate}

normal是首选方式,这种情况下oracle发出一个checkpoint,当将表空间online时不需要recover,如果normal方式不行,则选用TEMPORARY方式 ,使用此方式offline后,在online时只需recover有error的数据文件。最后一种方式就是immediate方式,此种方式不发出checkpoint,online时需要recover.

注意:system表空间,undo表空间,临时表空间不能离线

      离线表空间在数据库重启后依然处在离线状态

表空间上线

ALTER TABLESPACE users ONLINE;

只读表空间

设置表空间为只读

ALTER TABLESPACE flights READ ONLY;

使表空间可写

ALTER TABLESPACE flights READ WRITE;

重命名表空间

ALTER TABLESPACE users RENAME TO usersts

System和sysaux表空间不能被重命名

如果表空间是只读的,则被修改。

删除表空间

删除表空间及其包含的段

DROP TABLESPACE users INCLUDING CONTENTS;

删除表空间及其包含的段及对应数据文件

DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES;

常用的视图查询

1.查看表空间存储参数

SQL>SELECT TABLESPACE_NAME "TABLESPACE",

INITIAL_EXTENT "INITIAL_EXT",

NEXT_EXTENT "NEXT_EXT",

MIN_EXTENTS "MIN_EXT",

MAX_EXTENTS "MAX_EXT",

PCT_INCREASE

FROM DBA_TABLESPACES;

TABLESPACE                     INITIAL_EXT   NEXT_EXT    MIN_EXT    MAX_EXT PCT_INCREASE

------------------------------ ----------- ---------- ---------- ---------- ------------

SYSTEM                               65536                     1 2147483645

SYSAUX                               65536                     1 2147483645

UNDOTBS1                             65536                     1 2147483645

TEMP                               1048576    1048576          1                       0

USERS                                65536                     1 2147483645

EXAMPLE                              65536                     1 2147483645

BIGTBS                               65536                     1 2147483645

TEMP2                              1048576    1048576          1                       0

2.列出表空间和其对应的数据文件

SQL> SELECT FILE_NAME, BLOCKS, TABLESPACE_NAME

FROM DBA_DATA_FILES;

FILE_NAME BLOCKS TABLESPACE_NAME

------------ ---------- -------------------

/U02/ORACLE/IDDB3/DBF/RBS01.DBF 1536 RBS

/U02/ORACLE/IDDB3/DBF/SYSTEM01.DBF 6586 SYSTEM

/U02/ORACLE/IDDB3/DBF/TEMP01.DBF 6400 TEMP

/U02/ORACLE/IDDB3/DBF/TESTTBS01.DBF 6400 TESTTBS

/U02/ORACLE/IDDB3/DBF/USERS01.DBF 384 USERS

3.查看表空间的空闲空间

SQL> SELECT TABLESPACE_NAME "TABLESPACE", FILE_ID,

  2  COUNT(*) "PIECES",

  3  MAX(blocks) "MAXIMUM",

  4  MIN(blocks) "MINIMUM",

  5  AVG(blocks) "AVERAGE",

  6  SUM(blocks) "TOTAL"

  7  FROM DBA_FREE_SPACE

  8  GROUP BY TABLESPACE_NAME, FILE_ID;

TABLESPACE FILE_ID PIECES MAXIMUM MINIMUM AVERAGE TOTAL

---------- ------- ------ ------- ------- ------- ------

RBS 2 1 955 955 955 955

SYSTEM 1 1 119 119 119 119

TEMP 4 1 6399 6399 6399 6399

TESTTBS 5 5 6364 3 1278 6390

USERS 3 1 363 363 363 363

PIECES表示空闲extent的个数,MAXIMUM and MINIMUM 表示数据块中最小和最大相邻的连续空间,average表示空闲extent的平均值,total表示表空间的空闲值。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25427762/viewspace-1063577/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25427762/viewspace-1063577/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值