System01 dbf oracle что хранится
Управляющие файлы (CONTROL_FILES)
Управляющие файлы отслеживают все файлы, которые нужны Oracle, и их местонахождение на хост-машине. Управляющие файлы также содержат информацию об именах элементов журнала базы данных и их местонахождении в файлах система. Без управляющих файлов сервер базы данных Oracle не смог бы найти свои физические компоненты. Имена управляющих файлов задаются в файле init.ora для каждого экземпляра Oracle.
Управляющие файлы самые важные файлы базы данных с точки зрения размещения файловой системы и управления. В них содержится информация, связанная с физическим местоположением каждого файла данных и файла журнала базы данных в базе данных.
Управляющие файлы создаются в первый раз при создании базы данных Oracle. Если в указанном в параметре CONTROL_FILES местоположении еще не существует никакого управляющего файла, то Oracle создаст новый управляющий файл автоматически при вводе команды, create database. Восстановить управляющий файл для ассоциированной базы данных можно позднее с помощью команды create controlfile.
Управляющие файлы открываются и считываются каждый раз при открытии базы данных. Содержание управляющих файлов изменяется каждый раз, когда изменяется структура базы данных, например при добавлении табличного пространства, оперативного файла журнала базы данных. Кроме того, управляющий файл изменяется при архивировании журнала базы данных, резервном копировании базы данных и всякий раз, когда происходит переключение на другой журнал.
Основное представление, доступное в словаре данных Oracle для использования управляющего файла и управления, - это представление V$CONTROLFILE. В этом представлении тольк два столбца: STATUS и NAME.
STATUS - выводит на экран INVALID, если нельзя определить имя управляющего файла точно, в противном случае NULL.
NAME дает абсолютный путь доступа к местоположению файла на хост-машине, а также имя управляющего файла.
select * from V$CONTROLFILE
select name, value from v$spparameter where name = 'control_files';
Другую информацию об управляющих файла можно найти в представлении V$DATABASE. Это представление производительности содержит информацию, которую Oracle обычно также сохраняет в управляющем файле.
V$CONTROLFILE_RECORD_SECTION показывает информацию, хранимую в различных разделах управляющего файла.
Рабочий управляющий файл поделен на несколько разделов, в каждом из которых хранится разная информация о работающей базе данных. Например, в управляющем файле есть раздел, в котором хранится след порядкового номера текущего оперативного файла журнала базы данных, раздел, содержащий информацию о размещении на физическом диске файла базы данных Oracle и т.д. Данное представление отображает информацию о каждом из этих разделов, например размер каждой записи в управляющем файле для этого раздела, общее число записей, назначаемых каждому разделу и т.д.
Использование управляющих файлов
Когда вы входите в SQL*Plus, чтобы перевести базу данных в оперативный режим, Oracle ищет в управляющем файле необходимые для этого компоненты. Например, если в базе данных управляющий файл имеет три ассоциированных с ним файла, а доступны только два. Oracle сообщит, что третий файл отсутствует и не запустит базу данных. После запуска базы данных Oracle изменит управляющие фалы или будет использовать их в следующих ситуациях:
При создании новых физических дисковых ресурсов (например, табличных пространства)
При изменении определенным образом существующего дискового ресурса (например, при добавлении файла данных к табличному пространству)
Когда LGWR прекращает записывать в одни оперативный журнал базы данных и начинает другой ( переключение журналов)
Параметр CONTROL_FILES в файле init.ora определяет местоположение управляющих файлов на сервере базы данных и указывает, где Oracle буде наблюдать запуск экземпляра, чтобы найти его управляющие файлы. При запуске экземпляра до создания базы данных или при переходе от одной версии Oracle к другой Oracle, создает управляющие файлы на основании имен файлов и местоположений, которые вы указываете в параметре CONTROL_FILES из файла init.ora. Если при последующих запусках экземпляра Oracle не найдет управляющие файлы, которые предполагала найти на основании параметра CONTROL_FILES, Oracle е запустится.
По умолчанию в окружении Windows и UNIX Database Configuration Assistant (DBCA) создаст три файла управления и поместит их в каталог /oradata/database_name под домашним каталогом ПО Oracle. DBCA назовет их controlnn.dbf, где nn число от 01 до 03. При определении своих собственных управляющих файлов, можно соблюдать любые соглашения об именовании, которые вам нравятся.
Исследование содержимого управляющего файла
Управляющие файлы состоят из нескольких компонентов. Однако нельзя просто так открыть управляющий файл в любимом текстовом редакторе и увидеть, что в нем находится. Это объясняется тем, что управляющий файл написан в двоичном коде и только база данных Oracle может понимать его содержание.
Содержание управляющего файла:
Информация об имени базы данных и идентификаторе, указанная вами при создании базы данных.
Информация о дате и времени создания базы данных, указанная вами при создании базы данных.
Местонахождение файлов данных и журнала базы данных в файловой системе, указанное вами при создании базы данных и при добавлении файлов данных или журнала базы данных.
Имена табличных пространств и связи между табличными пространствами и файлами данных, указанные вами при создании табличных пространств или позднее, при добавлении дополнительных файлов данных к существующему табличному пространству.
Информация о том, когда были приняты архивные журналы. Как правило, эта информация генерируется Oracle автоматически.
Информация о том, когда были приняты резервные копии. Это информация генерируется при создании резервных копий.
Порядковый номер текущего оперативного фала журнала базы данных. Как правило, эта информация генерируется Oracle автоматически.
Информация о текущей контрольной точке. И эта информация, как правило, генерируется Oracle автоматически.
Восстановление управляющего файла
Иногда требуется восстановление управляющих файлов для различных целей. Например, если нужно переименовать базу данных, потому что вы создаете ее копию на той же машине, которая является хостом первоначальной базы данных. Или если потребуется изменить настройки базы данных, например maxlogfiles, которые задаются при создании базы данных. Возможно, вы даже утратили управляющий файл. Какова бы ни была причина, метод восстановления один и тот же .Введите команду alter database backup controlfile to trace. Ключевое слово trace в этой команде указывает, что Oracle сгенерирует сценарий, содержащий команду create controlfile, и сохранит ее в каталоге trace, указанном в параметре USER_DUMP_DEST в файле init.ora.
Пример сценария создания управляющего файла, сгенерированного этой командой, приводится в следующем блоке кода:
Мультиплексирование управляющих файлов
Следует сохранять копии управляющих файлов на разных дисках для минимизации риска утраты этих важных физических дисковых ресурсов. Oracle рекомендует перенести эти управляющие файлы на разные дисковые ресурсы и задать параметр CONTROL_FILES, чтобы Oracle знала, что существует несколько копий управляющего файла, которые требуется сопровождать. Это называется мультиплексированием (multiplexing) или зеркальным отображением (mirroring) управляющего файла. Мультиплексирование управляющего файла снижает зависимость Oracle от доступности какого-либо из дисков на хост-машине. В случае сбоя базу данных легче восстановить, так как поддерживалось несколько копий управляющего файла. Ни в коем случае не следует использовать для базы данных Oracle только один управляющий файл, поскольку в случае его утраты трудно восстановить базу данных.
Мультиплексирование управляющих файлов
set control_files = '/u01/oracle/wnse2/ctriwhsel.ctl',
'/u01/oracle/wnse2/ctrlwhse2.ctl',
'/u03/oracle/whse2/ctrlwhse3.ctl',
scope = spfile; -- команда вносит изменения в spfile, для применения обновлений, требуется перезапуск БД
- Остановите базу данных.
- Скопируйти управляющие файлы.
- Перезапустите базу данных
spool on;
shutdown immediate;
startup nomount;
alter system set control_files = 'C:\ORACLEXE\ORADATA\XE\CONTROL.dbf', 'd:\backup\cf\control.dbf' scope=spfile;
host "xcopy C:\ORACLEXE\ORADATA\XE\CONTROL.dbf d:\backup\cf\";
startup;
select name from v$controlfile;
exit
Вместо C:\ORACLEXE\ORADATA\XE\CONTROL.dbf необходимо указать текущий control file
Вместо d:\backup\cf\control.dbf указать где будет храниться резервный control file.
SQL> ALTER SYSTEM SET contol_files = $HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl SCOPE=SPFILE;
SQL> shutdown
$ cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctl
SQL> startup
Резервное копирование управляющего файла
Мы уже рассмотрели резервное копирование управляющего файла с помощью команды alter database backup controlfile to trace. Как вам известно, эта команда создает сценарий, который можно использовать для восстановления управляющего файла, если впоследствии возникнут проблемы. Можно также использовать команду alter database backup controlfie, которая скопирует фактический управляющий файл в некое дополнительное местоположение. Однако после резервного копирования Oracle не будет поддерживать этот управляющий файл при добавлении нового файла данных, табличного пространства или журналов базы данных. Таким образом, нельзя просто создать резервную копию управляющего файла управления, если вы хотите, чтобы Oracle добавляла в эту копию управляющего файла управления, если вы хотите, чтобы Oracle добавляла в эту копию новую информацию о физической структуре базы данных. В следующем блоке кода показано, как использовать команду alter database backup controlfile для создания резервных копий фактических управляющих файлов управления:
SQL> alter database backup controlfile to /u05/backup/db1/control01.ctl;
sqlplus / as sysdba
SQL> alter database backup controlfile to trace as 'c:\controlFile.txt';
-- The following are current System-scope REDO Log Archival related
-- parameters and can be included in the database initialization file.
--
-- LOG_ARCHIVE_DEST=''
-- LOG_ARCHIVE_DUPLEX_DEST=''
--
-- LOG_ARCHIVE_FORMAT=ARC%S_%R.%T
--
-- DB_UNIQUE_NAME="test"
--
-- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'
-- LOG_ARCHIVE_MAX_PROCESSES=2
-- STANDBY_FILE_MANAGEMENT=MANUAL
-- STANDBY_ARCHIVE_DEST=%ORACLE_HOME%\RDBMS
-- FAL_CLIENT=''
-- FAL_SERVER=''
--
-- LOG_ARCHIVE_DEST_10='LOCATION=USE_DB_RECOVERY_FILE _DEST'
-- LOG_ARCHIVE_DEST_10='OPTIONAL REOPEN=300 NODELAY'
-- LOG_ARCHIVE_DEST_10='ARCH NOAFFIRM NOEXPEDITE NOVERIFY SYNC'
-- LOG_ARCHIVE_DEST_10='REGISTER NOALTERNATE NODEPENDENCY'
-- LOG_ARCHIVE_DEST_10='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME'
-- LOG_ARCHIVE_DEST_10='VALID_FOR=(PRIMARY_ROLE,ONLIN E_LOGFILES)'
-- LOG_ARCHIVE_DEST_STATE_10=ENABLE
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DB F',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.D BF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DB F',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF ',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\FLOW_1.DBF'
CHARACTER SET CL8MSWIN1251
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO REDUNDANCY 3');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE
-- All logs need archiving and a log switch is needed.
ALTER SYSTEM ARCHIVE LOG ALL;
-- Database can now be opened normally.
ALTER DATABASE OPEN;
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO01.LOG' SIZE 50M,
GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO02.LOG' SIZE 50M,
GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSTEM01.DB F',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\UNDOTBS01.D BF',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\SYSAUX01.DB F',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\USERS01.DBF ',
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\FLOW_1.DBF'
CHARACTER SET CL8MSWIN1251
;
-- Configure RMAN configuration record 1
VARIABLE RECNO NUMBER;
EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('RETENTION POLICY','TO REDUNDANCY 3');
-- Commands to re-create incarnation table
-- Below log names MUST be changed to existing filenames on
-- disk. Any one log file from each branch can be used to
-- re-create incarnation records.
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- ALTER DATABASE REGISTER LOGFILE 'D:\_BACKUPS\DB_RECOVERY_FILE\TEST\ARCHIVELOG\2010 _03_12\O1_MF_1_1_%U_.ARC';
-- Recovery is required if any of the datafiles are restored backups,
-- or if the last shutdown was not normal or immediate.
RECOVER DATABASE USING BACKUP CONTROLFILE
-- Database can now be opened zeroing the online logs.
ALTER DATABASE OPEN RESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\TEMP01.DBF'
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
-- End of tempfile additions.
--
3) Оставить в файле c:\controlFile.txt то, что выделено черным цветом (либо блок кода из участка RESETLOGS или NORESETLOGS )
4) SQL> shutdown immediate;
SQL> startup;
SQL> @c:\controlFile.txt;
SQL> alter database open;
RESTORE DATABASE PREVIEW - представляет детальный отчет обо всех резервных копиях, которые потребуются для успешного выолпнения команды RESTORE.
Применение команды RESTORE..VALIDATE
Утилита RMAN проверит, сможет ли она восстановить данные из бекапа.
Реального восстановления при этом не происходит.
Полное восстановление
Как я могу узнать, что моя база данных использует PFILE или SPFILE?
Выполните следующий запрос, чтобы увидеть какой файл параметров был использован:
Обязательные файлы:
Файлы паролей (Password File)
Необязательный файл, используется для защиты информации о подключениях привилегированных пользователей. Если отсутствует, то вы можете выполнять администрирование своей базы данных, только локально. Кроме того, с его помощью контролируется количество привилегированных подключений для управления в одно и то же время.
Tags: Oracle Database, Файлы базы данных Oracle,
Alert log и трассировочные файлы (trace file)
При работе базы данных события и ошибки регистрируются в текстовых файлах на сервере базы данных. Файл журнала предупреждений (alert log) нужен администратору базы данных для отслеживания важнейших действий с базой данных - наподобие открытия и закрытия базы данных, установления параметров загрузки базы данных и переключения оперативных журналов повтора. Также в эти файлы записываются многие ошибки базы данных для последующего расследования их причин. Любые структурные изменения базы данных также регистрируются в файле журнала предупреждений.
Когда возникает ошибка базы данных, может генерироваться файл трассировки (trace file). Они содержит подробную информацию о возникновении ошибки.
Полное восстановление
Архивные файлы журналов повтора (Archive Log Files)
Как только оперативный файл журнала повтора (Redolog) оказывается заполнен, программное обеспечение сервера Oracle начинает запись в следующий файл. Эта операция повторяется, как следствие информация в оперативных файлах журнала (Redolog) многократно перезаписывается.
Если необходимо сохранить историю изменений, нужно, чтобы после переключения журналов сохранялась их копия. Для этого достаточно перевести работу базы данных в режим работы ARCHIVELOG.
Архивные файлы журналов повтора жизненно важны при восстановлении. Если часть базы данных потеряна или повреждена, то для устранения повреждений обычно требуется несколько архивных журналов или туева хуча этих журналов. Файлы журналов повтора должны применяться к базе данных последовательно. Если один из архивных файлов журналов повтора пропущен, то остальные архивные файлы журналов не могут использоваться. Храните все свои архивные файлы журналов повтора с момента выполнения последней резервной копии. Файлы журналов постепенно накапливаются и разрастаются. Иногда необходимо их удалять. Все операции с данными файлами по применению их к базе выполняются исключительно средствами базы данных. А копировать и переносить их при желании можно как угодно. Бездумно удалять их руками не рекомендуется.
Oracle DBA
Лучше потратить какое-то количество времени, чтобы записать успешный опыт, чем потом повторно воспроизводить его по памяти.
Все материалы обновляются по мере нахождения лучших практик и апгрейда знаний. Если будут желающие добавлять свои знания или исправлять ошибки и неточности, пишите в телеграм чате. Если будет учавствовать больше людей, качество материалов будет улучшаться и обновляться быстрее. Ссылки на ваши профили в соц. сетях будут добавлены в статьях, в которых вы учавствуете.
Вот, наконец, с системными, объектами мы немного разобрались, теперь пора переходить к объектам, которые имеют названия "пользовательские объекты БД". Пользовательские объекты это те объекты, которые содержатся в контексте БД, собственно для них сама БД и создавалась. Этот тип объектов не находится в исключительном ведении самой БД, а скорее в ведении пользователей самой БД. К такого рода объектам в частности, относятся и файлы данных, так как при создании табличных пространств, создаются и файлы данных, но файлы данных являются так же "физическими объектами БД", об этом не следует забывать. Итак, рассмотрим первое понятие - "файлы данных".
Файл данных БД, представляет собой реальный файл, операционной системы. Он доступен для просмотра, но выполнять с ним какие либо действия рекомендуется только с помощью средств БД! Файлы данных хранят "табличные пространства", что это такое чуть позже, а пока скажу только, что один файл данных хранит только одно "табличное пространство"! А создаются файлы данных с помощью, команд CREATE TABLESPACE и ALTER TABLESPACE. Размер, этих файлов определяется при создании и может быть изменен в процессе работы, как в сторону увеличения, так и в сторону уменьшения, но не меньше чем объем данных, которые в нем находятся! Так же, если вы создали файл данных (объявив новое табличное пространство), скажем 20Мгб, то файл и будет размером 20Мгб, не смотря на то, что будет в нем, таблица с одной строкой или с миллионом строк! Просмотреть все файлы данных ("табличные пространства") можно заглянув в каталог, C:\Oracle\ORADATA\proba, все файлы с расширением dbf и есть файлы данных или "табличные пространства". Либо можно дать, такой запрос в SQL*Plus, естественно войдя пользователем SYSTEM с паролем MANAGER:
Отсюда хорошо видно, что мы имеем 6-ть файлов данных, или - "табличные пространства".
Итак, что это такое? Это собственно и есть те самые файлы данных, основные табличные пространства, которые создаются при автоматической установке БД, хорошо видно из предыдущего запроса, а именно:
- SYSTEM - хранит все словари данных и системные объекты.
- USERS - для хранения пользовательских объектов.
- INDX - табличное пространство для организации индексов БД.
- RBS - табличное пространство сегментов отката.
- OEM_REPOSITORY - специальное пространство, которое использует администратор БД (чуть позже).
- TEMP - для нужд, остальных пространств.
Данная классификация весьма не полная, но пока это, для того чтобы было понятнее. Табличные пространства, это еще одна сущность сервера БД Oracle. То есть вся система собственно и базируется на табличных пространствах. Их основное отличие от файлов данных, это то, что табличное пространство может содержать несколько файлов данных, по этому не путайте эти два понятия! Табличное пространство, следуя строгим определениям, не что иное, как логическая структура, используемая для группировки данных с однотипными методами доступа. Надеюсь это понятно. Так же табличные пространства, это основные объекты операций резервного копирования и восстановления. Кстати, есть скептики, которые считают, что разделение табличных пространств на отдельные файлы системы не очень хорошо, но с этим можно поспорить, если учитывать физическую структуру БД. Хотя в таких БД как InterBase, Access, все хранится в одном физическом файле. Но это не всегда оправдывает себя. И структура организации табличных пространств группой файлов все же имеют свое преимущество. Так же, данные о табличных пространствах можно получить с помощью такого запроса:
Как видите, мы снова, воспользовались, словарем данных, который так же хранится в табличном пространстве SYSTEM. Надеюсь теперь понятно, что же такое табличное пространство. :)
Теперь - "расширения" (extents). Сформулирую сразу. Расширения - это объекты информационной структуры данных, образованные непрерывными блоками БД Oracle, одним или несколькими. Так как каждый сегмент БД состоит из одного или нескольких расширения, "экстентов". Скажу прямо, у меня долго был туман в голове, прежде чем я все-таки понял, что такое расширение. Во-первых, что такое "сегмент", забегая чуть вперед, (это приходится делать постоянно, так как без этого не обойтись!) это созданный пользователем объект БД, а именно таблица, процедура, функция и т.д. Каждый сегмент, имеет одно или несколько расширений, количество расширений для сегмента БД, зависит от параметра CREATE. Так вот объясняю понятнее. Допустим, вы создавали таблицу учета избирателей по округу. Вы создали таблицу, затем стали заливать в нее данные, что-то получилось, что-то не получилось. Вы добавляли записи, удаляли, меняли, структуру таблицы и т.д. в результате у вас получился полный хаос в табличном пространстве, ваша таблица, по мере заполнения и создания, стала занимать скажем 1000000 блоков, в пяти расширениях. Если эта таблица, после того как вы закончили имеет, скажем, 2000000 записей, но находится в таком плачевном состоянии, то сделать к ней производительный запрос вряд ли удастся, если ее даже оптимизировать и проиндексировать. Я поступал так. После того, как моя таблица была готова, я создавал, новое табличное пространство и заливал туда мою готовую таблицу в результате все ложилось, одним расширением ("экстентом")! То есть таблица не имела рваных блоков и расширений. Что собственно неизбежно при создании. Сейчас есть более элегантные методы "переукладки" табличного пространства, например, в Oracle 9i такое средство администрирования, как Enterprise Manager может оптимизировать табличное пространство, как speeddisk в Windows! Но как это делается "ручками" тоже полезно знать, если вы истинный администратор БД! Вот собственно, что такое "расширение":
- 1 - Это цепочка блоков образующих расширение или экстент.
- 2 - Это само расширение.
- 3 - Это, какое-либо табличное пространство.
Вот такое приближенное изображение РАСШИРЕНИЯ в структуре БД. Так же если, дать запрос вот такого вида, то можно получить характеристику расширений для пользователя MILLER. Здесь к стати сразу ясно, что такое SEGMENT! Именно то, что я и говорил раньше:
Файлы базы данных Oracle
- файлы данных;
- файлы журналов повтора;
- управляющие файлы.
Файлы данных
Все данные в базе данных Oracle сохраняются в файлах данных. Все таблицы, индексы, триггеры, последовательности, программы на PL/SQL, представления - все это находится в файлах данных. И хотя эти и другие объекты базы данных логически содрежатся в табличных пространствах, в дейстительности они сохраняются в файлах на жестком диске компьютера.
Файлы данных обязательный дисковый компонент. В каждой базе данных Oracle имеется по крайней мере один файл данных (но обычно их бывает больше). Если вы создаете в Oracle таблицу и заполняете ее строками, Oracle помещает эту таблицу и строки в файл данных. Каждый файл данных может быть связан только с одной базой данных.
У каждого файла данных имеется специальный формат, внутренний для программногообеспечения Oracle. Важно отдавать себе отчет в том, что файл данных состоит из заголовка и свовокупности блоков. Заголовок файла данных Oracle содержит несколько структур, в том числе и идентификатор базы данных, номер и имя файла, тип файла, SCN создания и состояния файла.
Данные в файлы вносятся исключительно средствами Oracle.
Получить некоторые данные по файлам данных, можно выполнив команды:
SQL> desc v$datafile;
2 /u02/oradata/ora112/sysau ONLINE
x01.dbf
3 /u02/oradata/ora112/undot ONLINE
bs01.dbf
4 /u02/oradata/ora112/users ONLINE
01.dbf
Оперативные файлы журналов повтора (Online Redo Log Files)
Оперативные файлы журналов повтора - предназначены для записи всех изменений, выполненных над данными базы данных Oracle. Используется для хранения на диске информации для повторного выполнения операций.
Для комплютера выполнить задачи повтоно - означает выполнить ее точно так, как она выполнялась в предыдущий раз. Поэтому назначение оперативного файла журнала повтора заключается в сохранении информации об изменениях в базе данных таким, образом, чтобы позже их можно было повторить.
Каждая база данных должна иметь не менее двух оперативных файлов журналов потора. Текущий файл постепенно заполняется, после его заполнения (или переключения некоторыми командами), база данных приступает к записи в следующий файл. Эта операция называется переключением журналов.
Посколько файлы повтора необходимы для выполнения восстановления базы данных и являются критичными, их объединяют в группы. Запись происходит одновременно в файлы одной группы.
SQL> desc v$logfile;
6 rows selected.
// Группа, расположение, статус, размер в мегабайтах.
Архивные файлы журналов повтора
Как только оперативный файл журнала повтора оказывается заполнен, программное обеспечение сервера Oracle начинает запись в следующий файл. Эта операция повторяется, как следствие информация в оперативных файлах журнала многократно перезаписывается.
Если необходимо сохранить историю изменений, нужно, чтобы после переключения журналов сохранялась их копия. Для этого достаточно перевести работу базы данных в реми работы ARCHIVELOG.
Архивные файлы журналов повтора жизненно важны при воссатновлении. Если часть базы данных потеряна или повреждена, то для устранения повреждений обычно треуется несколько архивных журналов. Файлы журналов повтора должны применяться к базе данных последовательно. Если один из архивных файлов журналов повтора пропущен, то остальные архивные файлы журналов не могут использоваться. Храните все свои архивные файлы журналов потора с момента выполнения последенй резервной копии. Файлы журналов постепенно накапливаются и разрастаются. Иногда необходимо их удалять. Все операции с данными файлами выполняются исключительно средствами базы данных.
SQL> desc v$archived_log;
SQL> select name from v$archived_log;
NAME
-------------------------
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_05_
05/o1_mf_1_70_6w5v77q2_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_05_
05/o1_mf_1_71_6w5xw470_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_06_
01/o1_mf_1_72_6yd9gtmd_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_06_
01/o1_mf_1_73_6yd9odo5_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_06_
03/o1_mf_1_74_6yk0mxom_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_06_
06/o1_mf_1_75_6yrxj4rd_.a
rc
/u02/oradata/ora112/fra/O
RA112/archivelog/2011_06_
06/o1_mf_1_76_6ys5nvh6_.a
rc
7 rows selected.
Управляющие файлы
Поскольку база данных Oracle является физическим набором связанных файлов данных, то для их синхронизации и контроля требуется особые методы. Для этих целей используются управляющие файлы.
База данных Oracle может иметь один или несколько управляющих файлов. Если имеется несколько управляющих файлов, все они должны быть абсолютно идентичными. При каждом запуске базы данных Oracle читает информацию управляющего файла, а при каждом изменении размещения или добавления новых файлов данных и журналов базы данных обновляет управляющий файл.
SQL> desc v$controlfile;
Name Null? Type
----------------------------------------- -------- ----------------------------
STATUS VARCHAR2(7)
NAME VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)
BLOCK_SIZE NUMBER
FILE_SIZE_BLKS NUMBER
SQL> select name from v$controlfile;
Файлы параметров (pfile, spfie) обязательный дисковый компонент. Используется для конфигурирования действий Oracle во время эксплуатации. Для того, чтобы запустить экземпляр базы данных, Oracle должен прочесть файл параметров и определить, какие параметры инициализации установлены для этого экземпляра. В файле параметров содержатся многочисленные параметры и их установленные значения. Oracle считывает файл параметров при запуске базы данных. Можно создать несколько файлов параметров, каждый будет соответствовать различным конфигурациям экземпляра, которые могут быть использованы в различные моменты времени.
spfile - бинарный файл, который используется сервером Oracle при старте.
pfile - текстовый файл с параметрами, будет использоваться при старте, если не будет найден spfile.
[[email protected] dbs]$ ls /u01/app/oracle/product/11.2/dbs/*.ora
/u01/app/oracle/product/11.2/dbs/init.ora
/u01/app/oracle/product/11.2/dbs/spfileora112.ora
При старте, Oracle считает файл spfileora112.ora. (файл серверных параметров). Преимущество spfile заключается в том, что при работе с базой данных, любые изменения в базе касающиеся изменения параметра системы, автоматически записываются в данный файл.
Если используется pfile, для сохранения изменений, необходимо либо "руками вносить эти изменения" в файл, либо выполнять команды для создания данных файлов из текущей системы.
// создания pfile из памяти (в 11 версии Oracle)
SQL> Create pfile from memory;
// создать pfile из spfile
SQL> Create pfile from spfile;
Файлы паролей необязательный файл, используется для защиты информации о подключениях привилегированных пользователей. Если отсутствует, то вы можете выполнять администрирование своей базы данных, только локально. Кроме того, с его помощью контролируется количество привилегированных подключений для управления в одно и то же время.
$ ls /u01/app/oracle/product/11.2/dbs/orapw*
/u01/app/oracle/product/11.2/dbs/orapwora112
Alert log и трассировочные файлы
При работе базы данных события и ошибки регистрируются в текстовых файлах на сервере базы данных. Файл журнала предупреждений (alert log) нужен администратору базы данных для отслеживания важнейших фействий с базой данных - наподобие открытия и закрытия базы данных, установления параметров загрузки базы данных и переключения оперативных журналов повтора. Также в эти файлы записываются многие ошибки базы данных для последующего расследования их причин. Любые структурные изменения базы данных также регистрируются в файле журнала предупрежденияй.
// в 11 версии базы данных
$ ls /u01/app/oracle/diag/rdbms/ora112/ora112/alert
log.xml
Когда возникает ошибка базы данных, может генерироваться файл трассировки (trace file). Они содержит подробную информацию о возникновении ошибки.
// в 11 версии базы данных
/u01/app/oracle/diag/rdbms/ora112/ora112/trace
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot
Файлы данных (Data Files)
Все данные в базе данных Oracle сохраняются в файлах данных. Все таблицы, индексы, триггеры, последовательности, программы на PL/SQL, представления - все это находится в файлах данных. И хотя эти и другие объекты базы данных логически содержатся в табличных пространствах, в действительности они сохраняются в файлах на жестком диске компьютера.
В каждой базе данных Oracle имеется по крайней мере один файл данных (но обычно их бывает больше). Если вы создаете в Oracle таблицу и заполняете ее строками, Oracle помещает эту таблицу и строки в файл данных. Каждый файл данных может быть связан только с одной базой данных.
У каждого файла данных имеется специальный формат, внутренний для программного обеспечения Oracle. Важно отдавать себе отчет в том, что файл данных состоит из заголовка и совокупности блоков. Заголовок файла данных Oracle содержит несколько структур, в том числе и идентификатор базы данных, номер и имя файла, тип файла, SCN создания и состояния файла.
Данные в файлы вносятся исключительно средствами Oracle.
Следующий запрос, покажет, где находятся файлы данных.
Необязательные файлы:
-
(необязательные в том смысле, что база может быть настроена для работы без данных файлов) (Alertlog - если нет необходимости в изучении данных по ошибкам, можно удалить. Трассировочные файлы по умолчанию не создаются. Чтобы создавались, нужно включать трассировку и потом не забыть отключить) (По умолчанию не используются. Нужно специально создавать специальными командами.)
Неполное восстановление из последнего бекапа на 15 минут назад
При выполнении неполного восстановления, необходимо открывать базу данных командой:
При выполнении resetlogs, меняется инкарнация базы данных.
Файлы параметров pfile, spfie (Parameter Files)
Файлы параметров используются для конфигурирования действий Oracle предже всего при старте. Для того, чтобы запустить экземпляр базы данных, Oracle должен прочесть файл параметров и определить, какие параметры инициализации установлены для этого экземпляра. В файле параметров содержатся многочисленные параметры и их установленные значения. Oracle считывает файл параметров при запуске базы данных. Можно создать несколько файлов параметров, каждый будет соответствовать различным конфигурациям экземпляра.
- spfile - бинарный файл, который используется сервером Oracle при старте.
- pfile - текстовый файл с параметрами, будет использоваться при старте, если не будет найден spfile.
При старте, Oracle считает файл spfileora112.ora. (файл серверных параметров). Преимущество spfile заключается в том, что при работе с базой данных, любые изменения в базе касающиеся изменения параметра системы, автоматически записываются в данный файл.
Если используется pfile, для сохранения изменений, необходимо либо “руками вносить эти изменения” в текстовый файл, либо в консоли выполнять команды для создания данных файлов Ораклом.
Восстановливать до того места, где возникает ошибка (например, отстутсвует архивный журнал или он испорчен).
startup force nomount;
RMAN> list backupset;
RMAN> restore spfile to pfile '/tmp/initora12.ora' from '+ARCH/ORCL12/BACKUPSET/2015_08_19/nnsnf0_full_database_spfile_0.289.888163613';
RMAN> restore spfile from '+ARCH/ORCL12/BACKUPSET/2015_08_19/nnsnf0_full_database_spfile_0.289.888163613';
Восстановили spfile. SQL> shutdown immediate; SQL> startup nomount;
$ rmant rarget / nocatalog RMAN> restore controlfile from '+ARCH/ORCL12/BACKUPSET/2015_08_19/nnsnf0_full_database_spfile_0.289.888163613';
SQL> alter database mount; База в состоянии: Mounted RMAN> crosscheck backup; RMAN> catalog start with '+ARCH/ORCL12/BACKUPSET/2015_08_19/'; RMAN> crosscheck archivelog all; // Если нужно восстановить в каталог в котором были файлы данных RMAN> restore database; RMAN> recover database; // Если нужно восстановить в каталог отличный от того, который был. RMAN> RUN < set newname for datafile 1 to '. /system*.dbf'; set newname for datafile 2 to '. /sysadux*.dbf'; set newname for datafile 3 to '. /undo*.dbf'; set newname for datafile 4 to '. /user*.dbf'; restore datafile 1,2,3,4; switch datafile all; recover datafile 1,2,3,4; >
RMAN> alter database open resetlogs; -->
Предполагается, что вы инсталлировали базу данных, согласно документа.
Восстановление только табличного пространства system на время последнего бекапа
Управляющие файлы (Control Files)
Поскольку база данных Oracle является физическим набором связанных файлов данных, то для их синхронизации и контроля требуется особые методы. Для этих целей используются управляющие файлы.
База данных Oracle может иметь один или несколько управляющих файлов. Если имеется несколько управляющих файлов, все они должны быть абсолютно идентичными. При каждом запуске базы данных Oracle читает информацию управляющего файла, а при каждом изменении размещения или добавления новых файлов данных и журналов базы данных обновляет управляющий файл.
Оперативные файлы журналов повтора (Online Redo Log Files)
Оперативные файлы журналов повтора - предназначены для записи всех изменений, выполненных над данными базы данных Oracle. Используется для хранения на диске информации для повторного выполнения операций.
Для компьютера выполнить задачи повторно - означает выполнить ее точно так, как она выполнялась в предыдущий раз. Поэтому назначение оперативного файла журнала повтора заключается в сохранении информации об изменениях в базе данных таким, образом, чтобы позже их можно было повторить.
Каждая база данных должна иметь не менее двух оперативных файлов журналов повтора. Текущий файл постепенно заполняется, после его заполнения (или переключения некоторыми командами), база данных приступает к записи в следующий файл. Эта операция называется переключением журналов.
Поскольку файлы повтора необходимы для выполнения восстановления базы данных и являются критичными, их объединяют в группы. Запись происходит одновременно в файлы одной группы.
Читайте также: