Bigfile Tablespace (BFT)

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 баазын байж болох хамгийн том хэмжээ

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

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

Бүх 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

2 Likes