recover 用法

1、rman完全恢复
是指当数据文件出现介质失败时,使用restore命令转储数据文件备份,并使用recover命令将数据文件恢复到失败点状态,archive模式
2、rman不完全恢复
是指当数据库出现介质失败或逻辑失败时,使用restore命令转储备份,并使用recover命令将数据库恢复到备份点与失败点之间某个时刻的状态,只适用于archivelog模式。
3、rman转储命令
使用rman执行介质恢复时,收下需要转储备份文件,转储备份文件是用restore命令来完成的。
a)restore database--只能在mount状态下使用,转储所有的数据文件。
b)restore database 只能在open状态下使用,转储特定表空间数据文件。
c)restore datafile(mount or open)转储特定数据文件
d)restore controlfile(nomount )转储特定控制文件
e)restore archivelog(open)转储归档日志
f)restore spfile(nomount)转储服务器参数文件。
4、raman恢复命令
当执行介质恢复时,在转储了备份之后,需要用归档日志恢复数据文件,恢复数据文件使用recover命令来完成的,当执行recover命令时,rman会自动用备份以来的所有归档日志。
a)recoverdatabase(mount)恢复所有数据文件
b)recover tablespace(open)恢复特定表空间
c)recover datafile(mount or open)恢复特定数据文件
5、恢复数据库,所有数据文件被删除
rman target /
startup force mount
run {
restore database;
recover database;
sql 'alter database open';
}
6、恢复数据库,数据文件所在的磁盘出现硬盘故障
rman target /
run {startup force mount;
set newname for DATAFIFLE 1 to '/u01/app/oracle/oradate/hxy/system01.dbf';
set newname for DATAFIFLE 2 to '/u01/app/oracle/oradate/hxy/systaux01.dbf';
set newname for DATAFIFLE 3 to '/u01/app/oracle/oradate/hxy/undotbs01.dbf';
set newname for DATAFIFLE 4 to '/u01/app/oracle/oradate/hxy/USERS01.dbf';
set newname for DATAFIFLE 5 to '/u01/app/oracle/oradate/hxy/EXAMPLe01.dbf';
set newname for DATAFIFLE 6 to '/u01/app/oracle/oradate/hxy/TBSP_USERDATA01.dbf';
set newname for DATAFIFLE 7 to '/u01/app/oracle/oradate/hxy/UNDO_USERDATA01.dbf';
restore database;
 switch datafile all;
 recover database;
 sql 'alter database open';
}
RMAN> report schema;    -- 查看数据库恢复后的物理方案。
7、 恢复SYSTEM表空间,数据文件被误删除 SYSTEM表空间的数据文件被误删除,那么在装载数据库之后,先使用RESTORE DATAFILE命令转储该表空间对应的数据文件,再使用RECOVER DATABASE命令用用归档日志恢复该
  SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run { startup force mount; restore datafile 1;
recover datafile 1
 sql 'alter database open';
}
8、 恢复SYSTEM表空间,数据文件所在磁盘出现故障
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
startup force mount;
set newname for datafile 1 to '/u01/app/oracle/oradate/hxy/SYSTEM01.DBF'; 
restore datafile 1;
switch datafile 1;
recover datafile 1;
sql 'alter database open';
}
9、 OPEN状态下恢复,关闭后意外的数据文件被误删除
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
startup force mount;
sql 'alter database datafile 4 offline';
sql 'alter database open';
restore datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online'; }
10、 OPEN状态下恢复,关闭后意外的数据文件所在磁盘出现损坏
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run { startup force mount;
sql 'alter database datafile 4 offline';
sql 'alter database ope';
set newname for datafile 4 to '/u01/app/oracle/oradate/hxy/user01.dbf';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
11、 OPEN状态下其他数据文件出现介质失败,数据文件丢失
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
sql 'alter database datafile 4 offline';
restore datafile 4; recover datafile 4;
sql 'alter database datafile 4 online';
}
12、 OPEN状态下其他数据文件出现介质失败,磁盘损坏
SET ORACLE_SID=DEMO C:
>RMAN  TARGET  /
RMAN> run {
sql 'alter database datafile 4 offline';
set newname for datafile 4 to '/u01/app/oracle/oradate/hxy/user01.dbf';
restore datafile 4;
switch datafile 4;
recover datafile 4;
sql 'alter database datafile 4 online';
}
13、 在OPEN状态下恢复未备份的数据文件,数据文件被误删除 条件:从建立数据文件到目前为止所有的归档日志必须全部存在。
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
startup force mount;
sql 'alter database datafile 7 offline';
sql 'alter database open';
restore datafile 7;
recover datafile 7;
sql 'alter database datafile 7 online';
}
14、 在OPEN状态下恢复未备份的数据文件,数据文件被误删除 条件:从建立数据文件到目前为止所有的归档日志必须全部存在。
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run { startup force mount;
sql 'alter database datafile 7 offline';
sql 'alter database open';
set newname for datafile 7 to '/u01/app/oracle/oradate/hxy/user04.dbf';
restore datafile 7;
switch datafile 7;
recover datafle 7;
sql 'alter database datafile 7 online';
}
15、 OPEN状态时表空间所有数据文件出现介质失败,数据文件被删除
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
sql 'alter tablespace users offline for recover';
restore tablespace users;
recover tablespace users;
sql 'alter tablespace users online'; }
16、 OPEN状态时表空间所有数据文件出现介质失败,磁盘损坏
SET ORACLE_SID=DEMO
RMAN  TARGET  /
RMAN> run {
sql 'alter tablespace users offline for recover';
set newname for datafile 4 to '/u01/app/oracle/oradate/hxy/user01.dbf';
restore tablespace users;
switch datafile all;
recover tablespace users;
sql ' alter tablespace users online';
}
17、 不完全恢复,只适用于ARCHIVELOG模式,基于时间的恢复
SQL> host date
当前日期:2013-07-05 星期五 输入日期:(年\月\日)
SQL> host time
当前时间:17:00:28.82
SQL> truncate table scott.emp
如上,emp表被截断的时间大约在17:00:28,所以将该数据库恢复到该时间点,就可以完全恢复emp表的所有数据。在实际工作用LogMiner确定误操作时间点。 当使用RMAN执行基于时间点的不完全恢复时,首先要在命令行设置环境变量NLS_DATE_FORMAT(指定日期时间格式)。在进入RMAN之后,先装载数据库,再使用SET UNTIL TIME命令指定要恢复到得时间点,使用RESTORE DATABASE转储所有数据文件,使用RECOVER DATABASE命令恢复数据库,最
后使用SQL语句ALTER DATABASE OPEN RESETLOGS打开数据库。
set nls_date_format=yyyy-mm-dd hh24:mi:ss
set oracle_sid=demo
RMAN target /
RMAN> run {
startup force mount;
set until time='2013-07-04 17:00:29';
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本。建议删除早期的所有备份,并重新备份数据库。
RMAN> run {
delete noprompt backup;
delete noprompt copy; backup database format='d:\backup\%d_%s.bak';
sql 'alter system archive log current';
}
18、 不完全恢复,只适用于ARCHIVELOG模式,基于SCN
SQL> SELECT current_scn FROM v$database; CURRENT_SCN --------------------- 511413
SQL> DROP TABLE scott.emp
set oracle_sid=demo
RMAN target /
RMAN> run {
startup fore mount;
set until scn=511413;
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本。建议删除早期的所有备份,并重新备份数据库。
RMAN> run {
delete noprompt backup;
delete noprompt copy;
backup database format='d:\backup\%d_%s.bak';
sql 'alter system archive log current';
}
19、 不完全恢复,只适用于ARCHIVELOG模式,日志序列号
RMAN> run {
startup force mount;
set until sequence=6;   -- 6 为日志序列号
restore database;
recover database;
sql 'alter database open resetlogs';
}
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本。建议删除早期的所有备份,并重新备份数据库。
RMAN> run {
delete noprompt backup;
delete noprompt copy;
backup database format='d:\backup\%d_%s.bak';
sql 'alter system archive log current';
}
20、 不完全恢复,只适用于ARCHIVELOG模式,基于备份控制文件恢复基于备份控制文件恢复是指使用备份控制文件恢复数据库的过程,当误删除了表空间或者数据库所有控制文件全部损坏时,可以使用这种恢复方法。 SQL>drop tabnlespace user01 including contents; 当误删除表空间后,查看alter文件可以确定删除表空间时的时间。 Sun Oct 03 18:36:18 2011 drop tablespace user01 including contents Sun Oct 03 18:36:21 2011 Starting control autobackup
如上所示,表空间误删除的时间为Oct 03 18:36:18 2011,只要恢复到这个时间点就可以了。 注意,当使用基于备份控制文件的RMAN不完全恢复时,如果没有使用恢复目录,那么要求必须激活了控制文件自动备份,否则不能转储控制文件备份。当执行基于备份控制文件的不完全恢复时,在启动了例程之后,转储控制文件之前需要使用SET DBID命令设置数据库的ID编号,在转储了控制文件吼吼装载数据库然后基于时间点的RMAN不完全恢复。
set nls_data_format=yyyy-mm-dd hh24:mi:ss
set oracle_sid=demo
RMAN target /
RMAN> startup force nomount
RMAN>set dbid = 32222222;
RMAN> restore controlfile from autobackup maxseq 6;
RMAN> alter database mount;
RMAN> run {
set until time='2013-07-04 18:36:18';
restore database; recover database;
sql 'alter database open resetlogs'; }
当使用resetlogs选项打开数据库之后,会复位日志序列号,并生成新的数据库副本。建议删除早期的所有备份,并重新备份数据库。
RMAN> run {
delete noprompt backup;
delete noprompt copy;
backup database format='/backup/%d_%s.bak';
sql 'alter system archive log current'; }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24492954/viewspace-765562/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24492954/viewspace-765562/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: xfs_recover是一个用于修复XFS文件系统的工具。使用方法如下: 1. 以root用户身份登录系统 2. 将硬盘挂载到/mnt目录下 3. 运行xfs_repair -n /mnt/硬盘分区 4. 根据提示输入y确认修复或n取消修复。 注意:在运行xfs_repair之前,请确保硬盘分区没有被挂载,并且在修复过程中不要对硬盘分区进行操作。 ### 回答2: xfs_recover是XFS文件系统的一个命令,用于恢复XFS文件系统中由于异常情况导致的损坏或不一致的数据。下面是使用xfs_recover的步骤: 1. 首先,确保系统上已经安装了XFS工具包,否则需要先安装。 2. 打开终端窗口,并以管理员身份登录。 3. 输入以下命令以查看需要恢复的文件系统的状态: ```shell xfs_db -x /dev/xxx ``` 这里的`xxx`是需要恢复的文件系统的路径,比如`/dev/sda1`。 4. 在xfs_db命令提示下,输入以下命令来关闭文件系统,以便进行恢复操作: ```shell f ``` 5. 关闭文件系统后,可以使用xfs_recover进行恢复操作。输入以下命令: ```shell xfs_recover /dev/xxx ``` 这里的`xxx`是需要恢复的文件系统的路径。 6. 系统会开始扫描文件系统,并尝试恢复损坏或不一致的数据。这个过程可能需要一些时间,具体时间取决于文件系统的大小和数据损坏的程度。 7. 当恢复过程完成后,您应该会看到一条消息显示恢复操作已经成功完成。 8. 最后,重新挂载文件系统以使其可访问: ```shell mount -o rw /dev/xxx /mnt/xxx ``` 这里的`xxx`是需要恢复的文件系统的路径,`/mnt/xxx`是文件系统重新挂载的目标路径。 请注意,在进行恢复操作之前,请务必备份文件系统中的重要数据,以防止数据丢失。此外,如果您对使用xfs_recover不确定或不熟悉,请咨询专业人员的建议。 ### 回答3: xfs_recover是一个用于恢复XFS文件系统的命令行工具。它用于修复文件系统损坏、不一致或丢失的数据,并在可能的情况下尽可能地恢复文件系统的正常状态。 使用xfs_recover需要在root用户下执行以下步骤: 1. 首先,确认文件系统是否已经挂载。如果已挂载,则需要卸载文件系统。可以使用umount命令来卸载文件系统。 例如:umount /dev/sda1 2. 使用以下命令执行文件系统恢复操作: xfs_recover /dev/sda1 这里的/dev/sda1是要恢复的文件系统所在的设备。 3. 在恢复过程中,xfs_recover会扫描文件系统的元数据,找到损坏的区域并尝试修复它们。恢复过程可能需要一段时间,取决于文件系统的大小和损坏的程度。在恢复过程中,xfs_recover会输出一些日志信息,以告知用户当前的恢复进度。 4. 完成恢复后,可以重新挂载文件系统,并查看其状态是否恢复正常。可以使用mount命令来重新挂载文件系统。 例如:mount /dev/sda1 /mnt 需要注意的是,xfs_recover可以修复大多数常见的文件系统损坏问题,但并不能保证100%的恢复成功。在执行之前,建议先备份重要的数据。 总结起来,xfs_recover是一个用于修复损坏的XFS文件系统的命令行工具,通过简单的几个步骤,可以尝试恢复文件系统的正常状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值