Oracle 冷備份和冷恢複

來源:互聯網
上載者:User

閱讀說明

1.參數說明
COLD_BACK_DIR: 冷備份目錄
SCRIPT_FILE: 此代碼所產生的批次檔路徑及檔案名稱
LOG_FILE: 備份記錄檔存放路徑及檔案名稱
INT_PWD: internal使用者的口令
儲存產生的sql檔案。

2.在實際生產環境中參數根據實際情況而定

3.執行cmd cd 到儲存產生sql檔案的指定目錄

4.sqlplus 使用者名稱/密碼@資料庫執行個體 @sql檔案名稱

例: sqlplus system/123@orcl @oracleremark.sql

5.如何未建立coolback檔案夾,oracleremark.sql將不會自動產生,需要手動建立

6.測試環境實在本機或伺服器上。

 

Oracle冷備份

 --You must have select privileges on the v$parameter
 --v$logfile v$datafile and v$controlfile data
 --dictionary views belonging to SYS to run this program
  
  define COLD_BACK_DIR = c:\coolback
  define SCRIPT_FILE = c:\coolback\coldbackup.bat
  define LOG_FILE= c:\coolback\coldbackup.log
  define INT_PWD = pj2012PK
  set pages 0 feed off echo off time off
  set verify off
  col a new_value b
  col c new_value d
  select value a,to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') c from v$parameter where name ='db_name';
  
  spool &SCRIPT_FILE
  prompt rem ***** COLDBACKUP ORACLE DATABASE FOR &b ON WINDOWS NT ON &d*****
  prompt
  prompt set ShutDownFile=C:\ShutDown.SQL
  prompt echo connect internal/&INT_PWD > %ShutDownFile%
  prompt echo shutdown immediate >> %ShutDownFile%
  prompt echo startup >> %ShutDownFile%
  prompt echo shutdown normal >> %ShutDownFile%
  prompt echo exit >> %ShutDownFile%
  prompt
  prompt rem ***** SHUTDOWN THE DATABASE *******
  prompt set oracle_sid=&b
  prompt svrmgrl @%ShutDownFile%
  prompt
  -- prompt net stop OracleStart%oracle_sid%
  prompt net stop OracleService%oracle_sid%
  prompt
  prompt rem ***** SET BACKUP FILES DIRECTORY *****
  prompt md c:
  prompt md c:\coolback
  prompt
  prompt rem ***** COPY FILES *****
  prompt rem Redo logs
  prompt
  select 'copy '||member||' &COLD_BACK_DIR /y' from v$logfile;
  prompt
  prompt rem Datafile;
  prompt
  select 'copy '||name||' &COLD_BACK_DIR /y' from v$datafile;
  prompt
  prompt rem Control files
  prompt
  select 'copy '||name||' &COLD_BACK_DIR /y' from v$controlfile;
  prompt
  prompt rem Init.ora files
  prompt
  select 'copy C:\app\Administrator\admin\orcl\pfile\init.ora.642012161924 '||'&COLD_BACK_DIR /y' from dual;
  prompt
  prompt rem Net Config files
  prompt
  select 'copy C:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN\*.ora '||'&COLD_BACK_DIR /y'from dual;
  prompt
  prompt rem *********START UP DATABASE AND SERVICES********
  prompt net start OracleService%oracle_sid%
  -- prompt net start OracleStart%oracle_sid%
  prompt
  prompt set StartFile=C:\start.SQL
  prompt echo connect internal/&INT_PWD > %StartFile%
  prompt echo startup >> %StartFile%
  prompt echo exit >> %StartFile%
  prompt
  prompt svrmgrl @%StartFile%
  prompt
  prompt del /Q %ShutDownFile%
  prompt del /Q %StartFile%
  prompt set LogFile=&LOG_FILE
  prompt echo COMPLETE COLD BACKUP FOR "&b" DATABASE STARTED ON &d ...> %logFile%
  prompt exit
  
  spool off
  
  $&SCRIPT_FILE
  $del &SCRIPT_FILE
  exit

oracle冷恢複

 --You must have select privileges on the v$parameter
  --v$logfile v$datafile and v$controlfile data
  --dictionary views belonging to SYS to run this program
  
  define COLD_BACK_DIR = e:\oradb\coldbackups
  define SCRIPT_FILE = e:\back\coldrecover.bat
  define LOG_FILE= e:\back\coldcov.log
  define INT_PWD = oracle
  
  set pages 0 feed off echo off time off
  col a new_value b
  col c new_value d
  select value a,to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') c from v$parameter where name='db_name';
  
  spool &SCRIPT_FILE
  prompt rem ***** COLDRECOVER ORACLE DATABASE FOR &b ON WINDOWS NT ON &d*****
  prompt
  prompt set ShutDownFile=C:\ShutDown.SQL
  prompt echo connect internal/&INT_PWD > %ShutDownFile%
  prompt echo shutdown immediate >> %ShutDownFile%
  prompt echo startup >> %ShutDownFile%
  prompt echo shutdown normal >> %ShutDownFile%
  prompt echo exit >> %ShutDownFile%
  prompt
  prompt rem ***** SHUTDOWN THE DATABASE *******
  prompt set oracle_sid=&b
  prompt svrmgrl @%ShutDownFile%
  prompt
  -- prompt net stop OracleStart%oracle_sid%
  prompt net stop OracleService%oracle_sid%
  prompt
  prompt rem ***** SET BACKUP FILES DIRECTORY *****
  prompt cd &COLD_BACK_DIR
  prompt
  prompt rem ***** COPY FILES *****
  
  -- select 'xcopy e:\oradb\backups /E /V '||substr(member,1,length(member)-11) from v$logfile

  -- where group#=1;
  
  prompt rem Redo logs
  prompt
  select 'copy '||substr(member,instr(rtrim(member),'\',-1,1)+1,length(rtrim(member)))||' '||member from v$logfile;
  prompt
  prompt rem Datafile
  prompt
  select 'copy '||substr(name,instr(rtrim(name),'\',-1,1)+1,length(rtrim(name)))||' '||name from v$datafile;
  prompt
  prompt rem Control files
  prompt
  select 'copy '||substr(name,instr(rtrim(name),'\',-1,1)+1,length(rtrim(name)))||' '||name from v$controlfile;
  prompt
  prompt rem Init.ora files
  prompt
  select 'rename c:\oracle\admin\sqcdb\pfile\init.ora init.ora.bak' from dual;
  select 'copy init.ora c:\oracle\admin\sqcdb\pfile ' from dual;
  prompt
  prompt rem Net Config files
  prompt
  select 'rename C:\Oracle\Ora81\NETWORK\ADMIN\*.ora *.ora.bak' from dual;
  select 'copy *.ora C:\Oracle\Ora81\NETWORK\ADMIN 'from dual;
  prompt
  prompt rem *********START UP DATABASE AND SERVICES********
  prompt net start OracleService%oracle_sid%
  -- prompt net start OracleStart%oracle_sid%
  prompt
  prompt set StartFile=C:\start.SQL
  prompt echo connect internal/&INT_PWD > %StartFile%
  prompt echo startup >> %StartFile%
  prompt echo exit >> %StartFile%
  prompt
  prompt svrmgrl @%StartFile%
  prompt
  prompt del /Q %ShutDownFile%
  prompt del /Q %StartFile%
  prompt set LogFile=&LOG_FILE
  prompt echo COMPLETE COLD RECOVER FOR "&b" DATABASE ON &d ...> %logFile%
  prompt exit
  spool off
  $&SCRIPT_FILE
  $del &SCRIPT_FILE
  exit

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.