oracle如何用expdp定时备份?oracle用expdp实现定时备份数据库图文详细教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle如何⽤expdp定时备份?oracle⽤expdp实现定时备份数
据库图⽂详细教程
oracle如何⽤expdp定时备份数据库?Oracle是甲⾻⽂公司凭借⾃已30年的设计经验,成功打造的功能强⼤的关系数据库管理系统,⽤oracle命令备份数据库,⽣成dmp⽂件,保存了整⼀套的⽤户及表数据信息。

⽽且还原简单。

加上widnows的批处理bat命令,实现每天0点备份,那么,具体要怎么操作呢?现把oracle⽤expdp实现定时备份数据库的详细⽅法步骤送上给⼤家,⼀起去看看吧!
Oracle 11g 客户端免费绿⾊版(附使⽤⽅法) 64位
类型:数据库
⼤⼩:39.5MB
语⾔:简体中⽂
时间:2017-09-05
查看详情
步骤⼀:
1、在“运⾏”⾥打开cmd
2、输⼊命令:sqlplus system/123456@orcl
其中system是登录数据库的⽤户名
123456是⽤户名的密码
orcl是数据库实例名称
3、如果提⽰命令⽆效,那就是你没有配置好oracle的环境变量(想当年我也被这个问题困扰着),配置oracle环境变量的⽅法如下:
1、右击“我的电脑”->选择“属性”->选择“⾼级”->单击“环境变量”
2、选择“Path”这⼀⾏,单击“编辑”,在“Path”的变量值⽂本框的最后⾯先加⼊⼀个分号“:”,然后再分号后⾯加⼊sqlplus⽂件的⽬录路径,如“C:\Program Files\oracle\product\10.2.0\db_1\BIN”,然后点击“确定”按钮。

3、如果在“系统变量”列表框下⾯的“变量”列中找不到“ORACLE_HOME”和“ORACLE_SID”这两个变量,则需要下⾯操作,否则⽆需⼀下操作。

4、在“系统变量”中点击“新建”按钮,在“变量名”中输⼊“ORACLE_HOME”,变量值中输⼊Oracle的安装⽬录路径,如“C:\Program Files\oracle\product\10.2.0\db1”,然后点击“确定”按钮。

5、在“系统变量”中点击“新建”按钮,在“变量名”中输⼊“ORACLE_SID”,变量值中输⼊数据库的实例名,然后点击“确定”按钮。

ORACLE_HOME:Oracle数据库软件的安装⽬录
ORACLE_SID:Oracle数据库的实例名
Oracle 数据库实例名:⽤于和操作系统进⾏联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。

步骤⼆:创建oracle的备份⽬录
1、sql>create directory dpdata1 as 'D:\temp\dmp';这仅仅是在oracle⾥设定的⽬录,并没有真正创建
2、可以通过这句命令查看到这个⽬录 sql>select * from dba_directories;
3、赋于要导出数据表的所属⽤户权限 sql>grant read,write on directory dpdata1 to sshe;
4、好了,到了关键⼀步,之前⾛了不少弯路,但其它是⼩问题,在⽹上零零碎碎查了很多资料,终于找到原因。

⾸先,要切换回命令窗⼝,不要再在sql>下运⾏,然后输⼊命令:
expdp system/123456@orcl directory=dpdata1 dumpfile=sshe.dmp logfile=sshe.log schemas=sshe
5、上⾯报了⼀个错ORA-39002:操作⽆效
原因是D:\temp\dmp这个⽬录不存在,别以为create directory之后就会⾃动⽣成⽂件夹,也别以为执⾏expdp后会⾃动⽣成⽂件夹,要⾃⼰⼿动新建这个⽬录⽂件夹的。

新建⽂件夹后再试⼀下,果然成功了!恭喜你,已成功备份!
6、如果你要问,导出来的dmp⽂件怎样还原回去。

好吧,做⼈做到底,为了省去你再找⽅法的⿇烦,这⾥我也做⼀个演⽰(⼀般备份的数据是等到数据库有问题时才⽤的上)。

⾸先,再⼀次登录数据库 sqlplus system/123456@orcl
然后,删除⽬标数据库⽤户 drop user sshe cascade;
7、现在来再⼀次创建⽤户,可以⽤命令创建,也可以在plsql⾥创建,这⾥在plsql创建。

⽤system登录数据库,然后右键users--新建
然后填写你的账号名称,必须和备份时的⽤户⼀致,并赋于相应的权限
最后点击应⽤,完成⽤户创建。

8、返回DOS命令窗⼝,不再是sql>
输⼊导⼊命令:impdp system/123456@orcl directory=dpdata1 dumpfile=SSHE.DMP logfile=sshe.log schemas=sshe
导⼊成功!
步骤三:定时执⾏备份任务
1、做⼀个按年⽉⽇命名的批处理。

在D:\temp\⽬录下新建⼀个⽂件,随便命名为.bat,我的命名为sshe.bat,编辑为如下代码-------------------------------------------------------------------------
@echo off
rem set backupfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp
rem set logfile=f_database_%date:~0,4%-%date:~5,2%-%date:~8,2%.log
rem delete 30days files
forfiles /p "D:\temp\dmp" /d -30 /c "cmd /c echo deleting @file ... && del /f @path"
cd D:\temp\dmp
rem backup schemas
set backupfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.dmp
set logfile=sshe_%date:~0,4%-%date:~5,2%-%date:~8,2%.log
expdp sshe/sshe directory=DIR_DP dumpfile=%backupfile% logfile=%logfile% schemas=sshe parallel=4
-------------------------------------------------------------------------------
可以试执⾏⼀下,会⾃动⽣成⼀个以年⽉⽇命名的备份⽂件
forfiles /p "D:\temp\dmp" /d -30 /c "cmd /c echo deleting @file ... && del /f @path"的作⽤是:删除本⽬录下30天以后的备份⽂件,这个挺有⽤的。

(之前有⼈反映说上⾯bat排版有问题,可能是系统⾃动缩进了,现在再重新修改了,如果还没有是有排版问题,请参照以下图--2017.12.5改)
2、做⼀个windows每晚⾃动运⾏数据库备份的bat,我的命名为auto.bat编辑如下内容
------------------------------------------------------------------------------
@ECHO OFF
schtasks /create /tn SSHE数据库定时备份 /tr "D:\dmp\sshe_bak.bat" /sc daily /st 00:00:00 /ru "system"
PAUSE
EXIT
windows每晚⾃动运⾏数据库备份bat
------------------------------------------------------------------------------
(之前有⼈反映说上⾯bat排版有问题,可能是系统⾃动缩进了,现在再重新修改了,如果还没有是有排版问题,请参照以下图--2017.12.5改)
3、双击auto.bat,就会在windows添加⼀个定时任务,每晚0点0分就会⾃动执⾏⼀次sshe.bat,从⽽完成⾃动备份的⽬的。

4、右键我的电脑:管理——任务计划程序——任务计划程序库,可以看到刚才添加进去的定时任务
5、可以将电脑的时钟设为23点59分50秒,等待10秒钟,看看⾃动备份能否成功。

如果成功那就⼤功告成了!!
教程结束,以上就是关于oracle如何⽤expdp定时备份?oracle⽤expdp实现定时备份数据库图⽂详细教程的全部内容,希望⼤家看完有所收获!
相关教程推荐:。

相关文档
最新文档