Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Работа > Архитектура

Ответ
 
Опции темы Опции просмотра
  #21  
Старый 22.12.2011, 20:14
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Изменение состояния табличного пространства


В одном из блоков кода crate tablespace из предыдущего урока описывается, как создать табличное пространство так, чтобы оно было оперативным и доступным для использования сразу после создания. Напомним также, что команда alter tablespace name online позволяет сделать табличное пространство оперативным после его создания. Команда alter tablespace name offline позволяет сделать табличное пространство автономным. Возможно, это потребовалось бы при попытке предотвращения доступа к данным в это табличное пространство при одновременном сохранении остальной части базы данных в оперативном режиме и доступной для использования. Отдельные файлы данных можно также переводить в оперативный и автономный режимы с помощью команд alter database datafile filename online или database datafile filename offline.

Табличное пространство может перевести в автономное состояние с одним из нескольких приоритетов, включая normal, temporary и immediate. В зависимости от используемого для этого приоритета может потребоваться восстановление носителей информации для этого табличного пространства. Табличное пространство, переведенное в автономное состояние с приоритетом normal, не потребует восстановления носителей информации, а табличное пространство, переведенное с приоритетом immediate, потребует. Табличное пространство, переведенное в автономное состояние с приоритетом temporary, не потребует восстановления носителей информации, если ни один из файлов данных не был автономным до перевода табличного пространства в автономное состояние. Однако если какой-либо из файлов данных был автономным до временного перевода табличного пространства в автономное состояние из-за ошибки чтения или записи, то для его возвращения в оперативное состояние потребуется восстановление носителя информации. Следующий блок кода демонстрирует перевод табличного пространства в автономное состояние с каждым из трех возможных приоритетов. Учтите, что при отсутствии приоритетов по умолчанию задается приоритет normal.

Код:
ALTER TABLESPACE data OFFLINE;
ALTER TABLESPACE data OFFLINE NORMAL;
ALTER TABLESPACE data OFFLINE IMMEDIATE;
ALTER TABLESPACE data OFFLINE TEMPORARY;
В некоторых случаях можно также столкнуться с ситуациями, при которых используется способность Oracle определять табличные пространства «только для чтения». В следующем блоке кода представлен код, позволяющий сделать табличное пространство читаемым, но не перезаписываемым, а затем вернуться к предыдущему состоянию, чтобы его снова можно было перезаписывать:

Код:
ALTER TABLESPACE data READ ONLY;
ALTER TABLESPACE data WRITE;
И наконец, если требуется удалить табличное пространство, используйте команду drop tablespace. Она имеет несколько дополнительных фраз, например including contents для удаления всех объектов базы данных, содержащихся в табличном пространстве, а также самого табличного пространства, и ключевые слова cascade constraints для удаления любых ограничений, которые могут зависеть от объектов базы данных, хранящихся в удаляемого табличном пространстве. В следующем блоке кода демонстрируется команда drop tablespace:

Код:
DROP TABLESPACE data INCLUDING CONTENTS CASCADE CONSTRAINTS;
Теперь можно использовать ту же самую команду и убирать файлы данных из поерационной системы с помощью команды drop tablespace name including contents cascade constraints and datafiles.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #22  
Старый 22.12.2011, 20:15
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Создание оперативного табличного пространства «только для чтения»

Напомним, что табличное пространство это логическое представление дисковой памяти и что оно может состоять из множества файлов данных. Oracle использует соглашение об относительной нумерации фалов данных, что делает номер файла данных уникальным в табличном пространстве, в отличие от более ранних версий Oracle, где номер файла данных абсолютно уникален во всех базе данных. Табличное пространство «только для чтения» - то, где никто из пользователей не может внести изменения данных ни в одном из объектов, хранимых в этом табличном пространстве. Существует несколько исключений из этого правила. Например, в табличном пространстве «только для чтения» можно удалять такие элементы, как таблицы и индексы, потому что эти команды воздействуют только на словарь данных, но нельзя такие элементы создавать и изменять. Это возможно, потому, что команда drop обновляет только словарь данных, а не составляющие табличное пространство физические фалы.

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

При вводе команды alter tablespace read only, Oracle дождется завершения всех активных транзакций, а затем сделает табличное пространство «только для чтения». Пока Oracle ждет завершения транзакций, табличное пространство переводится в переходной режим «только для чтения», при которой последующие транзакции с записью в это табличное пространство уже не разрешаются, а существующие транзакции могут зафиксироваться или сделать откат.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #23  
Старый 22.12.2011, 20:15
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Изменение параметров памяти табличного пространства

А теперь еще раз рассмотрим параметры памяти по умолчанию, устанавливаемые для табличного пространства при его создании. Они не имеют никакого отношения к самому табличному пространству, но используются как параметры по умолчанию, когда пользователи вводят команды crate table, create index или create undo segment, в которых нет явного указания параметров памяти. Параметры по умолчанию для табличного пространства можно изменить с помощью команды alter tablespace, как показано в следующем блоке:

Код:
SQL>  ALTER TABLESPACE data DEFAULT STORAGE (INITIAL 2M NEXT 1M);
Нет необходимости задавать все имеющиеся параметры памяти по умолчанию только те, для которых требуется изменить значения. Однако имейте в виду, что изменение параметров памяти по умолчанию не оказывает никакого влияния на существующие объекты базы данных в табличном пространстве. Оно касается только параметров памяти для новых объектов базы данных и только, если у этих новых объектов базы данных не заданы явно свои собственные параметры памяти.

Перемещение файлов данных табличного пространства

В зависимости от типа табличного пространства, администратор БД может перемещать файлы данных с помощью одного из двух методов: команды alter tablespace или команды alter database. Перемещение файлов данных, лежащих в основе табличного пространства, в Oracle приобретает огромное значение, например, когда вы пытаетесь устранить горячие точки в базе данных или более равномерно распределить загрузку ввода-вывода или дисков в хост машине. При перемещении или переименовании файлов данных в пределах одного табличного пространства используйте команду alter tablespace, а при перемещении файлов данных для нескольких табличных пространств используйте команду alter database. В любом случае выполнение этих команд изменяет только указатели на файлы данных, записанные в управляющем файле. Они не переименовывают и не перемещают файлы физически в операционную систему. Фактическое переименование или перемещение файлов данных следует выполнять на уровне операционной системы. Ниже мы подробно рассмотрим конкретные шаги по перемещению файлов.

Даже имея возможность переименовывать файлы данных, лежащие в основе табличного пространства, нельзя использовать команды Oracle для переименования табличных пространств. Для этого следует удалить табличное пространство и восстановить его с новым именем.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #24  
Старый 22.12.2011, 20:15
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Перемещение файлов данных с помощью команды alter database

Чтобы переместит файлы данных с помощью команды alter database, выполните следующие шаги:
1) Выключите базу данных.
2) Используйте команду операционной системы для перемещения файлов.
3) Смонтируйте базу данных.
4) Выполните команду alter database rename file.
5) Откройте базу данных.
6) Создайте резервную копию базы данных и управляющего файла.
В следующем блоке кода эти шаги представлены в Windows:

Код:
SQL> shutdown immediate;
SQL> host move tempjsc.ora templjsc.ora
SQL> Startup mount pfile=initjsc.ora
SQL>  alter database rename file 
D:\ORACLE\DATABASE\TMP1JSC.ORA
to
D:\ORACLEDATABASE\TEMP1JSC.ORA
SQL>  alter database open;
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #25  
Старый 22.12.2011, 20:15
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию

Перемещение файлов данных с помощью команды alter tablespace

Для перемещения файла данных с помощью команды alter tablespace используется следующий процесс:
1. Переведите табличное пространство в автономный режим.
2. Используйте команду операционной системы для перемещения или копирования файлов.
3. Выполните команду файла alter tablespace rename datafile.
4. Переведите табличное пространство в оперативный режим.
5. Создайте резервную копию базы данных и управляющего файла.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:46. Часовой пояс GMT +3.


Powered by vBulletin®