oracle數(shù)據(jù)庫備份與恢復 a piece of cake (1)
2024-08-29 13:45:38
供稿:網(wǎng)友
在數(shù)據(jù)庫領域,oralce數(shù)據(jù)庫系統(tǒng)的性能,可靠性等都是大家一致公認-非常的優(yōu)秀,但是他的可操作行一直是一個弱項,
很多時候讓用戶退卻。現(xiàn)在的Oracle公司似乎已經(jīng)熟悉到了,oracle據(jù)庫系統(tǒng)的發(fā)展朝著更簡單的使用方法,更智能的內(nèi)部治理。
關(guān)于oracle數(shù)據(jù)庫的備份,oracle有許多中方法,也有許多的方式,為使大家能輕松方便的完成oracle數(shù)據(jù)庫的備份
我把自己工作中寫的一些自動完成數(shù)據(jù)庫備份的方法,教本整理一下。發(fā)給大家,希望能給朋友們一些幫助。
需要時間,希望你有耐心等,我會一集一集送給朋友們。
oracle數(shù)據(jù)庫冷備份:(windows平臺)
1. 建立教本治理目錄 C:/oracle/admin/admin script
2. 建立數(shù)據(jù)庫備份的腳本
在上面建立的目錄下建立如下的兩個教本。
2.1 建立執(zhí)行備份任務的腳本(批處理文件)
文件內(nèi)容如下:
@echo OFF
Rem ===========================================================================
Rem NAME - close_Backup_run.bat
Rem FUNCTION - Creates a backup script for a User Managed backup
Rem NOTES - This script will create a script and run OS copy commands
Rem on closed (cold) database
Rem MODIFIED - Mr. Tianliang Guo 02/08/08 Original File
Rem ===========================================================================
Rem For Windows, set environment variables for the root path.
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=c:/oracle
set ORACLE_HOME=%ORACLE_BASE%/ora81
set ORACLE_DATA=%ORACLE_BASE%/oradata/%ORACLE_SID%
set ORACLE_ADMIN=%ORACLE_BASE%/admin/%ORACLE_SID%
%ORACLE_HOME%/bin/sqlplus /nolog @close_backup.sql > close_backup.log
2.2 建立完成備份認為的命令文件(sqlplus內(nèi)執(zhí)行的sql腳本)
文件內(nèi)容如下:
Rem ===========================================================================
Rem NAME - close_backup.sql
Rem FUNCTION - Creates a backup script for a User Managed backup
Rem NOTES - This script will create a script and run OS copy commands
Rem on closed (cold) database
Rem MODIFIED - ksmith 01/01/02 Original File
Rem - Tianliang Guo 2002/08/18
Rem ===========================================================================
Rem Set SQL*Plus variables to manipulate output
set heading off
set verify off
set pagesize 0
set linesize 600
set feedback off
Rem Set SQL*Plus user variables used in script
define adm = 'sys'
define pwd = 'oracle8i'
Rem Windows User variables
define bkdir = 'C:/oracle/admin/TSTDB/backup'
define filcbc = 'closed_backup_commands.sql'
define copy = 'ocopy'
Rem login database
connect &adm/&pwd as sysdba;
Rem Create a file containing all the file copy commands needed for physical backup
spool &filcbc
PRompt Rem NAME - close_backup.sql
prompt
prompt Rem Shutdown the database cleanly
prompt shutdown immediate;;
prompt
prompt Rem backup data file
select 'host © ' name ' &bkdir' from v$datafile order by 1;
prompt
prompt Rem backup log file
select 'host © ' member ' &bkdir' from v$logfile order by 1;
prompt
prompt Rem backup control file
select 'host © ' name ' &bkdir' from v$controlfile order by 1;
prompt
prompt Rem backup temporay file
select 'host © ' name ' &bkdir' from v$tempfile order by 1;
prompt
prompt alter database backup controlfile to trace;;
prompt
prompt Rem Start the database again
prompt startup;;
prompt
spool off;
Rem Run the copy file commands
@&
exit;
3. 修改教本定義的變量
在運行教本中定義的一些變量,將其改為本地數(shù)據(jù)庫安裝環(huán)境的變量。
需要修改的變量有,
在close_Backup_run.bat腳本中:
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=c:/oracle
set ORACLE_HOME=%ORACLE_BASE%/ora81
在close_backup.sql腳本中:
define adm = 'sys'
define pwd = 'oracle8i'
define bkdir = 'C:/oracle/admin/TSTDB/backup'
4. 執(zhí)行數(shù)據(jù)庫備份任務
在C:/oracle/admin/admin script目錄下雙擊close_Backup_run.bat文件 or
從命令中運行C:/oracle/admin/admin script/close_Backup_run.bat
現(xiàn)在你可以端起咖啡杯休息一下了
5. 假如要執(zhí)行自動的備份,在windows的計劃任務里添加一項定期運行教本C:/oracle/admin/admin script/close_Backup_run.bat 即可。