База данных Oracle должна иметь больше чем одну табличную область для хранения данных?

Снимки удобны. Можно использовать несколько VM's для тестирования на другой ОС.

Наши инженеры запускают Windows VM на VMware esx. У нас, вероятно, есть 12 работ VM's Windows единственного Dell PowerEdge (Да, это раскормлено, но все еще). Они почти кажутся более мгновенными по сети затем моя локальная установка XP на Core2 Duo!

И на локальной машине, пока у Вас есть RAM для него, она может все еще работать очень хорошо. Разделенный вниз VM XP (что-то как TinyXP) работает, а также моя 6-месячная собственная установка!

15
задан Kevin Babcock 18 August 2009 в 01:11
поделиться

4 ответа

Моя предвзятость (и это в значительной степени вопрос личных предпочтений) состоит в том, что если нет убедительных преимуществ в создании дополнительных табличных пространств, жизнь станет проще с одним табличным пространством.

  • Нет повышение производительности за счет размещения объектов в разных табличных пространствах. Существует старый миф о том, что разделение таблиц и индексов могло бы улучшить производительность. Распределение операций ввода-вывода по всем доступным шпинделям дает потенциальную выгоду, но это лучше делать с несколькими файлами данных в одном табличном пространстве, чем с несколькими табличными пространствами, поскольку Oracle выполняет циклическое распределение экстентов в разных файлах данных, предполагая, что ваша SAN не уже ничего не предпринимаю для выравнивания операций ввода-вывода.
  • Если у вас большой размер, статические таблицы поиска / истории, чтобы вы могли перенести новую копию базы данных на клиентский сайт, просто перенеся меньшие транзакционные табличные пространства, что было бы причиной рассмотреть несколько табличных пространств. Но очень мало приложений, которые имеют такую ​​настройку. Если вам придется принести все 200 ГБ, не имеет значения, сколько у вас табличных пространств.
  • Точно так же, если у вас есть большие объекты, доступные только для чтения, их размещение в табличном пространстве, доступном только для чтения, может значительно сократить время и пространство, необходимые для резервного копирования. Опять же, это не особенно распространено на практике за пределами хранилищ данных.
  • Если ваше приложение может работать без некоторого подмножества объектов, может быть полезным создание отдельных табличных пространств, чтобы вы могли отключить одно из них и выполнить восстановление на уровне табличного пространства. Опять же, немногие приложения могут работать без набора объектов - например, если вы потеряете индексное табличное пространство, приложение, вероятно, будет так же мертвым, как если бы вы потеряли все.
  • Если у вас много пустых или в основном пустых таблиц и ряд очень больших таблиц, отдельные табличные пространства с разными политиками выделения экстентов могут быть предпочтительнее с точки зрения использования пространства. Это иногда случается с упакованными приложениями, где любая конкретная установка использует относительно небольшой процент доступных таблиц, и вы не хотите, чтобы каждая из пустых таблиц имела относительно большой размер, назначенный ей. При автоматическом управлении экстентами в локально управляемом табличном пространстве это, как правило, не является серьезной проблемой, это может вызывать большее беспокойство, если вы хотите использовать однородные экстенты.
  • Если разные объекты имеют разные приоритеты производительности диска, и у вас есть разные типы дисков, отдельные табличные пространства могут позволить вам размещать разные объекты на разных наборах дисков. Например, в хранилище данных вы можете захотеть поместить старые данные на более медленный и дешевый диск, а новые данные - на более дорогой диск. С OLTP-приложениями такого не происходит.

Если ваше приложение не попадает в один из этих особых случаев, единственное преимущество наличия отдельных табличных пространств - это апелляция к организационному чутью администратора базы данных. Лично я более чем счастлив иметь возможность не указывать имя табличного пространства каждый раз, когда я создаю объект, или тратить циклы на перемещение объектов из «неправильного» табличного пространства, когда они неизбежно создаются в табличном пространстве по умолчанию по ошибке. Лично я m не слишком обеспокоен тем, что несколько десятков МБ пространства «потрачены впустую» при использовании локально управляемых табличных пространств с автоматическим управлением экстентами над оптимизированным вручную набором табличных пространств с разными единообразными размерами экстентов. С другой стороны, хорошие администраторы баз данных, как правило, очень озабочены тем, чтобы все было организовано «именно так», поэтому я не возражаю против того, чтобы администраторы баз данных хотели иметь отдельные табличные пространства индексов и данных только потому, что это апеллирует к чьему-то эстетическому восприятию.

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

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

23
ответ дан 1 December 2019 в 00:50
поделиться

См. http: / /download.oracle.com/docs/cd/B10501_01/server.920/a96521/tspaces.htm

См. http://download.oracle.com/docs/cd/B28359_01/server.111/b28318 /physical.htm

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

Контролировать выделение дискового пространства для данные базы данных

Назначьте определенные квоты пространства для пользователей базы данных

Управляйте доступностью данных, принимая отдельные табличные пространства онлайн или offline

Выполнить частичное резервное копирование базы данных или операции восстановления

Распределить хранилище данных по устройствам для повышения производительности

10
ответ дан 1 December 2019 в 00:50
поделиться

С. Лотт уже привел хороший список общих причин, по которым можно было бы разделить это на несколько табличных пространств.

Более конкретно для вашей ситуации ...

Я бы спросил себя, есть ли конкретные причины, чтобы что-то изменить сейчас. Сделать такое структурное изменение - непростая задача. Есть проблемы с производительностью? Вы работаете с ограничениями места для хранения? Вам нужно назначить квоты на пространство? Удовлетворяет ли ваш нынешний план резервного копирования и восстановления вашим потребностям?

Если бы вы могли вернуться в прошлое и повторить что-то с самого начала, вы наверняка захотели бы разумно разделить базу данных на разные табличные пространства. Но стоит ли оно того сейчас?

1
ответ дан 1 December 2019 в 00:50
поделиться

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

4
ответ дан 1 December 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: