Oracle создает табличное пространство

Обновлено: 21.11.2024

В этом посте я объясню, что такое табличное пространство в Oracle.

Что такое табличное пространство в Oracle

Вам следует прочитать следующие статьи, если вы не знакомы с архитектурой базы данных Oracle.

Единицами распределения пространства базы данных Oracle являются блоки данных, экстенты и сегменты.

Oracle хранит данные в блоках данных, а набор блоков данных называется экстентами.

Сегмент — это набор экстентов, а каждая таблица и индекс — это сегмент в базе данных Oracle.

Связи между сегментами, экстентами и блоками данных показаны ниже.

Табличное пространство в Oracle

Табличные пространства — это логические единицы хранения, состоящие из одного или нескольких файлов данных. Файлы данных — это физические единицы хранения, в которых данные базы данных хранятся коллективно.

Табличные пространства состоят из таблиц и индексов.

Связи между табличным пространством, файлом данных, таблицей и индексом показаны ниже.

Когда вы устанавливаете и создаете новую базу данных Oracle, она имеет 5 следующих по умолчанию табличных пространств.

Вы должны использовать новые табличные пространства, кроме этих. Вы можете создать новое постоянное табличное пространство следующим образом.

Если вы используете файловую систему для Oracle Storage, вы можете использовать ее, следуя сценарию.

Если вы используете Oracle ASM, вы можете использовать его, следуя сценарию.

Если вы хотите создать временное (временное) табличное пространство, вы можете создать его следующим образом, если используете Oracle ASM.

Если вы используете файловую систему, вы можете создать временное табличное пространство следующим образом.

Если вы хотите создать табличное пространство отмены, вы можете создать его следующим образом, если используете Oracle ASM.

Если вы используете файловую систему, вы можете создать табличное пространство отмены следующим образом.

Если вы хотите создать табличное пространство bigfile, вы можете создать его следующим образом, если используете Oracle ASM.

Вы можете добавить новый файл данных в табличное пространство. Если используется Oracle ASM, вы можете использовать следующий скрипт.

Вы можете добавить новый файл данных в табличное пространство. Если используется файловая система, вы можете использовать следующий сценарий.

Вы можете проверить и запросить использование табличных пространств с помощью следующего скрипта.

Вы создаете табличные пространства с помощью команды CREATE TABLESPACE. Прежде чем создавать табличное пространство, вы должны решить:

<р>1. Насколько большим должно быть табличное пространство.

<р>2. Куда вы хотите поместить файл данных или файлы данных, которые будут связаны с этим табличным пространством.

<р>3. То, что вы хотите назвать табличным пространством и файлами данных.

Мы рекомендуем включать в имя файла данных следующее при создании табличного пространства:

<р>1. Имя базы данных
2. Имя табличного пространства
3. Число, которое делает файл данных уникальным

Итак, для табличного пространства USERS, назначенного базе данных BOOKTST, у нас будет файл данных с именем booktst_users_01.dbf. Вот пример создания такого табличного пространства с помощью команды create tablespace:

создать табличное пространство
users
файл данных
?/ora01/oracle/oradata/booktst_users_01.dbf?
размер
50м;

Обратите внимание, что мы использовали 50 м, чтобы указать, что мы хотим создать табличное пространство размером 50 мегабайт. Вы также можете использовать символ K для килобайт и символ G для гигабайт. Если вы хотите попробовать использовать символ P для табличного пространства размером 50 петабайт, мы хотим поговорить с вами!

Существует несколько параметров "создать табличное пространство", которые определяют размер табличного пространства:

Авторасширение включено: создание табличного пространства с включенным автоматическим расширением устраняет потенциальную проблему простоя базы данных, если табличное пространство достигает максимальных экстентов. Вы создаете табличное пространство, используя autoextend с опцией autoextend on. Использование «создать табличное пространство . . . авторасширение на» переместит точку отказа в файловую систему ОС, что хорошо, потому что вы никогда не захотите, чтобы ваша база данных зависала из-за того, что табличное пространство не может расти. При включенном авторасширении вам нужно только следить за свободным пространством в каталоге файловой системы.

Максимальный размер: это максимальный размер, до которого может увеличиваться файл данных. Мы рекомендуем создать табличное пространство с неограниченным максимальным размером, чтобы предотвратить блокировку.

Размер: это размер базового файла данных для табличного пространства.

Размер блока: указание большего размера блока не приведет к увеличению табличного пространства. См. здесь о создании табличных пространств с нестандартными размерами блоков.

Унифицированный размер. Указывает размер файла данных, который будет увеличиваться при необходимости расширения.

По умолчанию табличное пространство Oracle не будет увеличиваться, если в нем закончится место. Если вы используете все свое пространство, вам просто не повезло, если вы не используете ключевое слово autoextend, чтобы указать, что табличное пространство может расти, само по себе, динамически. Вот пример создания табличного пространства с автоматическим расширением:

создать табличное пространство
myusers
файл данных
?/u01/app/oracle/oradata/booktst_users_01.dbf?
размер 50 м
размер блока 32 КБ
максимальный размер 100 м
однородный размер 10 м
автопродление включено;

В этом примере команда «создать табличное пространство» создает табличное пространство, которое будет автоматически расширяться с шагом 10 мегабайт, пока не достигнет максимального размера в 100 мегабайт. Мы рекомендуем использовать автоматическое расширение для всех табличных пространств любой производственной базы данных. См. также: Экстенты единого размера табличного пространства Oracle.

Когда вы запускаете команду CREATE TABLESPACE, у вас есть несколько важных параметров табличного пространства:

Автоматическое управление пространством сегментов: табличное пространство, созданное с помощью ASMM, является «свободным списком растровых изображений»? подход, который заменяет списки свободных номеров с односторонними связями для всех объектов, находящихся в табличном пространстве. Вы создаете табличное пространство с автоматическим управлением пространством сегментов? опции. См. здесь предупреждения об использовании ASSM .

Авторасширение включено: создание табличного пространства с включенным автоматическим расширением устраняет потенциальную проблему простоя базы данных, если табличное пространство достигает максимальных экстентов. Вы создаете табличное пространство, используя autoextend с опцией autoextend on. Использование «создать табличное пространство... авторасширение включено» переместит точку отказа в файловую систему ОС, что хорошо, потому что вы никогда не захотите, чтобы ваша база данных зависала из-за того, что табличное пространство не может расти. При включенном авторасширении вам нужно только следить за свободным пространством в каталоге файловой системы.

Локальное управление (по умолчанию): все табличные пространства, кроме системных, должны создаваться как локально управляемые. Вы создаете локально управляемое табличное пространство с локальным синтаксисом управления экстентом.

В этом руководстве по Oracle объясняется, как использовать оператор Oracle CREATE TABLESPACE с синтаксисом и примерами.

Описание

Инструкция CREATE TABLESPACE используется для выделения места в базе данных Oracle, где хранятся объекты схемы.

С помощью оператора CREATE TABLESPACE можно создать 3 типа табличных пространств:

  1. Постоянное табличное пространство
  2. Временное табличное пространство
  3. Отменить табличное пространство

Мы рассмотрим все 3 вида табличных пространств.

Постоянное табличное пространство содержит постоянные объекты схемы, которые хранятся в файлах данных.

Синтаксис

Синтаксис оператора CREATE TABLESPACE при создании постоянного табличного пространства:

SMALLFILE Табличное пространство, содержащее 1022 файла данных или временных файлов (каждый файл может иметь размер до 4 миллионов блоков). Это наиболее распространенный размер табличного пространства. BIGFILE Табличное пространство, содержащее только один файл данных или временный файл (размер этого файла может составлять до 4 миллионов блоков).

СОВЕТ. Если вы не укажете параметр SMALLFILE или BIGFILE, база данных Oracle будет использовать тип табличного пространства по умолчанию.

tablespace_name Имя создаваемого табличного пространства. storage_clause Синтаксис storage_clause:

Пример — ПОСТОЯННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО

Следующее представляет собой инструкцию CREATE TABLESPACE, которая создает простое постоянное табличное пространство:

Эта инструкция CREATE TABLESPACE создает постоянное табличное пространство с именем tbs_perm_01, в котором есть один файл данных с именем tbs_perm_01.dat.

Следующее представляет собой инструкцию CREATE TABLESPACE, которая создает постоянное табличное пространство, которое будет расширяться, когда потребуется больше места:

Эта инструкция CREATE TABLESPACE создает постоянное табличное пространство с именем tbs_perm_02, в котором есть один файл данных с именем tbs_perm_02.dat. Когда требуется больше места, 10 М экстентов будут автоматически добавляться до тех пор, пока не будет достигнуто 200 МБ.

Следующее представляет собой инструкцию CREATE TABLESPACE, которая создает постоянное табличное пространство BIGFILE, которое будет расширяться, когда потребуется больше места:

Эта инструкция CREATE TABLESPACE создает постоянное табличное пространство BIGFILE с именем tbs_perm_03, в котором есть один файл данных с именем tbs_perm_03.dat.

Временное табличное пространство содержит объекты схемы, которые хранятся во временных файлах, существующих во время сеанса.

Синтаксис

Синтаксис оператора CREATE TABLESPACE при создании временного табличного пространства:

SMALLFILE Табличное пространство, содержащее 1022 файла данных или временных файлов (каждый файл может иметь размер до 4 миллионов блоков). Это наиболее распространенный размер табличного пространства. BIGFILE Табличное пространство, содержащее только один файл данных или временный файл (размер этого файла может составлять до 4 миллионов блоков).

СОВЕТ. Если вы не укажете параметр SMALLFILE или BIGFILE, база данных Oracle будет использовать тип табличного пространства по умолчанию.

Пример — ВРЕМЕННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО

Следующее представляет собой инструкцию CREATE TABLESPACE, которая создает временное табличное пространство:

Эта инструкция CREATE TABLESPACE создает временное табличное пространство с именем tbs_temp_01, в котором есть один временный файл с именем tbs_temp_01.dbf.

Табличное пространство отмены создается для управления данными отмены, если база данных Oracle работает в режиме автоматического управления отменой.

Синтаксис

Синтаксис оператора CREATE TABLESPACE при создании табличного пространства отмены:

SMALLFILE Табличное пространство, содержащее 1022 файла данных или временных файлов (каждый файл может иметь размер до 4 миллионов блоков). Это наиболее распространенный размер табличного пространства. BIGFILE Табличное пространство, содержащее только один файл данных или временный файл (размер этого файла может составлять до 4 миллионов блоков).

СОВЕТ. Если вы не укажете параметр SMALLFILE или BIGFILE, база данных Oracle будет использовать тип табличного пространства по умолчанию.

Пример. ОТМЕНА ТАБЛИЧНОГО ПРОСТРАНСТВА

Следующее представляет собой инструкцию CREATE TABLESPACE, которая создает табличное пространство отмены:

Эта инструкция CREATE TABLESPACE создает табличное пространство отмены с именем tbs_undo_01 размером 5 МБ и содержит один файл данных с именем tbs_undo_01.f.

Табличное пространство Oracle может быть определено как логическая единица хранения (база данных Oracle может состоять из одной или нескольких таких логических единиц), состоящая из файлов данных, в которых хранятся объекты данных (объекты данных могут быть табличными, присутствующими внутри схемы), таблиц, присутствующих в базе данных, и все они вместе хранят данные всех баз данных, логические данные хранятся в ТАБЛИЧНЫХ ПРОСТРАНСТВАХ, а физические данные базы данных оракула хранятся в ДАННЫХ ФАЙЛАХ, которые связаны с каждым ТАБЛИЧНЫМ ПРОСТРАНСТВОМ, присутствующим в базе данных.

Синтаксис и параметры

Давайте теперь рассмотрим базовый синтаксис Oracle TABLESPACE, чтобы познакомиться со структурой create TABLESPACE.

Hadoop, наука о данных, статистика и др.

CREATE TABLESPACE tablespace_name
DATAFILE ‘datafile_path’
SIZE [size_tablespace];

Параметры

Ниже указаны соответствующие параметры:

  • имя_табличного_пространства: это первый параметр, который относится к имени ТАБЛИЧНОГО ПРОСТРАНСТВА, которое мы хотим создать. Он записывается после оператора CREATE TABLESPACE.
  • datafile_path: Этот параметр указывает путь к файлу данных TABLESPACE в предложении DATAFILE. Мы можем использовать полный путь, и он записывается после предложения DATAFILE.
  • size_tablespace: этот параметр относится к размеру TABLESPACE в предложении SIZE.

Объяснение. Важно отметить, что мы можем создавать как МАЛЕНЬКИЕ ФАЙЛЫ, так и БОЛЬШИЕ ТАБЛИЧНЫЕ ПРОСТРАНСТВА. SMALL FILE TABLESPACES означает, что оно содержит 1022 файла данных или временных файлов, тогда как в случае BIGFILE TABLESPACES оно содержит только один DATAFILE или TEMPFILE. Если мы опустим BIGFILE или SMALL FILE, Oracle примет тип DEFAULT TABLESPACE.

Как создать табличное пространство Oracle?

Мы обсудили определение ORACLE TABLESPACE, а теперь рассмотрим, как мы можем создать Oracle TABLESPACE в базе данных. В Oracle у нас может быть три вида TABLESPACE Oracle. Они следующие.

  1. PERMANENT TABLESPACE: это тип TABLESPACE, который содержит постоянные объекты, которые хранятся в DATAFILE.
  2. TEMPORARY TABLESPACE: это тип TABLESPACE, в котором объекты схемы хранятся во временных файлах, которые существуют только для сеанса.
  3. UNDO TABLESPACE: это тип TABLESPACE, созданный, когда база данных Oracle работает в режиме автоматического управления отменой для управления данными отмены.

Примеры реализации табличного пространства Oracle

Теперь давайте рассмотрим несколько примеров создания TABLESPACE в Oracle.

Итак, как мы уже обсуждали ранее, существуют три основных типа TABLESPACES, теперь мы рассмотрим различные примеры для этих типов TABLESPACES, чтобы лучше понять их.

ПОСТОЯННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО. В предыдущем разделе мы обсуждали определение ПОСТОЯННОГО ТАБЛИЧНОГО ПРОСТРАНСТВА. В первом примере в этом разделе мы собираемся создать постоянное ТАБЛИЧНОЕ ПРОСТРАНСТВО по умолчанию, которое будет иметь ДАННЫЙ ФАЙЛ размером 5 МБ. Давайте посмотрим на запрос для того же самого.

Код:

СОЗДАТЬ ТАБЛИЧНОЕ ПРОСТРАНСТВО tbs_perm_01
ФАЙЛ ДАННЫХ 'tbs_perm.df'
РАЗМЕР 5M;

Вывод:

Объяснение: как мы видим на снимке экрана выше, было создано ТАБЛИЧНОЕ ПРОСТРАНСТВО с одним ФАЙЛОМ ДАННЫХ.

Во втором примере мы собираемся создать большой файл PERMANENT TABLESPACE, который также будет иметь размер DATAFILE 10 МБ. Давайте теперь посмотрим на запрос для того же самого.

Код:

СОЗДАТЬ БОЛЬШОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО tbs_perm_bigfile
ФАЙЛ ДАННЫХ 'tbs_bigfile.df'
РАЗМЕР 10M;

Вывод:

Объяснение: На приведенном выше снимке экрана показано, что создано БОЛЬШОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО с именем tbs_perm_bigfile и размером 10 МБ.

В третьем примере мы собираемся создать ПОСТОЯННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО МАЛЕНЬКОГО ФАЙЛА, размер ФАЙЛА ДАННЫХ которого будет равен 1 МБ. Давайте теперь посмотрим на запрос для того же самого.

Код:

СОЗДАТЬ МАЛЕНЬКИЙ ТАБЛИЧНЫЙ ПРОСТРАНСТВО tbs_perm_smallfile
ФАЙЛ ДАННЫХ 'tbs_smallfile.df'
РАЗМЕР 1M;

Вывод:

Объяснение: На приведенном выше снимке экрана показано, что было создано МАЛЕНЬКОЕ ФАЙЛОВОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО с именем tbs_perm_smallfile и размером 1 М.

В четвертом примере мы собираемся создать ПОСТОЯННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО с АВТОМАТИЧЕСКИМ РАСШИРЕНИЕМ. Давайте создадим запрос для того же самого.

Код:

СОЗДАТЬ ТАБЛИЧНОЕ ПРОСТРАНСТВО tbs_perm_ext
ФАЙЛ ДАННЫХ 'tbs_perm_ext.df'
РАЗМЕР 10M
ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ
АВТОРАСШИРЕНИЕ НА СЛЕДУЮЩИЕ 10M MAXSIZE 20M;

Вывод:

Объяснение: как мы видим на снимке экрана, выходные данные показывают, что TABLESPACE успешно создан.

ВРЕМЕННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО. В предыдущем разделе мы обсуждали определение ВРЕМЕННОГО ТАБЛИЧНОГО ПРОСТРАНСТВА. На этом этапе мы обсудим создание ВРЕМЕННОГО ТАБЛИЧНОГО ПРОСТРАНСТВА в базе данных оракула. Например, мы попытаемся создать ВРЕМЕННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО размером 4 МБ с включенным параметром AUTOEXTEND. Давайте теперь посмотрим на запрос.

Код:

СОЗДАТЬ ВРЕМЕННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО tbs_temp_ext
TEMPFILE 'tbs_temp.df'
РАЗМЕР 4M
АВТОМАТИЧЕСКОЕ РАСШИРЕНИЕ ВКЛЮЧЕНО;

Вывод:

Объяснение. На снимке экрана видно, что ВРЕМЕННОЕ ТАБЛИЧНОЕ ПРОСТРАНСТВО было успешно создано.

UNDO TABLESPACE: В предыдущем разделе мы обсудили определение UNDO TABLESPACE. На этом этапе мы собираемся обсудить создание UNDO TABLESPACE в базе данных Oracle. Например, мы попытаемся создать UNDO TABLESPACE размером 4 МБ с параметром AUTOEXTEND в положении ON, а также с ГАРАНТИЕЙ УДЕРЖАНИЯ. Давайте теперь посмотрим на запрос ниже.

Код:

СОЗДАТЬ ТАБЛИЧНОЕ ПРОСТРАНСТВО ОТМЕНЫ tbs_undo_ext
ФАЙЛ ДАННЫХ 'tbs_undo.df'
РАЗМЕР 4M
АВТОМАТИЧЕСКИ РАСШИРЯЕТСЯ НА
ГАРАНТИИ ХРАНЕНИЯ;

Вывод:

Объяснение. На снимке экрана видно, что UNDO TABLESPACE создано успешно.

Заключение

В этой статье мы обсудили в начале статьи определение ORACLE TABLESPACE. В следующем разделе мы обсудили основной синтаксис TABLESPACE вместе с определением различных типов ORACLE TABLESPACES. Позже мы обсудили их с помощью примеров.

Рекомендуемые статьи

Это руководство по Oracle Tablespace. Здесь мы обсудим введение в табличное пространство Oracle, синтаксис, параметры, способы создания табличного пространства и примеры. Вы также можете ознакомиться с другими нашими статьями по теме, чтобы узнать больше –

Читайте также: