学习bigfile的记录

学习bigfile的记录,参考文档:

http://www.oracle-base.com/articles/10g/ImprovedVLDBSupport10g.php


bigfile表空间是针对大型数据库存储时db_files和maxdiatafiles数量不够用时使用的,一个数据库最多有64000个datafile,bigfile tablespace相对small tablespace有以下特点:

1.一个bigfile表空间只能有一个datafile
2.bigfile表空间的大小可以达不到4G个block,即8K的block一个bigfile可以达到32T,32K的block可达到128T大小。
3.bigfile的大小要受到OS的限制,所以建议放在ASM或支持striping或RAID的逻辑卷管理设备上。
4.可以直接用alter tablespace语句来修改bigfile的属性。
5.bigfile tablespace必须使用本地管理的ASSM。

由于我没有测试bigfile的环境,所以就直接用文档上的例子。

1.建立bigfile表空间

-- Valid statement.
CREATE BIGFILE TABLESPACE mybigtbs
DATAFILE '/u01/oracle/MYSID/mybigtbs01.dbf' SIZE 100G;

-- Valid statement.
CREATE BIGFILE TABLESPACE mybigtbs
DATAFILE '/u01/oracle/MYSID/mybigtbs01.dbf' SIZE 100G
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;

-- invalid statement.
CREATE BIGFILE TABLESPACE mybigtbs
DATAFILE '/u01/oracle/MYSID/mybigtbs01.dbf' SIZE 100G
EXTENT MANAGEMENT DICTIONARY
SEGMENT SPACE MANAGEMENT MANUAL;

2.数据库默认的datafile类型

ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE;
ALTER DATABASE SET DEFAULT SMALLFILE TABLESPACE;

create tablespace语句会覆盖掉database的设定,可以通过dba_tablespace,user_tablespace,V$tablespace的bigfile

栏位是YES/NO来确定表空间的类型。

3.可以用alter tablespace来直接更改bigfile的属性,不用指定datafile子句

ALTER TABLESPACE mybigtbs RESIZE 100G;
ALTER TABLESPACE mybigtbs AUTOEXTEND ON NEXT 10G;

你可能感兴趣的:(File)