本space搜集和整理各种环境下的Oracle 安装与参数调整和设置技术文章

Oracle 10g新增表空间类型:大文件表空间(1)

上一篇 / 下一篇  2008-07-14 23:03:02 / 个人分类:Oracle10g安装

Oracle 10g 的存储能力有了显著的增强。这表现在很多方面,下面介绍 10g 新增的表空间类型:大文件 (Bigfile) 表空间。

大文件表空间从某种角度来说提高了 Oracle 在 VLDB 上的管理能力。 只有自动段空间管理的 LMT (Locally Managed Tablespaces ) 支持 BIGFILE 表空间。 大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。(以下用 BFT 指代 BIGFILE Tablespace。)

BFT 可以和以下存储技术结合使用:

自动存储管理(ASM)

LVM

OMF

理论上的 BFT 可以达到下面所列的值:

数据块大小(单位:K) BFT 最大值(单位:T) 
2k 8T 
4k 16T 
8k 32T 
16k 64T 
32k 128T

在实际环境中,这还受到操作系统的文件系统的限制。

BFT基本操作

10g数据库在创建的时候,会指定默认的表空间类型。如果不特殊指定的话,默认为 SMALLFILE 类型的表空间。

SQL> SELECT *

2 FROM database_properties

3 WHERE property_name = 'DEFAULT_TBS_TYPE';

PROPERTY_NAME PROPERTY_VALUE DESCRIPTION

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

DEFAULT_TBS_TYPE SMALLFILE Default tablespace type

这种情况下,如果我们创建表空间的时候不指定类型,那么默认创建的都是 SMALLFILE 类型的表空间。可以通过 ALTER DATABASE 命令来修改数据库默认的表空间类型:

SQL> ALTER DATABASE SET DEFAULT bigfile TABLESPACE;

Database altered.

SQL> SELECT *

2 FROM database_properties

3 WHERE property_name = 'DEFAULT_TBS_TYPE';

PROPERTY_NAME PROPERTY_VALUE DESCRIPTION

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

DEFAULT_TBS_TYPE BIGFILE Default tablespace type

SQL>

SQL> ALTER DATABASE SET DEFAULT smallfile TABLESPACE;

创建 BIGFILE 类型的表空间,只需指定额外的一个参数 BIGFILE 即可,其他和原有创建表空间语法类似:

CREATE BIGFILE TABLESPACE bftbs

DATAFILE '/u01/app/oracle/oradata/DEMO/bftbs01.dbf' SIZE 5M;

DBA_TABLESPACES (USER_TABLESPACES)与 V$TABLESPACE 这两个视图可以查看 BIGFILE 表空间的相关信息。先看看 DBA_TABLESPACES 在 10g 中有了什么变化:

SQL> desc DBA_TABLESPACES

Name Null? Type

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

TABLESPACE_NAME NOT NULL VARCHAR2(30)

BLOCK_SIZE NOT NULL NUMBER

INITIAL_EXTENT NUMBER

NEXT_EXTENT NUMBER

MIN_EXTENTS NOT NULL NUMBER

MAX_EXTENTS NUMBER

PCT_INCREASE NUMBER

MIN_EXTLEN NUMBER

STATUS VARCHAR2(9)

CONTENTS VARCHAR2(9)

LOGGING VARCHAR2(9)

FORCE_LOGGING VARCHAR2(3)

EXTENT_MANAGEMENT VARCHAR2(10)

ALLOCATION_TYPE VARCHAR2(9)

PLUGGED_IN VARCHAR2(3)

SEGMENT_SPACE_MANAGEMENT VARCHAR2(6)

DEF_TAB_COMPRESSION VARCHAR2(8)

RETENTION VARCHAR2(11)

BIGFILE VARCHAR2(3)

SQL>

和 9i 相比, DBA_TABLESPACES 视图多了两列:RETENTION 和 BIGFILE。其中 BIGFILE 列说明该表空间是否为 BFT:

SQL> SELECT tablespace_name, bigfile

2 FROM dba_tablespaces;

TABLESPACE_NAME BIG

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

SYSTEM NO

UNDOTBS NO

SYSAUX NO

TEMP NO

USERS NO

EXAMPLE NO

TEST NO

BFTBS YES

8 rows selected.

V$TABLESPACE 视图相对 9i 也增加了新的列:

SQL> desc V$TABLESPACE

Name Null? Type

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

TS# NUMBER

NAME VARCHAR2(30)

INCLUDED_IN_DATABASE_BACKUP VARCHAR2(3)

BIGFILE VARCHAR2(3)

FLASHBACK_ON VARCHAR2(3)

其中 FlASHBACK_ON 和 BIGFILE 列都是新增的。

BFT 属性

BFT有一些特有的属性。

1.每个表空间只能包含一个数据文件。如果试图添加新的文件,则会报告 ORA-32771 错误:

SQL> ALTER TABLESPACE bftbs

2 ADD DATAFILE '/u01/app/oracle/oradata/DEMO/bftbs02.dbf' SIZE 5M;

ALTER TABLESPACE bftbs

*

ERROR at line 1:

ORA-32771: cannot add file to bigfile tablespace


TAG: oracle 数据库

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-05  
 123456
78910111213
14151617181920
21222324252627
28293031   

我的存档

数据统计

  • 访问量: 6042
  • 日志数: 253
  • 建立时间: 2008-07-08
  • 更新时间: 2008-07-28

RSS订阅

Open Toolbar