Oracle Backup Database с sqlplus это возможно?

Мне нужно внести некоторые структурные изменения в базу данных (изменить таблицы, добавить новые столбцы, изменить некоторые строки и т. д.), но мне нужно убедиться, что если что-то пойдет не так, я смогу вернуться к исходному состоянию:

  • Все необходимые изменения находятся внутри файла сценария SQL.
  • У меня нет административного доступа к базе данных.
  • Мне действительно нужно убедиться, что резервное копирование выполняется на стороне сервера, поскольку на BD содержится более 30 ГБ данных.
  • Мне нужно использовать sqlplus (под выделенным сеансом ssh через vpn)
  • Невозможно использовать "базу данных воспоминаний"! Он выключен, и я не могу остановить базу данных.

Я действительно глубоко в $#$%?

Есть идеи, как сделать резервную копию базы данных с помощью sqlplus и оставить резервную копию на сервере БД?


person sakana    schedule 17.03.2009    source источник
comment
Если у вас нет прав администратора, вы не можете использовать RMAN.   -  person abhi    schedule 18.04.2014


Ответы (3)


лучше, чем exp/imp, вы должны использовать rman. он создан специально для этой цели, он может выполнять горячее резервное копирование/восстановление, и если вы полностью облажаетесь, все будет в порядке.

Одна «загвоздка» заключается в том, что вам также необходимо сделать резервную копию каталога $ ORACLE_HOME (по моему опыту), потому что вам нужна эта локально сохраненная информация для восстановления управляющих файлов.

поиск rman в google дает ОЧЕНЬ полезную информацию на первой странице.

person KevinDTimm    schedule 17.03.2009
comment
rman требует входа в систему или sys для создания каталога резервных копий. Но при доступе администратора баз данных rman намного лучше, чем imp/exp или datapump. - person Thomas Jones-Low; 18.03.2009
comment
Я предполагаю, что если кому-то нужно сделать резервную копию, у него есть эти разрешения. В противном случае они с самого начала настолько ограничены, что не могут быть эффективными. - person KevinDTimm; 18.03.2009

Альтернативный подход может состоять в том, чтобы создать новую схему, содержащую ваши измененные структуры и данные, и фактически протестировать ее. Это предполагает, что у вас достаточно места на сервере БД для хранения всех тестовых данных. У вас действительно должно быть довольно хорошее представление о том, что ваши изменения будут работать, прежде чем выгружать их в производственную среду.

Я бы не стал использовать sqlplus для этого. Обратите внимание на экспорт/импорт. Утилита экспорта захватит определения и данные для вашей базы данных (это можно сделать в режиме согласованного чтения). Утилита импорта прочитает этот файл и создаст из него структуры базы данных. Однако доступ к этим утилитам требует предоставления разрешений, особенно если вам нужно сделать резервную копию всей базы данных, а не только схемы.

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

person DCookie    schedule 17.03.2009

Попытка создать резервную копию 30 ГБ данных через sqlplus является безумием. Это займет несколько часов и потребует от 3 до 5 раз больше места на диске, и может быть невозможно восстановить без дополнительного тестирования.

Вам нужно использовать exp и imp. Это инструменты командной строки, предназначенные для резервного копирования и восстановления базы данных. Это инструменты командной строки, которые, если у вас есть доступ к sqlplus через ваш ssh, у вас есть доступ к imp/exp. Вам не нужен доступ администратора, чтобы использовать их. Они будут создавать дамп базы данных (со всеми таблицами, триггерами, представлениями, процедурами) для пользователей, к которым у вас есть доступ.

person Thomas Jones-Low    schedule 17.03.2009
comment
Кажется, это хороший подход к тому, что я ищу. Спасибо :) - person sakana; 17.03.2009