Простое резервное копирование оракула без использования exp или expdp - PullRequest
4 голосов
/ 06 апреля 2010

У меня Oracle 10g установлен на Windows в C: \ oracle. Если я остановлю все службы Oracle, безопасно ли выполнять резервное копирование, просто скопировав весь каталог (например, в C: \ oracle_bak), или мне значительно лучше использовать expdp?

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

Ответы [ 4 ]

3 голосов
/ 06 апреля 2010

Если ваша база данных не работает в режиме архивного журнала, ответ - да. Вот несколько сценариев, которые я использую для резервного копирования и восстановления моей базы данных.

--- backup.bat ---

sqlplus "sys/passwd@database as sysdba" @shutdown.sql
xcopy C:\oracle\oradata\database\*.* C:\oracle\oradata\backup_database\*.* /Y
sqlplus "sys/passwd@database as sysdba" @startup.sql

---- shutdown.sql

shutdown immediate
exit;

---- startup.sql

startup
exit;

Сценарий восстановления аналогичен. Просто копирует файлы в другом направлении.

1 голос
/ 06 апреля 2010

Вы можете просто скопировать файлы данных (однако, убедитесь, что вы также получили контрольные файлы, и убедитесь, что вы проверяете свои резервные копии). Вы, вероятно, должны использовать RMAN.

Хорошее место для начала - Краткое руководство по резервному копированию и восстановлению базы данных Oracle® .

0 голосов
/ 07 апреля 2010

Копирование / вставка работает, но вы не должны просто копировать / вставлять весь Oracle домой. Это гораздо больше усилий, чем требуется.

Сначала вам нужно будет выполнить переключение журнала, т. Е.

SET ORACLE_SID=mydb
sqlplus /nolog
Connect / as sysdba
Alter system switch logfile;

Переведите все ваши табличные пространства в режим резервного копирования, т.е.

CONNECT / AS SYSDBA
ALTER TABLESPACE mytablespace BEGIN BACKUP;

(Вы можете получить свои табличные пространства, запросив представление DBA_TABLESPACES)

Затем скопируйте все свои файлы данных и восстановите файлы журнала в свою резервную копию.

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

0 голосов
/ 06 апреля 2010

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

exp userid=MY_APP file=dumpfile.dmp log=logfile.txt consistent=y statistics=none buffer=1024000

Восстановление файла дампа во вторую базу данных работает следующим образом

imp userid=system fromuser=MY_APP touser=MY_APP file=dumpfile.dmp commit=y buffer=102400 

Или вы можете восстановить таблицы из MY_APP в другую схему в той же базе данных

imp userid=system fromuser=MY_APP touser=MY_BACKUP file=dumpfile.dmp commit=y buffer=102400

Просто создайте новую схему MY_BACKUP перед импортом

create user MY_BACKUP identified by SECRET default tablespace USERS temporary tablespace temp;
grant connect, resource to MY_BACKUP;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...