数据泵自动备份及删除
数据泵备份

--赋予expdp,impdp的权限
SQL> grant exp_full_database,imp_full_database to suSYSTEM
第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM
注意,如果要将表导入到其他方案中,必须指定REMAP SCHEMA选项.
2,导入方案
Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp SCHEMAS=scott
4) 导出scott下的存储过程
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log include=procedure
5) 导出scott下以'E'开头的表
SQL> $expdp scott/tiger@sjzx directory=dir_dump dumpfile=scott.dmp logfile=scott.log INCLUDE=TABLE:"LIKE 'E%'" //可以改成NOT LIKE,就导出不以E开头的表
3,导入表空间
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp TABLESPACES=user01
4,导入数据库
Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y
.log tables=dept,emp;
sql2008数据库自动备份历史记录清理

SQL2008数据库自动备份历史记录清理除了使用维护计划向导以外,我们还可以直接新建维护计划,也可以修改意见创建的维护计划。
我们就以修改维护计划为例。
对于前面创建好的完整备份+ 差异备份维护计划,现在我们需要每周对数据库备份进行一次清理,在完整备份完成后,要将1个月前的备份删除掉。
那么我们只需要修改一下维护计划即可,具体操作如下:(1)右击我们的维护计划,在弹出式菜单中选择“修改”选项,系统将新建一个选项卡来显示当前的维护计划。
如图:左下角是可用的维护计划组件,右下面板是维护计划的流程设置面板,其上面就是该计划的子计划列表。
(2)选中Subplan_1子计划,也就是每周完整备份的子计划,将“清除历史记录”任务从工具箱中拖拽到计划面板中,然后在面板中单击“备份数据库(完整)”组件,系统将显示一个绿色的箭头,将绿色箭头拖拽到“清除历史记录”组件上,如图:也就是说在成功完整备份了数据库后,接下来才执行清除历史记录任务。
(3)右击“清除历史记录”任务,在弹出式菜单中选择“编辑”选项,系统将弹出清除历史记录任务设置窗口,如图:这里既可以清除历史记录日志,也可以删除硬盘上的历史数据。
这里我们要删除4周前的历史备份数据,单击“确定”回到计划面板,我们可以看到原本“清除历史记录”任务上的小红叉不见了。
单击“保存”按钮,该计划便保存起来。
(说明:我在SQL2008中文版虚拟机里面做的时候一旦修改维护计划,保存的时候就报错灾难性故障,不过我本机的英文版是正常的,不知道是我虚拟机的问题还是中文版的Bug,反正在英文版里面是对的。
)这样修改后,以后我们都不用手动去删除那些很久以前的数据库备份了,系统在执行完备份后就会删除那些满足条件的备份数据。
另外如果用过SSIS的人应该知道,一个任务在完成时是绿色箭头,如果是失败时是红色箭头,我们这里也可以设置,如果上一步骤失败,那么将执行什么操作,双击绿色箭头,在弹出的对话框中选择约束选项中的值为“失败”即可。
oracle数据泵批量备份操作指南

一、oracle数据自动备份数据泵,e:\vob\dbbak指的是文件存储路径,可以修改;expdp后的avic20140825/sys指的是数据库的用户名和密码;nchr指的是数据库实例(数据库/ODBC);请根据贵单位系统实际情况修改以上字段。
二、10G的数据库直接就可以备份,11G的数据库需要做以下操作:
1、在服务器上建立一个文件名为e:\vob\dbbak的文件夹,文件夹路径和名字可以修改,但
相应地要修改sql.sql下的路径和文件夹名字。
2、在plsql中或者sqlplus中执行压缩包中sql语句。
如果数据库字符集选择的是utf8,则一
定在sqlplus下执行脚本。
该sql语句下as后的‘e:\vob\dbbak’和avic20140825根据设置的文件夹路径和数据库用户名来修改。
3、oracle数据自动备份数据泵放在windows里面做定时任务,通过控制面板-任务计划根据
向导来做定时任务。
注:文件名和路径可以任意起,但是起完之后需要对sql和bat文件进行修改。
恢复命令:
impdp user/pasword@数据库实例directory=dump_dir2 dumpfile=备份名字remap_schema=导出用户:导入用户。
数据泵备份的一些副作用

数据泵备份之外的一些“副作用”数据泵是Oracle最近几个版本中才引进的一项技术,其主要用来对数据库进行逻辑备份与恢复。
其主要包括expdp与imppd两个实用程序。
数据泵是Oracle最近几个版本中才引进的一项技术,其主要用来对数据库进行逻辑备份与恢复。
其主要包括expdp与imppd两个实用程序。
数据库传统的备份基本上都是物理备份,包括联机备份与脱机备份等等。
但是数据泵在Oracle数据库中为其实现了逻辑备份。
逻辑备份简单的说,就是将数据库中的数据导出到一个转储文件中保存。
逻辑备份比物理备份具有更大的灵活性。
如根据需要,数据库管理员可以备份一个表空间中的数据,也可以备份一个方案对象、甚至只是某些特定表中的数据。
在还原的时候,也可以针对不同的转储文件来恢复相关的数据。
可见,数据泵提供的逻辑备份要比物理备份灵活的多。
不过笔者今天要谈的不是数据泵逻辑备份的灵活性,而是要谈谈通过数据泵对数据库进行导入导出的几个很有用的“副作用”。
在这些副作用的帮助下,数据库管理员可以节省大量的工作。
副作用一:消除磁盘碎片。
在数据库使用过程中,难免为对保存在其中的数据进行删删减减。
这些操作难免会在硬盘中造成比较多的硬盘碎片。
如果在这台服务器中还部署了其他的应用服务,那么碎片会更多。
而这些硬盘碎片会在很大程度上影响数据库的运行性能。
此时尽量消除硬盘碎片也是提高数据库性能的一个很好的方法。
在Windows等操作系统中也有碎片整理工具。
但是这个操作系统提供的工具并能够有效消除数据库中的存储碎片。
因为数据库中的存储碎片是由于数据块大小、存储结构、不合理的数据类型等等多个方面所造成的。
而操作系统与数据库系统毕竟是两个不同的应用系统,为此通过操作系统提供的硬盘碎片处理程序往往很难消除数据库系统中的磁盘碎片。
那么在数据库中该如何解决这个磁盘碎片问题呢?在以前版本的数据库中,数据库管理员可能对此只能够干瞪眼。
不过在Oracle 10G以后的数据库中,借助数据泵的作用,就可以轻松的解决这个问题。
orcl数据库文件自动备份+定时自动删除备份文件+常见问题EXP-00091解决办法

ORCL数据库自动备份设置方法1.创建服务器备份目录,生成执行脚本.bat文件创建D:\BACK_MUPAY文件夹;新建BACK_MUPAY.TXT文件,根据服务器情况拷贝修改下面执行代码保存,修改文件类型为.bat,得到BACK_MUPAY.bat文件。
2.执行代码:exp mupay/mupay@orclfile='D:\BACK_MUPAY\BACK_MUPAY%date:~0,4%%date:~5,2%%date:~8,2%.dmp ' owner=(MUPAY) BUFFER=100000LOG=E:\BACK_MUPAY\BACK_MUPAY%date:~0,4%%date:~5,2%%date:~8,2%.log forfiles /p "D:\BACK_MUPAY" /s /m *.dmp /d -15 /c "cmd /c del @path"3.执行代码说明:exp命令是oracle提供的备份命令,使用帐号密码为MUPAY/MUPAY的用户在ORCL 数据库实例中表名owner=mupay的数据库,备份文件存放在D:\BACK_MUPAY;备份文件名是BACK_MUPAY+时间+.dmp;其中的%date:~0,4%%date:~5,2%%date:~8,2%是取得当天的日期,年月日;例如:C:\Users\qyy>echo %date:~0,4%%date:~5,2%%date:~8,2%得到20170419;forfiles是windows的文件查找命令,查找在E:\BACK_MUPAY中所有.dmp后缀产生超过15天的文件,找到后执行删除操作4.双击执行BACK_MUPAY.bat测试。
执行成功后,会开始备份数据库,在E:\BACK_MUPAY目录中即会生产备份数据库文件和备份日志文件。
同时会检查小于当前日期15天的数据备份文件执行删除操作。
SQL_SERVER_2005里自动备份数据库和删除旧有备份的办法

SQL SERVER 2005自动备份数据库和删除备份SQL SERVER 2005里自动备份数据库和删除旧有备份的办法打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。
启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。
启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”。
一、备份数据的第一个步骤--“备份当日数据”在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句。
假设备份数据放在“D:\BACKUP”里,备份文件命名格式为“SQL-2009-3-26.BAK”,那么语句如下:DECLARE @filename V ARCHAR(255)DECLARE @date DATETIMESELECT @date=GETDA TE()SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DA TEPART(dd,@date) as varchar)+'.bak'BACKUP DATABASE [TESTDB] TO DISK = @filename WITH INITGO在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好。
oracle数据泵方式备份还原数据

oracle数据泵导入导出说明:一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。
create directory dpdata1 as 'd:\test\dump';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错)select * from dba_directories;三、给scott用户赋予在指定目录的操作权限,最好以system等管理员赋予。
grant read,write on directory dpdata1 to scott;四、导出数据1)按用户导expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;2)并行进程parallelexpdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott33)按表名导expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;4)按查询条件导expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';5)按表空间导expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;6)导整个数据库expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;五、还原数据1)导到指定用户下impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;2)改变表的ownerimpdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;3)导入表空间impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;4)导入数据库impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION。
数据库SQL-Server2012自动备份及自动清除

SQL2012数据库自动备份及备份文件清除
设置数据库自动备份操作步骤如下:
1、点击开始菜单,找到Microsoft SQL Server 2012\配置工具\SQL Server 配置管理器。
单击打开SQL server配置管理器(本地)栏目下的SQL Server服务
在右侧框中找到SQL Server代理(MSSQLSERVER),双击进入,修改启动模式为自动并启动后,点击确定并退出;
2、点击开始菜单,找到Microsoft SQL Server 2012\Master Data Services Master Data Services Configuration Manager,单击进入。
点击选择数据库,连接。
3、点击开始菜单,找到Microsoft SQL Server 2012\SQL Server Management Studio,单击进入。
进入数据库后,右键点击管理里的维护计划\维护计划向导;
4、填写名称点击“下一步”;
选择“整个计划统筹安排或无计划”点击更改;
修改好备份频率后,点击确定。
5、勾选“备份数据库(完整)”及"清除维护任务"后,点击“下一步”;
6、点击“下一步”;
7、选择需要备份的数据库以及备份路径点击“下一步”;
8、定义“清除维护”任务,选好上面备份用的文件夹和删除文件时间,点击下一步。
选择报告存储位置后,点击下一步。
9、点击完成即可。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引言
日常运维过程中,数据库需要定期备份,由于数据量较大,可使用数据泵的方式进行备份,利用linux/unix操作系统自带的crontab计划任务进行定期设置,以达到定期快速的数据库备份效果。
环境介绍
操作系统:aix 5.3
数据库:oracle 10g
文件系统:/backup
备份策略:
每日17:00开始对备份文件系统进行清理,17:30开始进行数据库中主业务方案进行备份。
每周日19:00开始清理备份文件系统,19:20开始备份数据库中ims相关方案。
数据库设置
在数据库中创建数据泵使用目录,并增加相应用户对该目录的读写权限。
如下图:
crontab计划任务设置
计划任务设置如下:
00 17 * * * sh /backup/clear_pmsdb.sh
30 17 * * * sh /backup/expdp_pmsdb.sh
00 19 * * 0 sh /backup/clear_pmsint.sh
20 19 * * 0 sh /backup/expdp_pmsint.sh
说明:
clear_pmsdb.sh:主业务用户2天前备份数据清理任务脚本
expdp_pmsdb.sh:主业务用户数据备份任务脚本
clear_pmsint.sh :接口用户7天前备份数据清理任务脚本
expdp_pmsint.sh:接口用户数据备份任务脚本
计划任务可用“crontab –l”查询,“crontab –e”使用默认文本编辑器进行编辑,例如vi。
相关脚本
expdp_pmsdb.sh脚本设置如下:
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/db
export ORA_CRS_HOME=$ORACLE_BASE/crs
export ORACLE_SID=orcl2
export ORACLE_TERM=xterm
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib :$ORA_CRS_HOME/lib:$ORA_CRS_HOME/lib32
export LIBPATH=$LD_LIBRARY_PATH
export
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib/ :$ORACLE_HOME/network/jlib
export
PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/oracle/soft/OPatch export AIXTHREAD_SCOPE=S
export ORACLE_HOSTNAME=pmsdb2
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
expdp system/pms_db@orcl2 directory=datapump schemas=geostar,jcas_djmuser,jcas_dmsuser,mw_app,mw_rtm,mw_sys dumpfile=pmsdb`date '+%Y%m%d'`_%U.dmp parallel=10 logfile=pmsdb`date '+%Y%m%d'`.log
expdp_pmsint.sh脚本设置如下:
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/db
export ORA_CRS_HOME=$ORACLE_BASE/crs
export ORACLE_SID=orcl2
export ORACLE_TERM=xterm
export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib :$ORA_CRS_HOME/lib:$ORA_CRS_HOME/lib32
export LIBPATH=$LD_LIBRARY_PATH
export
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib/ :$ORACLE_HOME/network/jlib
export
PATH=$PATH:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:/oracle/soft/OPatch export AIXTHREAD_SCOPE=S
export ORACLE_HOSTNAME=pmsdb2
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
expdp system/pms_db@orcl2 directory=datapump schemas=hdpms,idm_user,pms_monitor,sis dumpfile=pmsint`date '+%Y%m%d'`_%U.dmp parallel=5 logfile=pmsint`date '+%Y%m%d'`.log clear_pmsdb.sh脚本设置如下:
find /backup -name "pmsdb*.dmp" -ctime +2 -exec rm -f {} \;
clear_pmsint.sh脚本设置如下:
find /backup -name "pmsint*.dmp" -ctime +7 -exec rm -f {} \;。