(原創(chuàng))oracle數(shù)據(jù)庫(kù)備份與恢復(fù) a piece of cake (2)
2024-08-29 13:42:52
供稿:網(wǎng)友
第二集……
Oracle數(shù)據(jù)庫(kù)冷備份:(unix or linux平臺(tái))
1. 建立教本治理目錄 /u01/app/oracle/admin/admin_script
2. 建立數(shù)據(jù)庫(kù)備份的腳本
在上面建立的目錄下建立如下的兩個(gè)腳本。
2.1 建立執(zhí)行備份任務(wù)的腳本(shell script)
文件內(nèi)容如下:
#! /bin/sh
Rem ===========================================================================
Rem NAME - close_Backup_run.sh
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 unix, set environment variables for the root path.
ORACLE_SID=TSTDB
ORACLE_CONNECTSTRING=tstdb
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/PRodUCt/8.1.7
ORACLE_DATA=$ORACLE_BASE/oradata/$ORACLE_SID
ORACLE_ADMIN=$ORACLE_BASE/admin/$ORACLE_SID
eXPort ORACLE_SID ORACLE_CONNECTSTRING ORACLE_BASE ORACLE_HOME ORACLE_DATA ORACLE_ADMIN
$ORACLE_HOME/bin/sqlplus /nolog @close_backup.sql > close_backup.log
2.2 建立完成備份認(rèn)為的命令文件(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 Linux or Unix User variables
define bkdir = '/u05/oracle/oradata/tstdb/backup'
define filcbc = '/tmp/closed_backup_commands.sql'
define copy = 'cp'
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. 修改教本定義的變量
在運(yùn)行教本中定義的一些變量,將其改為本地?cái)?shù)據(jù)庫(kù)安裝環(huán)境的變量。
需要修改的變量有,
在close_Backup_run.bat腳本中:
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=/u01/app/oracle/
set ORACLE_HOME=$ORACLE_BASE/product/8.1.7
在close_backup.sql腳本中:
define adm = 'sys'
define pwd = 'oracle8i'
define bkdir = '/u05/oracle/oradata/TSTDB/backup'
4. 執(zhí)行數(shù)據(jù)庫(kù)備份任務(wù)
在$ORACLE_BASE/admin/admin_script目錄下運(yùn)行close_Backup_run.sh
[oracle@RHT admin_script]./close_Backup_run.sh
5. 執(zhí)行自動(dòng)備份。
在crontab文件中添加如下的一行
00 3 * * 6 $ORACLE_BASE/admin/admin_script/close_Backup_run.sh
解釋?zhuān)好恐芰璩?點(diǎn)執(zhí)行數(shù)據(jù)庫(kù)關(guān)閉,數(shù)據(jù)庫(kù)備份,數(shù)據(jù)庫(kù)重啟。
具體的方式自己定義。
假如你有問(wèn)題可以聯(lián)系:
站內(nèi)的短信:ganku
mail: peter_guo@pub.szedi.com.cn
guo_tianliang@yahoo.com