您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle备份各方法总结
SsivOracle数据备份1数据备份数据的备份不管是对公司还是个人来说都是一件很重要的事,只有将重要的数据备份了,才能减少数据丢失造成的损失。在Oracle中数据备份分为物理备份和逻辑备份。物理备份中包括冷备份和热备份,逻辑备份包括emp/imp导出及10g中新增的datapump(数据泵)。1.1物理备份物理备份是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带。可以使用Oracle的恢复管理器(RecoveryManager,RMAN)或操作系统命令进行数据库的物理备份。1.1.1冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的过程一般为:优点:1、是非常快速的备份方法(只需拷文件);2、容易归档(简单拷贝即可);3、容易恢复到某个时间点上(只需将文件再拷贝回去);4、能与归档方法相结合,做数据库“最佳状态”的恢复;5、低度维护,高度安全。缺点:1、单独使用时,只能提供到“某一时间点上”的恢复;2、再实施备份的全过程中,数据库必须要作备份而不能作其他工作。也就是说,在冷备份过程中,数据库必须是关闭状态;3、若磁盘空间有限,只能拷贝到磁带等其他外部存储设备上,速度会很慢;4、不能按表或按用户恢复。冷备份的过程一般为:1)关闭数据库。(shutdown)2)备份/恢复关键性文件。冷备份中必须拷贝的文件包括:a)所有数据文件;(selectfile_name,tablespace_namefromdba_data_files;)b)所有控制文件;(selectnamefromv$controlfile;)c)所有联机REDOLOG文件;(selectmemberfromv$logfile;)d)Init.ora文件(可选)。(showparameterpfile;)冷备份sql脚本文件:CoolBak.sqlconnectsystem/oracleassysdbashutdownimmediatehostcopyF:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\*.*F:\backup\hostcopyF:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORAF:\backup\dbshostcopyF:\oracle\product\10.2.0\db_1\database\PWDorcl.oraF:\backup\databasehostcopyF:\DISK1\ORATABLESPACE\TABLESPACE_DATA.DBFF:\backup\disk2\startupSQL@F:\oracle\mgt\CoolBak.sql恢复sql脚本文件:CoolRec.sqlSsivconnectsystem/oracleassysdbashutdownimmediatehostcopyF:\backup\*.*F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\hostcopyF:\backup\dbs\SPFILEORCL.ORAF:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\hostcopyF:\backup\database\PWDorcl.oraF:\oracle\product\10.2.0\db_1\database\hostcopyF:\backup\disk2\TABLESPACE_DATA.DBFF:\DISK1\ORATABLESPACE\startupSQL@F:\oracle\mgt\CoolRec.sql3)开启数据库。(startup)1.1.2热备份热备份是在数据库运行的情况下,采用archivelogmode方式备份数据的方法。热备份工作必需要求数据库在Archivelog方式下操作,在SQLDBA状态下用alterdatabasearchivelog|noarchivelog命令可改变备份的模式。热备份只能在数据库不使用或使用率低的情况下进行。热备份需要大量的档案空间。优点:1、可在表空间或数据库文件级备份、备份时间短;2、备份的数据库仍可用;3、可达到秒级恢复(恢复到某一时间点上);4、可对几乎所有数据库实体做恢复;5、恢复是快速的,在大多数情况下在数据库仍工作时恢复。缺点:1、不能出错,否则后果严重;2、若备份不成功,所得结果不可用于时间点的恢复;3、难以维护,所以要特别仔细小心,不允许以失败而告终。热备份的过程一般为:1.设置数据库为归档模式;archiveloglist;查看当前模式shutdownimmediate;关闭数据库startupmount;启动数据库到mount模式alterdatabasearchivelog;修改数据库为归档模式alterdatabaseopen;打开数据库showparameterdb_recovery_file_dest;查看归档日志的路径和目录2.进行热备份;a)以表空间为单位的备份数据文件;(只能单个操作)ALTERTABLESPACEEXAMPLEBEGINBACKUP;HOSTCOPYC:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.dbfC:\backup\EXAMPLE01.dbfALTERTABLESPACEEXAMPLEENDBACKUP;b)备份控制文件;ALTERDATABASEBACKUPCONTROLFILETO'c:\backup\control.bkp';c)备份其它物理文件。i.归档当前的联机重做日志文件:LTERSYSTEMARCHIVELOGCURRENT;或:ALTERSYSTEMSWITCHLOGFILE;ii.备份归档重做日志文件:在操作系统中将所有的归档重做日志文件复制到备份文件夹中。Ssiviii.备份初始化参数文件:初始化参数文件(在c:\oracle\product\10.2.0\admin\orcl\pfile下)热备份恢复:表空间级别的完全恢复步骤:1)模拟数据文件丢失的情况:首先关闭数据库:SHUTDOWNIMMEDIATE;然后将EXAMPLE表空间的数据文件example01.dbf删除,以模拟example01.dbf损坏进行表空级的完全恢复。最后启动数据库:STARTUP,可以看到数据库装载完毕后的出错信息。2)数据库处于打开状态下的恢复(1)如果数据库已经关闭,则将数据库启动到MOUNT状态:STARTUPMOUNT(2)将损坏的数据文件设置为脱机状态(须在归档模式下)ALTERDATABASEDATAFILE'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf'OFFLINE;(3)将数据库修改为打开状态:ALTERDATABASEOPEN;(4)将损坏的数据文件所在的表空间脱机ALTERTABLESPACEEXAMPLEOFFLINEFORRECOVER;(5)将备份的表空间对应的所有数据文件复制到原来的目录,覆盖受损的数据文件。这里为复制example01.dbf到原来的目录。(6)执行表空间恢复命令:RECOVERTABLESPACEEXAMPLE;(7)将表空间联机:ALTERTABLESPACEEXAMPLEONLINE;数据文件级别的完全恢复步骤:1)模拟数据文件丢失的情况:首先关闭数据库:SHUTDOWNIMMEDIATE;然后将EXAMPLE表空间的数据文件C:\oracle\product\10.2.0\oradata\orcl\example01.dbf删除,以数据文件example01.dbf损坏为例模拟数据文件级的完全恢复。最后启动数据库:STARTUP,可以看到数据库装载完毕后的出错信息。2)数据库处于打开状态下的恢复(1)如果数据库已经关闭,则将数据库启动到MOUNT状态:STARTUPMOUNT(2)将损坏的数据文件设置为脱机状态ALTERDATABASEDATAFILE'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf'OFFLINE;(3)将数据库修改为打开状态:ALTERDATABASEOPEN;(4)利用备份的数据文件example01.dbf还原损坏的数据文件example01.dbf。(5)使用RECOVER命令恢复数据文件:RECOVERDATAFILE'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf';(6)将数据文件设为联机状态:ALTERDATABASEDATAFILE'C:\oracle\product\10.2.0\oradata\orcl\example01.dbf'ONLINE;1.2逻辑备份逻辑备份是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。Oracle提供的逻辑备份工具是EXP,EXPDB。(执行时在dos命令中执行,而不是在sqlplus中)。(通过命令help=y查询命令详情)1.2.1exp/impSsiv有三种主要的方式(完全、用户、表)完全:expuser/pwd@host/orclfile=e:\file.dmpfull=y;impuser/pwd@host/orclfile=e:\file.dmpfull=y;用户模式:expuser/pwd@host/orclfile=e:\file.dmpowner=(user1,user2);impuser/pwd@host/orclfile=e:\file.dmpfromuesr=user1[touser=user2];表模式:expuser/pwd@host/orclfile=e:\file.dmptables=(table1,table2);impuser/pwd@host/orclfile=e:\file.dmptables=(table1,table2);1.2.2数据泵(expdp/impdp)Oracle10g引入了DATAPUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATAPUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。SsivDATAPUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。创建DIRECTORY:DATAPUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。createdirectorydir_nameas‘d:\orc_dir’;创建orcaleServer端目录(用于放置导出/导入文件)grantread,writeondirectorydir_nametouser1,user2;给目录赋读写的权限select*fromall_directories/dba_directories;查看已有目录数据泵操作:4种方式按表操作:expdpuser/pwd@host/orcldirectory=dir_namedumpfile=e:\file.dmplogfile=file.logtables=table_name;impdpu
本文标题:Oracle备份各方法总结
链接地址:https://www.777doc.com/doc-2847830 .html