12 个解决方案
#1
三种方法,冷备份,热备份,exp和imp
具体你看看书吧,或者google
具体你看看书吧,或者google
#2
exp和imp
www.oradb.net
www.oradb.net
#3
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=y
SQLDBA >connect internal;
SQLDBA >shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
SQLDBA >! cp < file > < backup directory >
(3) 重启Oracle数据库
$sqldba lmode=y
SQLDBA >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.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以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=y
SQLDBA >connect internal;
SQLDBA >shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
SQLDBA >! cp < file > < backup directory >
(3) 重启Oracle数据库
$sqldba lmode=y
SQLDBA >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.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
#4
UP
#5
冷备份,热备份,exp和imp
#6
exp/imp 逻辑备份 只备份数据
冷备份 脱机备份
热备份 联机备份
备份工具,rman
冷备份 脱机备份
热备份 联机备份
备份工具,rman
#7
支持楼上
#8
数据库的备份:
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下的备份说明
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下的备份说明
#9
关注
#10
Oracle数据库备份主要有:
l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
2 Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
3 Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
2 Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
3 Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
#11
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 - Production
RMAN-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 - Production
RMAN-06005:连接到目标数据库:RMAN (DBID=1303772234)
RMAN>connect catalog rman/rman@cc
RMAN-06008:连接到恢复目录数据库
RMAN>register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
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 - Production
RMAN-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 - Production
RMAN-06005:连接到目标数据库:RMAN (DBID=1303772234)
RMAN>connect catalog rman/rman@cc
RMAN-06008:连接到恢复目录数据库
RMAN>register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
#12
使用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;
下面通过具体的例子来说明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;
#1
三种方法,冷备份,热备份,exp和imp
具体你看看书吧,或者google
具体你看看书吧,或者google
#2
exp和imp
www.oradb.net
www.oradb.net
#3
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=y
SQLDBA >connect internal;
SQLDBA >shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
SQLDBA >! cp < file > < backup directory >
(3) 重启Oracle数据库
$sqldba lmode=y
SQLDBA >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.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(包括机器故障、介质故障、误操作等),数据库有时也可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如果平时对数据库做了备份,那么此时恢复数据就显得很容易。由此可见,做好数据库的备份是多么的重要,下面笔者就以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=y
SQLDBA >connect internal;
SQLDBA >shutdown normal;
(2) 用拷贝命令备份全部的时间文件、重做日志文件、控制文件、初始化参数文件
SQLDBA >! cp < file > < backup directory >
(3) 重启Oracle数据库
$sqldba lmode=y
SQLDBA >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.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
#4
UP
#5
冷备份,热备份,exp和imp
#6
exp/imp 逻辑备份 只备份数据
冷备份 脱机备份
热备份 联机备份
备份工具,rman
冷备份 脱机备份
热备份 联机备份
备份工具,rman
#7
支持楼上
#8
数据库的备份:
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下的备份说明
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下的备份说明
#9
关注
#10
Oracle数据库备份主要有:
l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
2 Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
3 Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
l Cold Backup(冷备份) 主要指在关闭数据库的状态下进行的数据库完全备份,备份内容包括所有数据文件、控制文件、联机日志文件、ini文件。
2 Hot Backup(热备份) 指在数据库处于运行状态下,对数据文件和控制文件进行备份,要使用热备份必须将数据库运行在(Archive Log)归档方式下。
3 Export(逻辑备份)这是最简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式。使用这种方法,数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
#11
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 - Production
RMAN-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 - Production
RMAN-06005:连接到目标数据库:RMAN (DBID=1303772234)
RMAN>connect catalog rman/rman@cc
RMAN-06008:连接到恢复目录数据库
RMAN>register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
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 - Production
RMAN-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 - Production
RMAN-06005:连接到目标数据库:RMAN (DBID=1303772234)
RMAN>connect catalog rman/rman@cc
RMAN-06008:连接到恢复目录数据库
RMAN>register database;
RMAN-03022:正在编译命令:register
RMAN-03023:正在执行命令:register
RMAN-08006:注册在恢复目录中的数据库
RMAN-03023:正在执行命令:full resync
RMAN-08002:正在启动全部恢复目录的 resync
RMAN-08004:完成全部 resync
#12
使用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;
下面通过具体的例子来说明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;