Результаты опроса: Какими средствами организован бэкап базы?
Холодный бэкап средствами ОС 24 77.42%
Горячий бэкап без использования RMAN 1 3.23%
Горячий бэкап с использованием RMAN 6 19.35%
Голосовавшие: 31. Вы ещё не голосовали в этом опросе

[ОТВЕТИТЬ]
Опции темы
11.09.2006 14:37  
Vlad
Холодный бэкап средствами "Acronis True Img" для ЦО
В магах бэкап при помощи OlegON BackUper
Каждую ночь.
ОС Win 2000 Serv Sp4
Oracle 8-ка
 
12.09.2006 03:37  
isi
Пытались использовать OlegON BackUper, были проблемы с остановкой сервисов на некоторых серверах, в итоге написана своя программа, холодный backUp раз в сутки ночью.
W2000 Server & W2k3 Server, Oracle 8 & 9
 
19.09.2006 06:10  
reddevil
Мдя, результаты более чем печальные, посему:
Код:
--@hotb 'c:\backup' 'd:\oracle\archive';
--        bak dir       archlog dir
set lin 1000
set serveroutput on format wrapped size 1000000
set echo off
set verify off
set feedback off
define bdir='&1'
define archdir=&2
spool hotbackup.sql

declare 
 cursor tbspc is 
    select tablespace_name from 
        dba_tablespaces
     where
       contents <> 'TEMPORARY'
        order by tablespace_name;

    cursor datfil (tbspcname varchar2) is 
      select df.file_name from dba_data_files df, v$datafile d
    where
       df.tablespace_name = tbspcname
      and
 df.file_name = d.name
       and
 d.enabled like '%WRITE%'
  order by df.tablespace_name;

    tabcur tbspc%rowtype;
       datcur datfil%rowtype;  

        sql_string Varchar2(500);
   tsname1 varchar2(30);
       tsname2 varchar2(30);
begin
      /*  send_mail('Backup Started'); СМС-ка админу что Бэкап начали (на яве) */ 

        dbms_output.put_line('WHENEVER SQLERROR EXIT SQL.SQLCODE');
        dbms_output.put_line('WHENEVER OSERROR EXIT');
        dbms_output.put_line('host rd &bdir\dfbak /Q /S');
        dbms_output.put_line('host rd &bdir\arcbak /Q /S');
  dbms_output.put_line('host md &bdir\dfbak');
        dbms_output.put_line('host md &bdir\arcbak');
        dbms_output.put_line('host del &archdir\*.* /q');
        dbms_output.put_line('alter system archive log current;');

        open tbspc;      
    loop
                fetch tbspc into tabcur;
            exit when tbspc%notfound;
           sql_string := 'ALTER TABLESPACE ' || tabcur.tablespace_name || ' BEGIN BACKUP;';
            dbms_output.put_line(sql_string);
--         Execute Immediate sql_string;
               for datcur in datfil(tabcur.tablespace_name)
                loop
                        sql_string := 'host copy ' || datcur.file_name || ' &bdir\dfbak';
                      dbms_output.put_line(sql_String);
--                 Execute Immediate sql_string;                   
            end loop;
           sql_string := 'ALTER TABLESPACE ' || tabcur.tablespace_name || ' END BACKUP;';
              dbms_output.put_line(sql_string);
                dbms_output.put_line('alter system archive log current;');
--         Execute Immediate sql_string;
       end loop;
   close tbspc;

    dbms_output.put_line('alter database backup controlfile to trace;');
      dbms_output.put_line('alter database backup controlfile to '||''''||'&bdir'||'\dfbak\'||to_char(sysdate,'ddmmyyhhmi')||'.ctl'||''''||';');
      --  dbms_output.put_line('alter system archive log all;');
  dbms_output.put_line('host copy &archdir\*.* &bdir\arcbak');
    dbms_output.put_line('host del &archdir\*.* /q');
   dbms_output.put_line('host del &bdir\dfbak2.rar');
    dbms_output.put_line('host del &bdir\arcbak2.rar');
    dbms_output.put_line('host rename &bdir\dfbak1.rar dfbak2.rar');
     dbms_output.put_line('host rename &bdir\arcbak1.rar arcbak2.rar'); 
    dbms_output.put_line('host RAR a  &bdir\dfbak  &bdir\dfbak\*.* -ep -ri1 -s- -df -rr[10]'); 
     dbms_output.put_line('host RAR a  &bdir\arcbak  &bdir\arcbak\*.* -ep -ri1 -s- -df -rr[10]');  
     dbms_output.put_line('host rename &bdir\dfbak.rar dfbak1.rar');
     dbms_output.put_line('host rename &bdir\arcbak.rar arcbak1.rar');
    dbms_output.put_line('host rd &bdir\dfbak /Q /S');
     dbms_output.put_line('host rd &bdir\arcbak /Q /S');
      /*  dbms_output.put_line('begin send_mail(''Backup Finished''); end;');
         dbms_output.put_line('/'); */
 dbms_output.put_line('exit;');
end;
/

spool off

@hotbackup.sql

exit
- hotb.sql

Код:
sqlplus sys/pass@alias @hotb 'E:\backup\hot' 'd:\oracle\archive';
-hbackup.cmd

файл hbackup.cmd - батник вызывающий SQL скрипт который генерит другой скрипт со списком копируемых файлов, 1-ый параметр это -куда копируем, 2-ой это где лежат архивлоги(то где лежат архивологи можно конечно у базы спросить, но писать в лом чета :)) в результате работы буду созданы 2 архива с архивлогами и файлами данных и РК упр.файла. Политика удержания минус 2 суток то есть *bak1.rar - за стуик назад,*bak2.rar - за двое суток. В директории с этими скриптами должен лежать rar.exe.

P.S. Скрпиты не претендуют на оригинальность и гениальность.
P.P.S Кто скажет что это сложно, долго и т.д. пусть первый бросит в меня камень
З.Ы.Ы.Ы. RMAN - рулит
 
19.09.2006 07:58  
OlegON
Я еще в 2002 написал батник на горячее копирование, вроде этого. Судя по тому, что его никто не использует, тебя сейчас закидают камнями :)
 
19.09.2006 08:05  
kadr
reddevil, респект, такой реализации я ещё не встречал, достаточно компактно и просто.

P.S. А RMAN действительно рулит, если в нём разобраться
 
16.05.2011 09:49  
Didar
Цитата:
Сообщение от reddevil
Мдя, результаты более чем печальные, посему:
Код:
--@hotb 'c:\backup' 'd:\oracle\archive';
--        bak dir       archlog dir
set lin 1000
set serveroutput on format wrapped size 1000000
set echo off
set verify off
set feedback off
define bdir='&1'
define archdir=&2
spool hotbackup.sql

declare 
 cursor tbspc is 
    select tablespace_name from 
        dba_tablespaces
     where
       contents <> 'TEMPORARY'
        order by tablespace_name;

    cursor datfil (tbspcname varchar2) is 
      select df.file_name from dba_data_files df, v$datafile d
    where
       df.tablespace_name = tbspcname
      and
 df.file_name = d.name
       and
 d.enabled like '%WRITE%'
  order by df.tablespace_name;

    tabcur tbspc%rowtype;
       datcur datfil%rowtype;  

        sql_string Varchar2(500);
   tsname1 varchar2(30);
       tsname2 varchar2(30);
begin
      /*  send_mail('Backup Started'); СМС-ка админу что Бэкап начали (на яве) */ 

        dbms_output.put_line('WHENEVER SQLERROR EXIT SQL.SQLCODE');
        dbms_output.put_line('WHENEVER OSERROR EXIT');
        dbms_output.put_line('host rd &bdir\dfbak /Q /S');
        dbms_output.put_line('host rd &bdir\arcbak /Q /S');
  dbms_output.put_line('host md &bdir\dfbak');
        dbms_output.put_line('host md &bdir\arcbak');
        dbms_output.put_line('host del &archdir\*.* /q');
        dbms_output.put_line('alter system archive log current;');

        open tbspc;      
    loop
                fetch tbspc into tabcur;
            exit when tbspc%notfound;
           sql_string := 'ALTER TABLESPACE ' || tabcur.tablespace_name || ' BEGIN BACKUP;';
            dbms_output.put_line(sql_string);
--         Execute Immediate sql_string;
               for datcur in datfil(tabcur.tablespace_name)
                loop
                        sql_string := 'host copy ' || datcur.file_name || ' &bdir\dfbak';
                      dbms_output.put_line(sql_String);
--                 Execute Immediate sql_string;                   
            end loop;
           sql_string := 'ALTER TABLESPACE ' || tabcur.tablespace_name || ' END BACKUP;';
              dbms_output.put_line(sql_string);
                dbms_output.put_line('alter system archive log current;');
--         Execute Immediate sql_string;
       end loop;
   close tbspc;

    dbms_output.put_line('alter database backup controlfile to trace;');
      dbms_output.put_line('alter database backup controlfile to '||''''||'&bdir'||'\dfbak\'||to_char(sysdate,'ddmmyyhhmi')||'.ctl'||''''||';');
      --  dbms_output.put_line('alter system archive log all;');
  dbms_output.put_line('host copy &archdir\*.* &bdir\arcbak');
    dbms_output.put_line('host del &archdir\*.* /q');
   dbms_output.put_line('host del &bdir\dfbak2.rar');
    dbms_output.put_line('host del &bdir\arcbak2.rar');
    dbms_output.put_line('host rename &bdir\dfbak1.rar dfbak2.rar');
     dbms_output.put_line('host rename &bdir\arcbak1.rar arcbak2.rar'); 
    dbms_output.put_line('host RAR a  &bdir\dfbak  &bdir\dfbak\*.* -ep -ri1 -s- -df -rr[10]'); 
     dbms_output.put_line('host RAR a  &bdir\arcbak  &bdir\arcbak\*.* -ep -ri1 -s- -df -rr[10]');  
     dbms_output.put_line('host rename &bdir\dfbak.rar dfbak1.rar');
     dbms_output.put_line('host rename &bdir\arcbak.rar arcbak1.rar');
    dbms_output.put_line('host rd &bdir\dfbak /Q /S');
     dbms_output.put_line('host rd &bdir\arcbak /Q /S');
      /*  dbms_output.put_line('begin send_mail(''Backup Finished''); end;');
         dbms_output.put_line('/'); */
 dbms_output.put_line('exit;');
end;
/

spool off

@hotbackup.sql

exit
- hotb.sql

Код:
sqlplus sys/pass@alias @hotb 'E:\backup\hot' 'd:\oracle\archive';
-hbackup.cmd

файл hbackup.cmd - батник вызывающий SQL скрипт который генерит другой скрипт со списком копируемых файлов, 1-ый параметр это -куда копируем, 2-ой это где лежат архивлоги(то где лежат архивологи можно конечно у базы спросить, но писать в лом чета :)) в результате работы буду созданы 2 архива с архивлогами и файлами данных и РК упр.файла. Политика удержания минус 2 суток то есть *bak1.rar - за стуик назад,*bak2.rar - за двое суток. В директории с этими скриптами должен лежать rar.exe.

P.S. Скрпиты не претендуют на оригинальность и гениальность.
P.P.S Кто скажет что это сложно, долго и т.д. пусть первый бросит в меня камень
З.Ы.Ы.Ы. RMAN - рулит
Закидайте меня камнями... Но я нихрена не понял... Неделю как Оракл вижу, шеф заставляет делать бэкапы... Объясните как ламеру... Оч прошу... :kez_01:
 
16.05.2011 09:53  
Didar
Кстати Оракл 10, а винда 2003 сп 2... Помоги ...
 
16.05.2011 09:55  
John Doe
Увеличение доступности БД Oracle - поставь оптимизатор, он и будет делать бекапы.
 
16.05.2011 09:58  
Didar
Я не умею читать.
В заранее спасибо... Жду помощи...
 
 


Опции темы



Часовой пояс GMT +3, время: 09:56.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.