oracle备份和恢复.docx

上传人:b****3 文档编号:5390704 上传时间:2023-05-08 格式:DOCX 页数:13 大小:21.27KB
下载 相关 举报
oracle备份和恢复.docx_第1页
第1页 / 共13页
oracle备份和恢复.docx_第2页
第2页 / 共13页
oracle备份和恢复.docx_第3页
第3页 / 共13页
oracle备份和恢复.docx_第4页
第4页 / 共13页
oracle备份和恢复.docx_第5页
第5页 / 共13页
oracle备份和恢复.docx_第6页
第6页 / 共13页
oracle备份和恢复.docx_第7页
第7页 / 共13页
oracle备份和恢复.docx_第8页
第8页 / 共13页
oracle备份和恢复.docx_第9页
第9页 / 共13页
oracle备份和恢复.docx_第10页
第10页 / 共13页
oracle备份和恢复.docx_第11页
第11页 / 共13页
oracle备份和恢复.docx_第12页
第12页 / 共13页
oracle备份和恢复.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

oracle备份和恢复.docx

《oracle备份和恢复.docx》由会员分享,可在线阅读,更多相关《oracle备份和恢复.docx(13页珍藏版)》请在冰点文库上搜索。

oracle备份和恢复.docx

oracle备份和恢复

1.一、冷备份介绍:

   

2.   冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。

此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。

,冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。

因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份。

它的优缺点如下所示:

   

3.1、优点:

   

4.        <1>只需拷贝文件即可,是非常快速的备份方法。

   

5.        <2>只需将文件再拷贝回去,就可以恢复到某一时间点上。

   

6.        <3>与数据库归档的模式相结合可以使数据库很好地恢复。

   

7.        <4>维护量较少,但安全性确相对较高。

   

8.2、缺点:

   

9.        <1>在进行数据库冷备份的过程中数据库必须处于关闭状态。

   

10.   <2>单独使用冷备份时,数据库只能完成基于某一时间点上的恢复。

   

11.        <3>若磁盘空间有限,冷备份只能将备份数据拷贝到磁带等其他外部存储上,速度会更慢。

   

12.        <4>冷备份不能按表或按用户恢复。

   

13.3、具体备份步骤如下:

   

14.        <1>以DBA用户或特权用户登录,查询动态性能视图v$datafile、v$controlfile可以分别列出数据库的数据文件以及控制文件。

   

15.  

16.SQL> select name from v$datafile;   

17.NAME   

18.--------------------------------------------------------------------------------   

19./u02/oradata/db01/system01.dbf   

20./u02/oradata/db01/undotbs01.dbf   

21./u02/oradata/db01/sysaux01.dbf   

22./u02/oradata/db01/users01.dbf   

23.SQL> select name from v$controlfile;   

24.NAME   

25.--------------------------------------------------------------------------------   

26./u02/oradata/db01/control01.ctl   

27./u02/oradata/db01/control02.ctl   

28./u02/oradata/db01/control03.ctl   

29./u01/app/oracle/bak/control04.ctl   

30.<2>以DBA用户或特权用户关闭数据库。

   

31.SQL> conn /  as sysdba;   

32.Connected.   

33.SQL> shutdown normal   

34.Database closed.   

35.Database dismounted.   

36.ORACLE instance shut down.   

37.<3>复制数据文件,复制时应该将文件复制到单独的一个硬盘或者磁盘上。

控制文件是相互镜像的,因此只需复制一个控制文件即可。

   

38.cp /u02/oradata/db01/*.dbf  /u01/app/oracle/bak   

39.cp /u02/oradata/db01/*.ctl  /u01/app/oracle/bak   

40.<4>启动例程打开数据库。

   

41.SQL> conn / as sysdba;   

42.Connected to an idle instance.   

43.SQL> startup   

44.ORACLE instance started.   

45.Total System Global Area  285212672 bytes   

46.Fixed Size                  1218992 bytes   

47.Variable Size              83887696 bytes   

48.Database Buffers          197132288 bytes   

49.Redo Buffers                2973696 bytes   

50.Database mounted.   

51.Database opened.   

52.SQL>   

53.  

54.二、热备份:

   

55.   热备份是在数据库运行的情况下,采用archive log mode方式备份数据库的方法。

热备份要求数据库处于archive log模式下操作,并需要大量的档案空间。

一旦数据库处于archive loh   

56.模式,就可以进行备份了,当执行备份时,只能在数据文件级或表空间进行。

   

57.1、优点:

   

58.          <1>可在表空间或数据文件级备份,备份时间短。

   

59.<2>可达到秒级恢复(恢复到某一时间点上)。

   

60.          <3>可对几乎所有数据库实体作恢复。

   

61.          <4>恢复是快速的,在大多数情况下在数据库仍工作时恢复。

   

62.<5>备份时数据库仍可用。

   

63.2、缺点:

   

64.         <1>因难以维护,所以要特别仔细小心,不允许“以失败而告终”。

   

65.         <2>若热备份不成功,所得结果不可用于时间点的恢复。

   

66.         <3>不能出错,否则后果严重。

   

67.3、设置初始归档模式:

   

68.设置归档模式数据库必须处在mount而非open状态下:

   

69.         <1>首先查看数据库是否处在archive log模式下:

   

70.         SQL> archive log list;   

71.         Database log mode               No Archive Mode   

72.         Automatic archival                Disabled   

73.         Archive destination               USE_DB_RECOVERY_FILE_DEST   

74.         Oldest online log sequence    1   

75.         Current log sequence            2   

76.         <2>在mount状态下启动数据库:

   

77.         SQL> startup mount;   

78.         ORACLE instance started.   

79.         Total System Global Area  285212672 bytes   

80.         Fixed Size                  1218992 bytes   

81.         Variable Size              83887696 bytes   

82.         Database Buffers          197132288 bytes   

83.         Redo Buffers                2973696 bytes   

84.         Database mounted.   

85.         <3>设置数据库为归档模式:

   

86.        SQL> alter database archivelog;   

87.        Database altered.   

88.        <4>打开数据库:

   

89.  

90.SQL> alter database open;   

91.Database altered.   

92.<5>将数据库设置成自动归档,使用以下命令:

   

93.SQL> alter system set log_archive_start=true scope=spfile;   

94.System altered.   

95.<6>确定数据库处于归档模式下,并且设置自动存档:

   

96.SQL> archive log list;   

97.Database log mode              Archive Mode   

98.Automatic archival             Enabled   

99.Archive destination            USE_DB_RECOVERY_FILE_DEST   

100.Oldest online log sequence     1   

101.Next log sequence to archive   2   

102.Current log sequence           2   

103.上面的Archive destination所定义的具体位置,可以查看$ORACLE_HOME/dbs/spfile.ora文件中的db_recovery_file_dest参数的值。

   

104.   

105.  

106.4、联机备份:

   

107.      联机备份是热备份的一种备份方法,是指当表空间处于ONLINE状态时,备份表空间的所有数据文件和单个数据文件的过程。

使用联机备份的优点是不影响用户在表空间上的所有访问操作,但联机备份的缺点可能生产更多的重做日志文件和归档日志文件。

以下是联机备份的具体步骤:

   

108.       <1>以DBA用户或特权用户登录,确定表空间所包含的数据文件。

通过查询数据字典DBA_DATA_FILES,可以得到数据文件和表空间的对应关系:

   

109.  

110.SQL> select file_name from dba_data_files where tablespace_name='USERS';   

111.FILE_NAME   

112.--------------------------------------------------------------------------------   

113./u02/oradata/db01/users01.dbf   

114.<2>设置表空间为备份模式,在复制表空间的数据文件之前必须将表空间设置成为备份模式:

   

115.SQL> alter tablespace users begin backup;   

116.Tablespace altered.   

117.<3>复制users数据文件到备份目录:

   

118.[oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak   

119.<4>复制后表空间就不需要设置成为备份模式了,因此可以将其返回正常模式:

   

120.SQL>  alter tablespace users end backup;   

121.Tablespace altered.  

122.  

123.5、脱机备份:

   

124.      脱机备份也是热备份的一种方法,是指当表空间处于offline时,备份表空间的所有数据文件以及单个数据文件的过程。

它的优点是会生产较少的重做日志文件,缺点是当用户正在进行脱机备份时所备份的表空间将不能访问,由于SYSTEM系统表空间和正在使用的UNDO表空间不能被脱机,因此脱机备份不适用于SYSTEM表空间和正在使用的UNDO表空间。

125.1>使用DBA用户或特权用户登录,确定表空间所包含的数据文件。

这个和联机备份的第一步相同:

126.SQL>selectfile_namefromdba_data_fileswheretablespace_name='USERS';

FILE_NAME

--------------------------------------------------------------------------------

/u02/oradata/db01/users01.dbf

<2>设置表空间为脱机状态,将表空间设置为脱机状态后用户将不能访问该表空间上的任何对象,因此也可以确保OFFLINE的表空间的数据文件不会发生改变。

SQL>altertablespaceusersoffline;

Tablespacealtered.

SQL>selecttablespace_name,online_statusfromdba_data_files;

TABLESPACE_NAME               ONLINE_

-------------------------------------

USERS                         OFFLINE

SYSAUX                        ONLINE

UNDOTBS1                      ONLINE

SYSTEM                        SYSTEM

<3>复制users数据文件到备份目录:

[oracle@server1bak]$cp/u02/oradata/db01/users01.dbf/bak

<4>复制完后将表空间置于online状态:

SQL>alter tablespaceusersonline;

Tablespacealtered.

SQL>selecttablespace_name,online_statusfromdba_data_files;

TABLESPACE_NAME               ONLINE_

-------------------------------------

USERS                         ONLINE

SYSAUX                        ONLINE

UNDOTBS1                      ONLINE

SYSTEM                        SYSTEM

 

当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算

机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,

这时如何尽快恢复数据就成为当务之急。

如果平时对数据库做了备份,那么此时恢复数

据就显得很容易。

由此可见,做好数据库的备份是多么的重要,下面笔者就以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)

----即备份整个数据库,比如:

----$expsystem/managerinctype=completefile=990702.dmp

----

(2)“增量型”增量导出

----备份上一次备份后改变的数据。

比如:

----$expsystem/managerinctype=incrementalfile=990702.dmp

----(3)“累计型”增量导出(Cumulative)

----累计型导出方式只是导出自上次“完全”导出之后数据库中变化了的信息。

比如

----$expsystem/managerinctype=cumulativefile=990702.dmp

----数据库管理员可以排定一个备份日程表,用数据导出的三个不同方式合理高效地

完成。

----比如数据库的备份任务可作如下安排:

----星期一:

完全导出(A)

----星期二:

增量导出(B)

----星期三:

增量导出(C)

----星期四:

增量导出(D)

----星期五:

累计导出(E)

----星期六:

增量导出(F)

----星期日:

增量导出(G)

----如果在星期日,数据库遭到意外破坏,数据库管理员可按以下步骤来恢复数据库

----第一步:

用命令CREATEDATABASE重新生成数据库结构;

----第二步:

创建一个足够大的附加回段。

----第三步:

完全增量导入A:

----$impsystem./managerinctype=RECTOREFULL=YFILE=A

----第四步:

累计增量导入E:

----$impsystem/managerinctype=RECTOREFULL=YFILE=E

----第五步:

最近增量导入F:

----$impsystem/managerinctype=RESTOREFULL=YFILE=F

----二、冷备份

----冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完

整的数据库。

冷备份是将关键性文件拷贝到另外位置的一种说法。

对于备份Oracle信息

而言,冷备份是最快和最安全的方法。

冷备份的优点是:

----1.是非常快速的备份方法(只需拷贝文件)

----2.容易归档(简单拷贝即可)

----3.容易恢复到某个时间点上(只需将文件再拷贝回去)

----4.能与归档方法相结合,作数据库“最新状态”的恢复。

----5.低度维护,高度安全。

----但冷备份也有如下不足:

----1.单独使用时,只能提供到“某一时间点上”的恢复。

----2.在实施备份的全过程中,数据库必须要作备份而不能作其它工作。

也就是说,

在冷备份过程中,数据库必须是关闭状态。

----3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。

----4.不能按表或按用户恢复。

----如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动数据库(使用

户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,数据库也可以工作)。

备份中必须拷贝的文件包括:

----1.所有数据文件

----2.所有控制文件

----3.所有联机REDOLOG文件

----4.Init.ora文件(可选)。

----值得注意的是冷备份必须在数据库关闭的情况下进行,当数据库处于打开状态

时,执行数据库文件系统备份是无效的

----下面是做冷备份的完整例子:

----

(1)关闭数据库$sqldbalmode=y

----SQLDBA>connectinternal;

----SQLDBA>shutdownnormal;

----

(2)用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数

文件

----SQLDBA>!

cp

----(3)重启Oracle数据库

----$sqldbalmode=y

----SQLDBA>connectinternal;

----SQLDBA>startup;

----三、热备份

----热备份是在数据库运行的情况下,采用archivelogmode方式备份数据的方法。

所以,如果你有昨天夜里的一个冷备份而且又有今天的热备份文件,在发生问题时,就可以利用这些资料恢复更多的信息。

 

热备份要求数据库在Archivelog方式下操作,并需要

大量的档案空间。

一旦数据库运行在archivelog状态下,就可以做备份了。

热备份的命

令文件由三部分组成:

----1.数据文件一个表空间一个表空间地备份。

----

(1)设置表空间为备份状态

----

(2)备份表空间的数据文件

----(3)恢复表空间为正常状态

----2.备份归档log文件。

----

(1)临时停止归档进程

----

(2)log下那些在archiveredolog目标目录中的文件

----(3)重新启动arc

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2