powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получение информации из табличных пространств
7 сообщений из 7, страница 1 из 1
Получение информации из табличных пространств
    #39604396
DmSide
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Простите за небольшой крик души.
Мне недалече поставили очень интересную задачу. Суть ее в том, чтобы создать базу на основе имеющихся файлов табличных пространств(файлов с расширением DBF). Сколько я успел вычитать из различных источников, файлы DBF Oracle "особенные" и в отличие от стандарта DBF их нельзя просто взять и открыть MS EXCEL. С другой стороны, в них хранится всё: таблицы, ключи и т.д.
И вот у меня вопрос к сообществу: возможно ли это сделать? Если ли средства Oracle, чтобы получить информацию из этих dbf файлов?
Если я смогу получить хотя бы содержимое таблиц, это уже будет победа на мой взгляд.
Благодарю за внимание.
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604401
Да всё предназначение СУБД Oracle состоит в получении и записи информации в эти файлы
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604402
Фотография mefman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSideЗдравствуйте! Простите за небольшой крик души.
Мне недалече поставили очень интересную задачу. Суть ее в том, чтобы создать базу на основе имеющихся файлов табличных пространств(файлов с расширением DBF). Сколько я успел вычитать из различных источников, файлы DBF Oracle "особенные" и в отличие от стандарта DBF их нельзя просто взять и открыть MS EXCEL. С другой стороны, в них хранится всё: таблицы, ключи и т.д.
И вот у меня вопрос к сообществу: возможно ли это сделать? Если ли средства Oracle, чтобы получить информацию из этих dbf файлов?
Если я смогу получить хотя бы содержимое таблиц, это уже будет победа на мой взгляд.
Благодарю за внимание.
Файлы ТП в оракле не "особенные", они вообще не имеют никакого отношения к "стандарту" DBF.
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604405
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSideвозможно ли это сделать?Даже хоть какой-то успех не гарантирован. А в случае чайника - вообще труба.
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604413
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmSide, Мессир
прочитайте 1 главу Oracle Concepts и начнёте понимать во что Вы собираетесь ввязаться.
кратко, очень грубо и упрощённо:

База данных Oracle - набор файлов + набор процессов
dbf файлы - бинарные файлы с данными, принадлежат одному из табличных пространств
+ system табличное пространство - системный словарь объектов базы
+ undo табличное пространство - сегменты отката транзакций
+ redo файлы - журналы опережающей записи
+ дополнительные файлы temp, bfile и некоторые другие

Нужно разделять логический уровень:
- объект,
- табличное пространство,
- схема,
- запись
и физический уровень:
файл
блок

Во время работы, СУБД формирует так называемые SCN (System Change Number) - временные метки. Один и тот же блок /набор записей в нем может в один и тот же момент времени в базе может иметь несколько незафиксированных состояний (с разным SCN). В момент фиксации commit, этот блок пишется в redo, и commit complete сессия получает только в момент, когда вектор измененния данных запишется на диск в файл redo. При этом собственно измененный блок файла запишется на свое место впоследствии, когда это будет удобно для СУБД (checkpoit). Так называемая отложенная запись.

незафиксированные данные хранятся в cache block, при этом, старые данные (которые используются при откате/rollback) пищутся в логическом виде (вектор изменения) в undo

В случае сбоя, при старте, база сначало, записывает все изменения хранящиеся в redo на блоки табличных пространств (файлов) и докатывает их на один момент времени/SCN
Выполняет физическое согласование файлов

После этого, для логического согласования, штатным образом откатывает незавершенные транзакции используя информацию из undo. И только после этого база открывается и можно получить данные из СУБД.

Таким образом, для того, чтобы открыть базу для чтения, Вам необходимо:
1) ПО СУБД Oracle именно той версии и той же ОС (не совсем так, но не будем сейчас на этом останавливаться), на которой работала база (Включая патчи)
2) обеспечить согласованность всего набора файлов, то есть иметь набор файлов данных + набор redo для физического согласования базы.

Чтобы поднять оставшийся ПОЛНЫЙ! набор файлов, нужно иметь навыки DBA.
Примерные объем бедствия: 2128449
Операция клонирования базы, чем то похожа на Вашу задачу.
Удачи!
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604419
DmSide.
Мне недалече поставилиТы не так понял постановку. А может просто тебя далече послали.
...
Рейтинг: 0 / 0
Получение информации из табличных пространств
    #39604420
DmSide,

х.з. что там у тебя за задача и что за файлы есть в наличии. Но вдруг.... Вдруг - это "холодный" бэкап?
Тогда можно попробовать варианты отсюда ...
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получение информации из табличных пространств
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]