大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。
成都创新互联是一家集网站建设,滴道企业网站建设,滴道品牌网站建设,网站定制,滴道网站建设报价,网络营销,网络优化,滴道网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
建议一(做周备份并压缩为RAR)以下为ORACLE 自动备份批处理文件内容,请配合任务计划实现 :
例:
@ECHO OFF
SET BACKPATH=d:\
ECHO 准备备份数据库
REM 7天一个循环
IF EXIST %BACKPATH%\ONE GOTO ONE
IF EXIST %BACKPATH%\TWO GOTO TWO
IF EXIST %BACKPATH%\THREE GOTO THREE
IF EXIST %BACKPATH%\FOUR GOTO FOUR
IF EXIST %BACKPATH%\FIVE GOTO FIVE
IF EXIST %BACKPATH%\SIX GOTO SIX
IF EXIST %BACKPATH%\SEVEN GOTO SEVEN
ECHO E %BACKPATH%\ONE
:ONE
SET BACKPATH_FULL=%BACKPATH%\ONE
REN %BACKPATH%\ONE TWO
GOTO BACK
:TWO
SET BACKPATH_FULL=%BACKPATH%\TWO
REN %BACKPATH%\TWO THREE
GOTO BACK
:THREE
SET BACKPATH_FULL=%BACKPATH%\THREE
REN %BACKPATH%\THREE FOUR
GOTO BACK
:FOUR
SET BACKPATH_FULL=%BACKPATH%\FOUR
REN %BACKPATH%\FOUR FIVE
GOTO BACK
:FIVE
SET BACKPATH_FULL=%BACKPATH%\FIVE
REN %BACKPATH%\FIVE SIX
GOTO BACK
:SIX
SET BACKPATH_FULL=%BACKPATH%\SIX
REN %BACKPATH%\SIX SEVEN
GOTO BACK
:SEVEN
SET BACKPATH_FULL=%BACKPATH%\SEVEN
REN %BACKPATH%\SEVEN ONE
GOTO BACK
:BACK
EXP ccense/ccense FILE=%BACKPATH_FULL%.DMP
RAR a %BACKPATH_FULL%.rar %BACKPATH_FULL%.DMP
DEL %BACKPATH_FULL%.DMP
SET BACKPATH=
SET BACKPATH_FULL=
EXIT
说明:
文件名以星期来命名
备份后调用rar进行压缩
这样可以保存一个星期的历史数据
注意:需要把program files/winrar目录下的rar.exe拷贝到系统system32目录下
建议二:
1,批处理文件backup.bat\.
exp system/manager file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log
将生成oracle2006-01-09.dmp文件
exp system/manager file=d:\backup\oracle\oracle%date:~11,3%.dmp owner=system log=d:\backup\oracle\oracle%date:~11,3%.log
将生成oracle星期一.dmp文件,则每周循环保留一个备份文件,共7个备份文件循环 $date$日期参数可灵活运用。
本篇文章主要介绍oracle 11g数据库的自动备份问题,通过服务器自带的任务计划来实现。 工具/原料 服务器 批处理文件 任务计划程序 plsql程序 方法/步骤 1 登陆oracle数据库服务器,利用plsql程序来登陆数据库。在用户名、密码、数据库的地方分别输入对应的用户名、密码和数据库实例名称。 2 登陆完成后,新建sql窗口,并在sql窗口中执行以下语句: ----------------------------------------------------------------------------- declare stmt varchar2(200);begin for tb in (select table_name from user_tables where segment_created='NO') loop stmt:='alter table '||tb.table_name||' allocate extent'; begin execute immediate stmt; exception when others then dbms_output.put_line(stmt); end; end loop;end;/ ----------------------------------------------------------------------------- 此语句的作用是导出oracle 11g的空表 3 建立bat批处理文件 ------------------------------------------------------------------------------ cd d:\bea\dbbackdel oa%date:~8,2%.dmpexpdp username/password@orcl directory=DIR_EXP dumpfile=oa%date:~8,2%.dmp ------------------------------------------------------------------------------ 其中d:\bea\dbback是命令所在的目录 username/password@orcl 分别为登陆数据库的用户名、密码、数据库实例 DIR_EXP 是在plsql中建立的directory即目录,需要根据自己的需求来创建 4 在电脑附件中找到任务计划程序,然后点击打开,如下图 5 点击右侧的逗创建基本任务地,创建一个任务计划,填写任务名字和描述,如下图: 6 设置任务的执行周期,这里周期选择每天,点击下一步 7 再设置开始时间,一般选择在夜间备份数据库,点击下一步 8 设置执行的操作是,这里是批处理,所以选择程序,点击下一步 9 选择前面我们只做的bat批处理文件。即oracle备份语句文件。参数填写文件所在的目录,点击下一步: 10 点击完成即可。 11 然后双击对应的计划任务名称,出现界面如下图: 12 然后在安全选项中选择逗不管用户是否登陆都要运行此程序地 13 然后点击确定,系统会让用户输入对应的系统登陆密码,如下图,输入完密码点击确定即可。 注意事项 在计划任务中起始参数一定要填写文件对应的目录路径 批处理文件制作完成后,自己先双击测试一遍
Oracle自动备份数据库不外乎以下三种方式
WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron
1、生成脚本文件,如backup.rcv 假定文件内容如下:
$cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来