分类: 服务器与存储
2008-06-13 13:36:57
很多时候让用户退却。现在的oracle公司好像已经认识到了,oracle据库系统的发展朝着更简单的使用方法,更智能的内部管理。
关于oracle数据库的备份,oracle有许多中方法,也有许多的方式,为使大家能轻松方便的完成oracle数据库的备份
我把自己工作中写的一些自动完成数据库备份的方法,教本整理一下。发给大家,希望能给朋友们一些帮助。
需要时间,希望你有耐心等,我会一集一集送给朋友们。
oracle数据库冷备份:(windows平台)
1.建立教本管理目录C:\oracle\admin\adminscript
2.建立数据库备份的脚本
在上面建立的目录下建立如下的两个教本。
2.1建立执行备份任务的脚本(批处理文件)
文件内容如下:
@echoOFF
Rem=====================================
RemNAME-close_Backup_run.bat
RemFUNCTION-CreatesabackupscriptforaUserManagedbackup
RemNOTES-ThisscriptwillcreateascriptandrunOScopycommands
Remonclosed(cold)database
RemMODIFIED-Mr.TianliangGuo
Rem=====================================
RemForWindows,setenvironmentvariablesfortherootpath.
setORACLE_SID=TSTDB
setORACLE_CONNECTSTRING=tstdb
setORACLE_BASE=c:\oracle
setORACLE_HOME=%ORACLE_BASE%\ora81
setORACLE_DATA=%ORACLE_BASE%\oradata\%ORACLE_SID%
setORACLE_ADMIN=%ORACLE_BASE%\admin\%ORACLE_SID%
%ORACLE_HOME%\bin\sqlplus/nolog@close_backup.sql>close_backup.log
2.2建立完成备份认为的命令文件(sqlplus内执行的sql脚本)
文件内容如下:
Rem=========================
RemNAME-close_backup.sql
RemFUNCTION-CreatesabackupscriptforaUserManagedbackup
RemNOTES-ThisscriptwillcreateascriptandrunOScopycommands
Remonclosed(cold)database
RemMODIFIED-ksmith
Rem-TianliangGuo
Rem==========================
RemSetSQL*Plusvariablestomanipulateoutput
setheadingoff
setverifyoff
setpagesize0
setlinesize600
setfeedbackoff
RemSetSQL*Plususervariablesusedinscript
defineadm='sys'
definepwd='oracle8i'
RemWindowsUservariables
definebkdir='C:\oracle\admin\TSTDB\backup'
definefilcbc='closed_backup_commands.sql'
definecopy='ocopy'
Remlogindatabase
connect&adm/&pwdassysdba;
RemCreateafilecontainingallthefilecopycommandsneededforphysicalbackup
spool&filcbc
promptRemNAME-close_backup.sql
prompt
promptRemShutdownthedatabasecleanly
promptshutdownimmediate;;
prompt
promptRembackupdatafile
select'host?'||name||'&bkdir'fromv$datafileorderby1;
prompt
promptRembackuplogfile
select'host?'||member||'&bkdir'fromv$logfileorderby1;
prompt
promptRembackupcontrolfile
select'host?'||name||'&bkdir'fromv$controlfileorderby1;
prompt
promptRembackuptemporayfile
select'host?'||name||'&bkdir'fromv$tempfileorderby1;
prompt
promptalterdatabasebackupcontrolfiletotrace;;
prompt
promptRemStartthedatabaseagain
promptstartup;;
prompt
spooloff;
RemRunthecopyfilecommands
@&
exit;
3.修改教本定义的变量
在运行教本中定义的一些变量,将其改为本地数据库安装环境的变量。
需要修改的变量有,
在close_Backup_run.bat脚本中:
setORACLE_SID=TSTDB
setORACLE_CONNECTSTRING=tstdb
setORACLE_BASE=c:\oracle
setORACLE_HOME=%ORACLE_BASE%\ora81
在close_backup.sql脚本中:
defineadm='sys'
definepwd='oracle8i'
definebkdir='C:\oracle\admin\TSTDB\backup'
4.执行数据库备份任务
在C:\oracle\admin\adminscript目录下双击close_Backup_run.bat文件or
从命令中运行C:\oracle\admin\adminscript\close_Backup_run.bat
现在你可以端起咖啡杯休息一下了
5.如果要执行自动的备份,在windows的计划任务里添加一项定期运行教本C:\oracle\admin\adminscript\close_Backup_run.bat即可