Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1265196
  • 博文数量: 1211
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 14340
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-09 11:20
文章分类

全部博文(1211)

文章存档

2011年(1)

2008年(1210)

我的朋友

分类: 服务器与存储

2008-06-16 19:19:59

在数据库领域,oralce数据库系统的性能,可靠性等都是大家一致公认-非常的优秀,但是他的可操作行一直是一个弱项,

 

很多时候让用户退却。现在的公司好像已经认识到了,据库系统的发展朝着更简单的使用方法,更智能的内部管理。

 

关于数据库的备份,有许多中方法,也有许多的方式,为使大家能轻松方便的完成数据库的备份

 

我把自己工作中写的一些自动完成数据库备份的方法,教本整理一下。发给大家,希望能给朋友们一些帮助。

 

需要时间,希望你有耐心等,我会一集一集送给朋友们。

 

数据库冷备份:(windows平台)

 

1.建立教本管理目录C:\\admin\adminscript

 

2.建立数据库备份的脚本

 

在上面建立的目录下建立如下的两个教本。

 

2.1建立执行备份任务的脚本(批处理文件)

 

文件内容如下:

 

@echoOFF

Rem===========================================================================

RemNAME-close_Backup_run.bat

RemFUNCTION-CreatesabackupscriptforaUserManagedbackup

RemNOTES-ThisscriptwillcreateascriptandrunOScopycommands

Remonclosed(cold)database

RemMODIFIED-Mr.TianliangGuo02/08/08OriginalFile

Rem===========================================================================

 

RemFor,setenvironmentvariablesfortherootpath.

setORACLE_SID=TSTDB

setORACLE_CONNECTSTRING=tstdb

setORACLE_BASE=c:\

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-ksmith01/01/02OriginalFile

Rem-TianliangGuo2002/08/18

Rem===========================================================================

RemSetSQL*Plusvariablestomanipulateoutput

 

setheadingoff

setverifyoff

setpagesize0

setlinesize600

setfeedbackoff

 

RemSetSQL*Plususervariablesusedinscript

 

defineadm='sys'

definepwd='8i'

 

RemUservariables

definebkdir='C:\\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:\

setORACLE_HOME=%ORACLE_BASE%\ora81

close_backup.sql脚本中:

defineadm='sys'

definepwd='8i'

definebkdir='C:\\admin\TSTDB\backup'

 

4.执行数据库备份任务

 

C:\\admin\adminscript目录下双击close_Backup_run.bat文件or

 

从命令中运行C:\\admin\adminscript\close_Backup_run.bat

 

现在你可以端起咖啡杯休息一下了

 

5.如果要执行自动的备份,在windows的计划任务里添加一项定期运行教本C:\\admin\adminscript\close_Backup_run.bat即可

阅读(1248) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~