三种方法,冷备份,热备份,exp和imp
具体你看看书吧,或者google

解决方案 »

  1.   

    Oracle数据库的备份与恢复当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以ORACLE7为例,来讲述一下数据库的备份和恢复。ORACLE 数据库有三种标准的备份方法,它们分别为导出/导入(EXPORT/IMPORT)、冷备份、热备份。导出备份是一种逻辑备份,冷备份和热备份是物理备份。一、 导出/导入(Export/Import)利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回Oracle数据库中去。1. 简单导出数据(Export)和导入数据(Import)Oracle支持三种类型的输出:(1)表方式(T方式),将指定表的数据导出。(2)用户方式(U方式),将指定用户的所有对象及数据导出。(3)全库方式(Full方式),将数据库中的所有对象导出。数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。2. 增量导出/导入增量导出是一种常用的数据备份方法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出文件名缺省为export.dmp,如果不希望自己的输出文件定名为export.dmp,必须在命令行中指出要用的文件名。增量导出包括三个类型:(1)“完全”增量导出(Complete)即备份整个数据库,比如:$exp system/manager inctype=complete file=990702.dmp(2) “增量型”增量导出备份上一次备份后改变的数据。比如:$exp system/manager inctype=incremental file=990702.dmp(3) “累计型”增量导出(Cumulative)累计型导出方式只是导出自上次“完全” 导出之后数据库中变化了的信息。比如:$exp system/manager inctype=cumulative file=990702.dmp数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地完成。比如数据库的备份任务可作如下安排:星期一:完全导出(A)星期二:增量导出(B)星期三:增量导出(C)星期四:增量导出(D)星期五:累计导出(E)星期六:增量导出(F)星期日:增量导出(G)如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库:第一步:用命令CREATE DATABASE重新生成数据库结构;第二步:创建一个足够大的附加回段。第三步:完全增量导入A:$imp system./manager inctype= RECTORE FULL=Y FILE=A第四步:累计增量导入E:$imp system/manager inctype= RECTORE FULL=Y FILE =E第五步:最近增量导入F:$imp system/manager inctype=RESTORE FULL=Y FILE=F二、 冷备份冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据库。冷备份是将关键性文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的方法。冷备份的优点是:1.是非常快速的备份方法(只需拷贝文件)2.容易归档(简单拷贝即可)3.容易恢复到某个时间点上(只需将文件再拷贝回去)4.能与归档方法相结合,作数据库“最新状态”的恢复。5.低度维护,高度安全。但冷备份也有如下不足:1.单独使用时,只能提供到“某一时间点上”的恢复。2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,数据库必须是关闭状态。3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。4.不能按表或按用户恢复。如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。冷备份中必须拷贝的文件包括:1.所有数据文件2.所有控制文件3.所有联机REDO LOG文件4.Init.ora文件(可选)。值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态时,执行数据库文件系统备份是无效的下面是做冷备份的完整例子:(1) 关闭数据库$sqldba lmode=ySQLDBA >connect internal;SQLDBA >shutdown normal;(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件SQLDBA >! cp < file > < backup directory >(3) 重启Oracle数据库$sqldba lmode=ySQLDBA >connect internal;SQLDBA >startup;三、 热备份热备份是在数据库运行的情况下,采用archivelog mode方式备份数据的方法。所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成:1.数据文件一个表空间一个表空间地备份。(1)设置表空间为备份状态(2)备份表空间的数据文件(3)恢复表空间为正常状态2.备份归档log文件。(1)临时停止归档进程(2)log下那些在archive redo log目标目录中的文件(3)重新启动archive进程(4)备份归档的redo log 文件3.用alter database backup controlfile命令来备份拷贝文件热备份的优点是:1.可在表空间或数据文件级备份,备份时间短。2.备份时数据库仍可使用。3.可达到秒级恢复(恢复到某一时间点上)。4.可对几乎所有数据库实体作恢复。5.恢复是快速的,在大多数情况下在数据库仍工作时恢复。热备份的不足是:1.不能出错,否则后果严重。2.若热备份不成功,所得结果不可用于时间点的恢复。3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
      

  2.   

    冷备份,热备份,exp和imp
      

  3.   

    exp/imp 逻辑备份 只备份数据
    冷备份 脱机备份 
    热备份 联机备份备份工具,rman
      

  4.   

    数据库的备份:
    1.在服务器端Windows NT网络操作系统中找到Oracle的安装目录:
    如D:\oracle\  再进入Bin\子目录,鼠标左键双击 exp.exe 文件                   
    或在Ms_Dos方式中进入Oralce安装目录中的Bin子目录,输入:exp [ENTER]
    2.出现提示输入管理员用户名界面:
    Export:Release 8.1.5.0.0-Production on Sun Oct 29 20:27:59 2000
    <c> Copyright 1999 Oracle Corporation. All rights reserved.
    Username:(此处输入管理员用户名)[ENTER]
    3.出现提示输入管理员口令界面:
    Password:(此处输入管理员口令)[ENTER]
    4.出项备份选择界面。
    Connected to : Oracle8i Enterprise Edition Release 8.1.5.0.0-Production 
     With the Partitioning and Java options
    PL/SQL Release 8.1.5.0.0 – Production
    Enter array fetch buffer size: 4096 >[ENTER]
    此处为选定备份时用于取数据行的缓冲尺寸。直接选定缺省值4096即可。
    5.出现选择备份文件输出的位置和名称界面。
    Export file:EXPDAT.DMP>D:\backup\xx20001029.dmp[ENTER]
    在此之前,需要在操作系统D盘上建立一个名称为backup的文件夹。备注:最好把备份的文件名写成用户名加日期的方式,方便查询和恢复工作。
    6.出现选择备份方式界面。
    (1) E(ntire database),(2)U(sers),or (3)T(ables):(2)U>E[ENTER]
    7.询问是否备份数据库内的授权
    Exprot grants(Yes/No):Yes>[ENTER]
    8.询问是否备份基表内的数据
    Export table data(Yes/No):Yes>[ENTER]
    9.询问是否是否压缩碎片数据段
    Compress extents(Yes/No):Yes>[ENTER]
    10.About to export specifited users
    user to be exported :(Return to quit)>(输入数据库管理员名称)[ENTER]
    这样就完成了数据库的热备份。备份完数据后,系统会自动退出DOS界面。
    11.最后在操作系统的D盘上的backup文件夹中将找到备份的名为xx20001029.dmp的
        文件。数据库的恢复
    1.在服务器端Windows NT网络操作系统中找到Oracle的安装目录:
     如D:\oracle\  再进入Bin\子目录,鼠标左键双击 imp.exe 文件                  或在Ms_Dos方式中进入Oralce安装目录中的Bin子目录,输入:imp [ENTER]
    2.出现提示输入管理员用户名界面:
    import:Release 8.1.5.0.0 -production on Sun Oct 29 21:57:47 2000
    <c> Copyright 1999 Oracle Corporation. All rights reserved.
    Username:(此处输入管理员用户名)[ENTER]
    3.出现提示输入管理员口令界面:
    Password:(此处输入管理员口令)[ENTER]
    4.出项备份文件输入界面。
    Import file:Expadat.dmp>D:\backup\xx20001029.dmp[ENTER]
    5.选择数据插入的缓冲尺寸,选择缺省值,按回车即可。
    Enter insert buffer size(minimum is 4096)30270>[ENTER]
    6.Export file created by Export :U07.02.02,list contents of import file
    only(Yes/No):no>[ENTER]
    7.选择是否忽略数据恢复中出现的错误,回车即可。
     Ignore create error due to object existence (Yes/No):no>[ENTER]
    8.选择是否恢复授权,选择缺省值,回车即可。
     Import grants(Yes/No):Yes>[ENTER]
    9.选择是否恢复表数据, 选择缺省值,回车即可。
     Import table data (Yes/No):Yes>[ENTER]
    10.选择是否输出整个文件。
        Import Entire export file (Yes/No):no>[ENTER]
    11.输入用户名。
       Username>(此处输入数据库管理员名称)  ,然后等待系统进行数据库的恢复,
         恢复工作完成后,系统会自动退出DOS界面。
         这样,就完成了数据库的恢复。
    在win2k server 和 oracle 817下的备份说明
      

  5.   

    Oracle数据库备份主要有: 
    l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。 2 Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。 3 Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
      

  6.   

    ORACLE提供了一个比较好的备份工具RMAN
    RMAN可以用来备份和恢复数据库文件、归档日志和控制文件,也可以用来执行完全或不完全的数据库恢复。RMAN有三种不同的用户接口:COMMAND LINE方式、GUI方式(集成在OEM中的备份管理器)、API方式(用于集成到第三方的备份软件中)**创建恢复目录1、在目录数据库中创建恢复目录所用表空间SQL> create tablespace rmants datafile 'c:\oracle\oradata\cc\rmants.ora' size 20M ;表空间已创建。2、在目录数据库中创建RMAN用户并授权SQL> create user rman identified by rman default tablespace rmants temporary tablespace temp quota unlimited on rmants;用户已创建SQL> grant recovery_catalog_owner to rman ;授权成功。3、在目录数据库中创建恢复目录C:\>rman catalog rman/rman恢复管理器:版本8.1.7.0.0 - ProductionRMAN-06008:连接到恢复目录数据库
    RMAN-06428:未安装恢复目录RMAN>create catalog tablespace rmants;RMAN-06431:恢复目录已创建
    4、注册目标数据库到恢复目录注意哦,这里我的目标数据库使用的服务名称是rman,意思为要使用RMAN进行备份的数据库,而目录数据库使用的服务名称是CC。C:\>rman target sys/sys@rman恢复管理器:版本8.1.7.0.0 - ProductionRMAN-06005:连接到目标数据库:RMAN (DBID=1303772234)RMAN>connect catalog rman/rman@ccRMAN-06008:连接到恢复目录数据库RMAN>register database;RMAN-03022:正在编译命令:register
    RMAN-03023:正在执行命令:register
    RMAN-08006:注册在恢复目录中的数据库
    RMAN-03023:正在执行命令:full resync
    RMAN-08002:正在启动全部恢复目录的 resync
    RMAN-08004:完成全部 resync
      

  7.   

    使用RMAN下面通过具体的例子来说明RMAN的使用,这里会涉及到除了恢复以外的所有RMAN操作,关于使用RMAN进行恢复的内容请参考我以前写的另外一篇文章:RMAN恢复实践。1、备份整个数据库RMAN>run {
     allocate channel c1 type disk;
     backup database format 'e:\dbbackup\2db.dmp';
     }2、复制数据数据库
    RMAN>run {
          set until SCN 396566;
          allocate channel d1 type disk;
          restore controlfile;
          sql 'alter database mount ';
          restore database;
          recover database;
          sql 'alter database open resetlogs';
          release channel d1;
     }reset database;