# Bigfile Tablespace (BFT)

**URL:** <https://www.batmunkh.net/t/bigfile-tablespace-bft/102>\
**Category:** Tutorials, Solutions\
**Created:** [January 23, 2017, 4:15pm UTC](https://www.batmunkh.net/t/bigfile-tablespace-bft/102 "2017-01-23T16:15:53Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![batmunkh](https://www.batmunkh.net/user_avatar/www.batmunkh.net/batmunkh/32/297_2.png) [@batmunkh](https://www.batmunkh.net/u/batmunkh)\
**Post date:** [January 23, 2017, 4:15pm UTC](https://www.batmunkh.net/t/bigfile-tablespace-bft/102/1 "2017-01-23T16:15:53Z")

</div>

Bigfile tablespace гэдэг нь маш том хэмжээ бүхий цорын ганц файл агуулсан tablespace юм.  
Уламжлалт tablespace нь smallfile tablespace бөгөөд олон жижиг файлуудыг агуулдаг.

Oracle Database-ийн хувьд дараах шинж чанаруудтай:

- Oracle database smallfile tablespace болон bigfile tablespace аль алийг нь мөн зэрэг агуулах боломжтой
- Системийн үндсэн тохиргоо нь smallfile tablespace байна
- SYSTEM,SYSAUX tablespace үүд нь smallfile tablespace төрлөөр үүссэн байдаг
- Bigfile tablespace нь зөвхөн automatic segment-space management идэвхжүүлсэн local managed tablespace -ийг дэмжинэ

Bigfile tablespace -ийг Automated Storage Management (ASM) дээр хадгалах нь тохиромжтой бөгөөд мэдээж ASM -гүйгээр ашигласан ч болно. Local filesystem дээр хадгалж болно гэсэн үг.

##Ашиг тус

- Том баазад илүү цөөхөн датафайл ашиглахад
- Датафайлын тоог цөөрүүлснээр дахин дахин датафайл нэмэх шаардлагыг багасгана
- 8 exabyte хүртэлх хэмжээ бүхий tablespace үүсгэх боломжийг олгоно
- Нэг датафайл агуулах учраас tablespace болон датафайлын тоо ижил байна

##Хамгийн ихдээ байж болох баазын хэмжээ

Bigfile tablespace нь баазын болон tablespace -ийн хэмжээг өргөтгөхөд ашиглагдана. Дараах томъёог харъя.

Bigfile -ийн хамгийн их байж болох хэмжээ нь :

```
Maximum datafile size = db_block_size * maximum number of blocks

```

Хамгийн ихдээ байж болох баазын мэдээлэл:

```
Maximum database size = maximum datafile size * maximum number of datafile

```

Oracle 9i, Oracle 10g Database -ийн хувьд хамгийн ихдээ 65,536 датафайл байх боломжтой. Oracle9i-д нэг датафайлд байж болох хамгийн их блокын тоо 4,194,304 (4 сая) байсан бол Oracle 10g Database -ийн хувьд нэг датафайлд байж болох блогийн тоо 4,294,967,296 (4 тэрбум) болж ихэссэн.

Oracle9i баазын байж болох хамгийн том хэмжээ

 ![](https://www.batmunkh.net/uploads/default/original/1X/10d74101db512095b2c64eb2872f350b0a46f740.jpg)

Oracle 10g Database-н байж болох хамгийн их хэмжээ

 ![](https://www.batmunkh.net/uploads/default/original/1X/ae3e5bcf597828ceade19e6ffebde2caaf14d750.jpg)

Дээрхи хүснэгтнээс харахад хэр ялгаатай нь харагдаж байна.

Бүх tablespace үүдийг харах

```
SQL> select name, bigfile from v$tablespace;

 NAME BIGFILE
------------------------------ -------
SYSTEM NO
UNDOTBS01 NO
SYSAUX NO
TEMP NO
EXAMPLE NO
USERS NO
BIG_TBS YES

SQL> select tablespace_name,bigfile from dba_tablespaces;

TABLESPACE_NAME BIGFILE
------------------------------ ---------
SYSTEM SMALLFILE
UNDOTBS01 SMALLFILE
SYSAUX SMALLFILE
TEMP SMALLFILE|
EXAMPLE SMALLFILE
USERS SMALLFILE
BIG_TBS01 BIGFILE

```

* * *

Жишээнүүд:

Жишээ 1: Create a database with default bigfile tablespace.

```
CREATE DATABASE GRID
SET DEFAULT BIGFILE TABLESPACE
DATAFILE '/u01/app/oracle/oradata/DB11G/system01.dbf' SIZE 500 M,
SYSAUX DATA FILE '/u01/app/oracle/oradata/DB11G/sysaux01.dbf' SIZE 500 M
DEFAULT TEMPORARY TABLESPACE tbs01
TEMPFILE '/u01/app/oracle/oradata/DB11G/temp01.dbf' SIZE 1024 M
UNDO TABLESPACE undo01
DATAFILE '/u01/app/oracle/oradata/DB11G/' SIZE 1024 M;

```

Жишээ 2: Moving data between smallfile and bigfile tablespaces.

```
# хүснэгтний файлсистем дээрх замыг өөрчлөх. Өөр bigfile tablespace рүү зөөж байна.
ALTER TABLE employee MOVE TABLESPACE bigfile_tbs;

```

Example 3: Create a bigfile tablespace and change its size.

```
CREATE BIGFILE TABLESPACE user_tbs
DATAFILE '/u01/app/oracle/oradata/DB11G/user_tbs01.dbf' SIZE 1024 M;
# tablespace-ийн хэмжээг өөрчлөх
ALTER TABLESPACE user_tbs RESIZE 10G;

```

Дээрхи жишээ дээрээс хэмжээг өөрчилөхдөө G ашигласныг анхаарсан байх. Түүнчлэн Т буюу терабайт хэмжигдэхүүнийг ашиглаж болно.

Жишээ 4: Коммандын мөрнөөс DBV комманд ашиглаж датафайлыг шалгаж болно. Үүний тулд эхлэх блокыг зааж өгөх бөгөөд төгсгөлийн блокыг мөн тохируулан өгч шалгаж болно.

```
$dbv FILE=bigfile01.dbf START=1 END=10000
$dbv FILE=bigfile01.dbf START=10001

```

Жич: START = Start Block; END = End Block
