Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 9

Резервное копирование бд Oracle

03.07.2013, 21:46. Показов 1716. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Столкнулся с необходимостью реализовать сабж на делфи, до этого ни с чем подобным дела не имел. Какие существуют вариант решения данной задачи? Решил остановиться на холодном копировании. Буду признателен за любую помощь.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.07.2013, 21:46
Ответы с готовыми решениями:

Резервное копирование
Драсте, есть deplhi 7, база данных access и само приложение. Нужно каким-то образом создать backup систему. Я не знаю как это можно...

Резервное копирование БД
Может кто знает код или пример как можно копировать в определенную папку MS Access из приложения, что то делать резервную копию что ли.

Резервное копирование и восстановление БД
Доброго времени суток! Есть программа на Delphi и БД MySQL. Как можно осуществить резервное копирование и восстановление БД средствами...

17
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 11:10
А зачем тут Delphi?
Во-первых, в поставку Oracle включена утилита RMAN, выполняющая работы по backup/recovery.
Во-вторых, если очень хочется без нее и есть возможность остановить БД на время backup, то и это вполне решается с пом. bat/com файла. В нем через вызов SQL*Plus делается shutdown, затем копирование файлов БД средствами ОС, затем через вызов SQL*Plus - startup.
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
04.07.2013, 11:29
А вас не напрягает, что это БД? А если вы копию сделаете, а потом не восстановите из нее? Очень печально может кончится.
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 9
04.07.2013, 11:37  [ТС]
Цитата Сообщение от Grossmeister Посмотреть сообщение
А зачем тут Delphi?
Мне нужен модуль для делфи, позволяющий осущесвлять данную операцию. Про rman и прочее я находил в гугле, а вот как в делфи реализовать это и, главное, какими компонентами - ума не приложу.


Цитата Сообщение от Пытливый Посмотреть сообщение
А вас не напрягает, что это БД? А если вы копию сделаете, а потом не восстановите из нее? Очень печально может кончится.
Напрягает, да. Но что поделать.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 12:32
Цитата Сообщение от rzrololorzr
Мне нужен модуль для делфи, позволяющий осущесвлять данную операцию
Во-первых, для холодного backup БД надо остановить, причем чисто (не shutdown abort). Это могут сделать только "родные" SQL*Plus или RMAN. Никакая другая остановка не гарантирует консистентность файлов БД после остановки, а значит с большой долей вероятности получится "фиговый" backup (c которого невозможно восстановиться).
Во-вторых, backup - это весьма ответственное дело, поэтому пользование родными средствами гораздо надежнее. В конце концов, если БД будет потеряна в результате невозможности восстановления, то виноват будет тот, кто создал свою примочку и убедил заказчика, что она надежна.
Алгоритм через bat-файл я уже рассказал. А его (ну если оч-ч-чень хочется) можно запускать и из Delphi. Можно даже все эти команды расположить не в bat_файле, а внутри Delphi (хотя непонятно, на кой ляд), но для останова и запуска БД все равно придется использовать SQL*Plus.
0
Заблокирован
04.07.2013, 12:34
А что такого то? Никакой "остановки через SQL Plus" не требуется. Только потребуется знать никсовый и winapi для платформы где сервер если это не localhost. Культурно остановить БД нефиг делать - kill или остановка служб(культурная, не путать с kill -9), ну и copyfile(), потом старт rc скрипта обратно или службы; Но конечно лучше освоить нормальный бэкап.

Действительно, в таком виде delphi и вообще язык программирования выше скриптов чуть ли не bat уровня не требуется.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 12:45
Цитата Сообщение от Dr_Quake Посмотреть сообщение
или остановка служб
Остановка службы - это возможно, но 100% гарантии, что все закроется культурно, нет. Так что я бы не рисковал.

PS
Подозреваю, что подобная идея реализации backup-а (к слову сказать, я ее вижу уже не первый раз на разных форумах) возникает тогда, когда заказчик надеется эксплуатировать Oracle без DBA (хотя бы приходящего). Что обычно плохо заканчивается.
0
Заблокирован
04.07.2013, 12:46
100%, иначе бы при каждом ребуте/завершении работы всё падало. К.О. Главное останавливать в правильном порядке.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 12:53
Цитата Сообщение от Dr_Quake
100%, иначе бы при каждом ребуте/завершении работы всё падало.
Не совсем так. Иногда может завершиться нормально, но не всегда. Не зря на форумах периодически появляются посты типа "вырубили свет, УПС слабый (или нет вообще) и после включения БД не стартует".

Цитата Сообщение от Dr_Quake
Главное останавливать в правильном порядке.
Если Win, то там всего один сервис экземпляра, о каком порядке идет речь?
0
Заблокирован
04.07.2013, 12:57
Не один, я с ним работал, на нём ещё висит агента аналог как у M$ и управления(в том числе автоперезапуск в функции которого входит), а уж в домене/кластере оракла или как там он для оракла называется - может быть вообще зоопарк служб и инстансов...

"Вырубили свет" это отсутствие завершения чего-либо, остановка службы - штатный механизм завершения работы базы.
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 13:14
Цитата Сообщение от Dr_Quake
Не один, я с ним работал, на нём ещё висит агента аналог как у M$ и управления(в том числе автоперезапуск в функции которого входит)
Сервисов может быть несколько, но в большинстве случаев реально используются только два: сервис экземпляра и listener (если конечно не юзать Enterprise Manager). И именно сервис экземпляра отвечает за работу с БД, остальное - без разницы как останавливать.

Цитата Сообщение от Dr_Quake
"Вырубили свет" это отсутствие завершения чего-либо, остановка службы - штатный механизм завершения работы базы.
Штатный механизм завершения работы - выдача в SQL*Plus команды shutdown [ immediate ]. Именно при этом Oracle гарантирует выполнение полного checkpoint-а, т.е. сброса всех нужных блоков из памяти в файлы.
0
 Аватар для Пытливый
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
04.07.2013, 13:25
А вы не хотите воспользоваться готовыми средствами для этого?
Например Handy Backup Office Expert
0
Заблокирован
04.07.2013, 13:26
Grossmeister, Угадай, что же делает служба при завершении работы... Как обычно - наплодилось программистов которые не понимают даже как никсы работатают, а уж винда...
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 13:45
Цитата Сообщение от Dr_Quake
Угадай, что же делает служба при завершении работы
Мне не надо угадывать. Я знаю разницу между остановкой службы экземпляра и командой shutdown. Например, после выполнения shutdown служба остается запущенной в режиме nomount и после выполнения backup к ней можно опять подключиться через SQL*Plus и стартовать БД. В случае остановки сервиса его обязательно нужно будет стартовать, причем поведение и при остановке, и при старте определяется ключиками реестра (если мы про Win).
Если же на сервере несколько экземпляров, то с остановкой/запуском сервисов вообще отдельная песня (тогда как с shutdown/startup никаких проблем).
0
Заблокирован
04.07.2013, 13:51
Grossmeister, это потому, что oracle кривой просто, а не потому, что так должно быть, функционал на месте тем не менее.
0
0 / 0 / 0
Регистрация: 01.04.2013
Сообщений: 9
04.07.2013, 14:53  [ТС]
Цитата Сообщение от Пытливый Посмотреть сообщение
А вы не хотите воспользоваться готовыми средствами для этого?
Например Handy Backup Office Expert
Нужно реализовать данный функционал именно на делфи
0
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
04.07.2013, 15:06
Цитата Сообщение от Dr_Quake
это потому, что oracle кривой просто, а не потому, что так должно быть, функционал на месте тем не менее.
Так речь шла не о том, как должно быть, а о том, как есть и именно в Oracle.
0
Заблокирован
05.07.2013, 00:33
Как есть в самом оракле не волнует, ибо остановка службы корректно делает то же и больше того.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.07.2013, 00:33
Помогаю со студенческими работами здесь

Резервное копирование firebird 2.1
Нужно сделать реализацию резервного копирования, но появляется ошибка Вот так выглядит форма . Первый год изучаю работу с БД. Буду рад...

Резервное копирование, точнее восстановление
Всем привет! Вот очень понадобилось восстановить резервную копию файла Access (создается очень просто: файл копируется с расширением .bak)...

Резервное копирование и восстановление базы данных
Как в делфи осуществить резервное копирование и восстановление базы данных. С чего начать? Первый раз сталкиваюсь с таким.

Как лучше настроить резервное копирование БД?
Сделал в своей программе возможность дампа базы данных, в ручную при выборе в меню, создается дамп базы в определенную папку с именем...

Резервное копирование локальной базы данных mysql. Delphi
Каким образом выполнить резервное копирование базы данных через Delphi??? Данные вариант не работает в принципе: var dir:string; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru