Попытка использовать SQL-Developer для анализа дампа системной таблицы, созданной с помощью 'exp' - PullRequest
1 голос
/ 03 апреля 2012

Я пытаюсь восстановить данные из определенной таблицы, которая существует в дампе системной таблицы, которую я выполнил ранее.Я хотел бы добавить строки, существующие в дампе, к любым строкам, которые могут существовать в активной таблице.Проблема в том, что, вероятно, имя таблицы в дампе не совпадает с тем, что существует в базе данных в настоящее время (они динамически создаются с префиксом ARC_TREND_).Кроме того, я не знаю имени таблицы, поскольку она существует в дампе, я надеялся использовать SQL Developer для анализа файла дампа, поскольку я могу распознать правильную таблицу по ее столбцам и существующим строкам.

Пока я слепо верю, что SQL Developer может работать с моим файлом дампа, при попытке открыть его я получаю исключение Java Heap OutOfMemory.Я изменил максимальный размер кучи с 640 м до 1024 м как в sqldeveloper.bat, так и в sqldeveloper.conf, но безрезультатно.

Может ли кто-нибудь порекомендовать мне какой-нибудь способ восстановления данных изтаблица, которая существует в файле дампов, созданных exp?Графический инструмент был бы хорош, но я не новичок в командной строке.Мне нужно проанализировать таблицы, которые существуют в дампе, чтобы выбрать правильную.Тогда я предполагаю, что могу использовать imp TABLE=, чтобы вернуть его в активный экземпляр.Скорее всего, оно не будет соответствовать имени существующей таблицы, поэтому я буду использовать SQL Developer для копирования строк из импортированной таблицы в таблицу, в которой они мне нужны.

Дамп был получен с работающего сервера Linux10g, и будет импортирован (тот же экземпляр сервера и базы данных, обновлен) в экземпляр 11g той же базы данных.

Спасибо

1 Ответ

3 голосов
/ 03 апреля 2012

Поскольку вы имеете в виду imp, а не impdp, я предполагаю, что это не было экспортировано с помощью насоса данных. В любом случае, я сомневаюсь, что вы получите что-нибудь полезное через SQL Developer.

К счастью, большинство из того, что вы пытаетесь сделать, довольно просто из командной строки; просто запустите imp с параметром INDEXFILE , который даст вам текстовый файл, содержащий все таблицы (закомментированные с REM) и команды создания индекса. После этого вы сможете найти таблицу по именам столбцов.

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

...