配色: 字号:
oracle如何用expdp定时备份数据库
2018-02-25 | 阅:  转:  |  分享 
  
oracle如何用expdp定时备份数据库?Oracle是甲骨文公司凭借自已30年的设计经验,成功打造的功能强大的关系数据库管理系统,用or
acle命令备份数据库,生成dmp文件,保存了整一套的用户及表数据信息。而且还原简单。加上widnows的批处理bat命令,实现每
天0点备份,那么,具体要怎么操作呢?现把oracle用expdp实现定时备份数据库的详细方法步骤送上给大家,一起去看看吧!步骤一:
1、在“运行”里打开cmd2、输入命令:sqlplussystem/123456@orcl其中system是登录数据库的用户名1
23456是用户名的密码orcl是数据库实例名称3、如果提示命令无效,那就是你没有配置好oracle的环境变量(想当年我也被这个问
题困扰着),配置oracle环境变量的方法如下:1、右击“我的电脑”->选择“属性”->选择“高级”->单击“环境变量”2、选择“
Path”这一行,单击“编辑”,在“Path”的变量值文本框的最后面先加入一个分号“:”,然后再分号后面加入sqlplus文件的
目录路径,如“C:\ProgramFiles\oracle\product\10.2.0\db_1\BIN”,然后点击“确定”按
钮。3、如果在“系统变量”列表框下面的“变量”列中找不到“ORACLE_HOME”和“ORACLE_SID”这两个变量,则需要下面
操作,否则无需一下操作。4、在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_HOME”,变量值中输入Oracl
e的安装目录路径,如“C:\ProgramFiles\oracle\product\10.2.0\db1”,然后点击“确定”按钮
。5、在“系统变量”中点击“新建”按钮,在“变量名”中输入“ORACLE_SID”,变量值中输入数据库的实例名,然后点击“确定”按
钮。ORACLE_HOME:Oracle数据库软件的安装目录ORACLE_SID:Oracle数据库的实例名Oracle数据库实
例名:用于和操作系统进行联系的标识,即数据库和操作系统之间的交换是通过数据库实例名来体现的。步骤二:创建oracle的备份目录1、
sql>createdirectorydpdata1as''D:\temp\dmp'';这仅仅是在oracle里设定的目录,并
没有真正创建2、可以通过这句命令查看到这个目录sql>selectfromdba_directories;3、赋于要导出
数据表的所属用户权限sql>grantread,writeondirectorydpdata1tosshe;4、好了
,到了关键一步,之前走了不少弯路,但其它是小问题,在网上零零碎碎查了很多资料,终于找到原因。首先,要切换回命令窗口,不要再在sql
>下运行,然后输入命令:expdpsystem/123456@orcldirectory=dpdata1dumpfile=s
she.dmplogfile=sshe.logschemas=sshe5、上面报了一个错ORA-39002:操作无效原因是D:
\temp\dmp这个目录不存在,别以为createdirectory之后就会自动生成文件夹,也别以为执行expdp后会自动生成
文件夹,要自己手动新建这个目录文件夹的。新建文件夹后再试一下,果然成功了!恭喜你,已成功备份!6、如果你要问,导出来的dmp文件怎
样还原回去。好吧,做人做到底,为了省去你再找方法的麻烦,这里我也做一个演示(一般备份的数据是等到数据库有问题时才用的上)。首先,再
一次登录数据库sqlplussystem/123456@orcl然后,删除目标数据库用户?drop?usersshecas
cade;7、现在来再一次创建用户,可以用命令创建,也可以在plsql里创建,这里在plsql创建。用system登录数据库,然后
右键users--新建然后填写你的账号名称,必须和备份时的用户一致,并赋于相应的权限最后点击应用,完成用户创建。8、返回DOS命令
窗口,不再是sql>输入导入命令:impdpsystem/123456@orcldirectory=dpdata1dumpf
ile=SSHE.DMPlogfile=sshe.logschemas=sshe导入成功!步骤三:定时执行备份任务1、做一个按
年月日命名的批处理。在D:\temp\目录下新建一个文件,随便命名为.bat,我的命名为sshe.bat,编辑为如下代码-----
-----------------------------------------------------------------
---@echooffremsetbackupfile=f_database_%date:~0,4%-%date:~5,2%
-%date:~8,2%.dmpremsetlogfile=f_database_%date:~0,4%-%date:~5,2
%-%date:~8,2%.logremdelete30daysfilesforfiles/p"D:\temp\dmp"
/d-30?/c"cmd/cechodeleting@file...&&del/f@path"cdD:
\temp\dmprembackupschemassetbackupfile=sshe_%date:~0,4%-%date:
~5,2%-%date:~8,2%.dmpsetlogfile=sshe_%date:~0,4%-%date:~5,2%-%da
te:~8,2%.logexpdpsshe/sshedirectory=DIR_DP?dumpfile=%backupfil
e%?logfile=%logfile%schemas=ssheparallel=4--------------------
-----------------------------------------------------------可以试执行一
下,会自动生成一个以年月日命名的备份文件forfiles/p"D:\temp\dmp"/d-30?/c"cmd/c
echodeleting@file...&&del/f@path"的作用是:删除本目录下30天以后的备份文件,这个挺
有用的。(之前有人反映说上面bat排版有问题,可能是系统自动缩进了,现在再重新修改了,如果还没有是有排版问题,请参照以下图--20
17.12.5改)2、做一个windows每晚自动运行数据库备份的bat,我的命名为auto.bat编辑如下内容---------
-----------------------------------------------------------------
----@ECHOOFFschtasks/create/tnSSHE数据库定时备份/tr"D:\dmp\sshe_ba
k.bat"/scdaily/st00:00:00/ru"system"?PAUSEEXITwindows每晚自动运行
数据库备份bat---------------------------------------------------------
---------------------(之前有人反映说上面bat排版有问题,可能是系统自动缩进了,现在再重新修改了,如果还没有
是有排版问题,请参照以下图--2017.12.5改)3、双击auto.bat,就会在windows添加一个定时任务,每晚0点0分就
会自动执行一次sshe.bat,从而完成自动备份的目的。4、右键我的电脑:管理——任务计划程序——任务计划程序库,可以看到刚才添加进去的定时任务5、可以将电脑的时钟设为23点59分50秒,等待10秒钟,看看自动备份能否成功。如果成功那就大功告成了!!教程结束,以上就是关于oracle如何用expdp定时备份?oracle用expdp实现定时备份数据库图文详细教程的全部内容,希望大家看完有所收获!
献花(0)
+1
(本文系刘家三少图...首藏)