Oracle База данных на нескольких табличных пространствах - PullRequest
0 голосов
/ 15 марта 2020

Наш поставщик баз данных Oracle предложил создать несколько табличных пространств (например, TS1, TS2 ... et c) на разных дисках для повышения производительности чтения / записи, однако я только что выяснил, что одно табличное пространство полных данных, в то время как другие почти пустые, производитель пропустил какую-либо дополнительную конфигурацию? если точка зрения поставщика применима, значит ли это, что Oracle будет управлять автоматическим распределением данных по табличным пространствам и будет ли оно одинаковым или случайным?

Ответы [ 2 ]

0 голосов
/ 16 марта 2020

@ user2155873 Вы сказали:

"если точка зрения поставщика применима, значит ли это, что Oracle будет управлять распределением данных автоматически по табличным пространствам и будет ли оно одинаково или случайным образом? ? "

Oracle не сделает это за вас. Таблица (или раздел таблицы) или индекс (или раздел индекса) могут занимать только одно табличное пространство. Вы должны указать Oracle, в каком табличном пространстве вы хотите сохранить объект. Простое создание большего количества табличных пространств ничего не даст, если вы на самом деле не перемещаете таблицы и / или индексы между ними.

0 голосов
/ 15 марта 2020

Итак, ваша база данных уже использует разные табличные пространства (см. Пример ниже, список из dba_tablespaces). Я предполагаю, что вы хотели создать те, которые вы явно используете.

Самым очевидным преимуществом в производительности будет разделение табличных пространств с данными и индексами и их размещение на отдельных дисках. Индексы часто занимают много места, столько же, сколько данные (или даже больше). Если вы решите это сделать, не забудьте указать, какое табличное пространство использовать при хранении данных или индексов. Например, в моем 11gXE:

SQL> show user
USER is "SYS"
SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS

SQL> connect scott/tiger
Connected.
SQL> create table testt (id number) tablespace users;

Table created.

SQL> create index i1t on testt (id) tablespace system;

Index created.

SQL>

(Последнее не имеет особого смысла; не создавайте ничего в SYSTEM табличном пространстве самостоятельно, но мне не хотелось создавать новое табличное пространство ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...