如何实现Oracle 11g数据库每天自动备份
2个回答
展开全部
需要写个bat脚本,然后在windows计划任务里调用此脚本可实现每天自动备份。
工具:Oracle 10g
步骤:
1、在某个盘符某个路径(以C盘data目录为例),创建oraclebackup.txt文件,内容如下:
@echo off
echo 删除10天前的备分文件和日志
forfiles /p "c:/data/" /m *.dmp /d -10 /c "cmd /c del @path"
forfiles /p "c:/data/" /m *.log /d -10 /c "cmd /c del @path"
echo 正在备份 Oracle 数据库,请稍等……
exp 用户名/密码@实例名 file=c:/data/mdb%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=c:/data//mdb%date:~0,4%%date:~5,2%%date:~8,2%.log full=y buffer=65535
echo 任务完成!
2、保存上述文件后,将文件名的后缀改成.bat
3、进入windows的控制面板,打开计划与任务,新建任务,点击浏览,选择刚才新建的c盘data目录下的oraclebackup.bat文件。接着选择每天晚上22:00点执行,再输入本机的administrator密码即可。
注意事项:
exp语句中的用户名密码等内容,需要根据实际需要来填写。
展开全部
本篇文章主要介绍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
然后点击确定,系统会让用户输入对应的系统登陆密码,如下图,输入完密码点击确定即可。
注意事项
在计划任务中起始参数一定要填写文件对应的目录路径
批处理文件制作完成后,自己先双击测试一遍
工具/原料
服务器
批处理文件
任务计划程序
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
然后点击确定,系统会让用户输入对应的系统登陆密码,如下图,输入完密码点击确定即可。
注意事项
在计划任务中起始参数一定要填写文件对应的目录路径
批处理文件制作完成后,自己先双击测试一遍
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询