用户管理的完全恢复

用户管理的完全恢复

http://blog.chinaunix.net/u2/63914/showart_1981560.html

 

 

 

一、完全恢复简介

1.诊断数据文件介质失败

   在关闭状态下诊断数据文件介质失败(DBWR写信息到跟踪文件)

   在open状态下诊断数据文件损坏或被删除

   在open状态下诊断数据块损坏

2.转储数据文件到其他磁盘

   在mount状态下改变数据文件位置(主要改变system表空间数据文件位置)

                  host copy d:/demo/system01.dbf(副本文件) d:/demo/system01.dbf(目标文件)

                  alter database rename file 'd:/demo/system01.dbf' to 'e:/demo/system01.dbf'

   在open状态下改变数据文件位置(主要改变除system表空间以外的数据文件位置)

        alter database datafile 'd:/demo/user01.dbf' offline;

        host copy d:/demo/users01.dbf   e:/demo/users01.dbf

        alter tablespace users rename datafile 'd:/demo/users01.dbf' to 'e:/demo/users01.dbf'

3.完全恢复命令

   当使用用户管理的完全恢复时,在将数据文件备份复制到目录位置之后,还需要以下三个命令。

  recover database-----恢复数据库的多个数据文件(mount状态下)

                                 startup force mount

                                 recover database

  recover tablespace------恢复一个或多个表空间的所有数据文件(在open状态下)

                                 recover tablespace users

  recover datafile---------恢复一个或多个数据文件(mount或open状态)

                                 recover datafile 'd:/demo/system01.dbf'或文件编号1,2

4.应用归档日志

A:使用oracle建议的归档日志位置(recover datafile 5)

B:指定归档日志位置(recover from 'c:/test' datafile 5)

C:自动应用归档日志

                        在提示语法下指定auto(recover datafile 5-----auto)

                        在开始恢复之前设置自动恢复选项。set autorecovery on

                                                                      recover datafile 5

                        在恢复命令中指定自动恢复选项。recover automatic datafile 5.

5.查看恢复文件

A:列出需要恢复的数据文件

   select file#,error,change# from v$recover_file

B:列出日志历史信息

   select sequence# from v$loghist where SCN号 between first_change# and switch_change#

C:列出恢复要使用的归档日志

   select sequence#,archive_name from v$recovery_log

二、在mount状态下恢复数据文件(system表空间的数据文件)

如果数据库处于open状态时,system所对应的表空间的数据文件出现介质失败,执行I/o操作时,数据库会自动关闭;如果数据库处于关闭状态时,system表空间的数据文件出现介质失败,数据库将不能打开,假定system01.dbf被误删。为了重新使用数据库,需要恢复该数据文件

1.装载数据库

   startup force mount

2.确定需要恢复的数据文件

   select file#,error from v$recover_file

3.复制数据文件备份到目标位置

   host copy d:/backup/system01.dbf d:/demo

   如果数据文件所在磁盘损坏,则如下:

   host copy d:/backup/system01.dbf e:/demo

   alter database rename file 'd:/demo/system01.dbf' to 'e:/demo/system01.dbf'

4.恢复数据文件

   recover datafile 1 ------auto(如果归档日志在默认位置下全部存在)

5.打开数据库

   alter database open

三、在open状态下恢复关闭后意外失去的数据文件(除system表空间的数据文件之外)

假定在关闭状态下数据文件users01.dbf所在的磁盘出现损坏。

1.装载数据库

   startup force mount

2.确定需要恢复的数据文件

   select file#,error from v$recover_file

3.使数据文件脱机

   alter database datafile 4 offline

4.打开数据库

   alter database open

5.复制数据文件备份

   host copy d:/backup/users01.dbf d:/demo

   如果数据文件所在磁盘损坏,则如下:

   host copy d:/backup/users01.dbf c:/demo

   alter database rename file 'd:/demo/users01.dbf' to 'c:/demo/users01.dbf'

6.恢复数据文件

   recover datafile 4-------auto

7.使数据文件联机

   alter database datafile 4 online

四、在open状态下恢复打开时意外失去的数据文件

假定在open状态下数据文件users01.dbf出现介质失败

1.确定需要恢复的数据文件

  select file#,error from v$recover_file

2.使数据文件脱机

   alter database datafile 4 offline;

   如果表空间的所有数据文件全部损坏或被误删除,可以执行alter tablespace ... offline for recover

3.复制数据文件备份

   host copy d:/backup/users01.dbf d:/demo

   如果数据文件所在磁盘损坏,则如下:

   host copy d:/backup/users01.dbf c:/demo

   alter database rename file 'd:/demo/users01.dbf' to 'c:/demo/users01.dbf'

4.恢复表空间或数据文件

   recover datafile 4----auto

5.使表空间或数据文件联机

   alter database datafile 4 online

五、在open状态下恢复未备份数据文件

假定将demo数据库转变为archivelog模式后,dba建立表空间user01

create tablespace user01 datafile 'd:/demo/user01.dbf' size 1m;

但是没有备份数据文件user01.dbf,并且在关闭状态下该数据文件出现介质失败。

1.装载数据库

   startup force mount

2.确定需要恢复的数据文件

   select file#,error from v$recover_file

3.使数据文件脱机

   alter database datafile  6 offline

4.打开数据库

   alter database open

5.重新建立数据文件

   alter database create datafile 'd:/demo/user01.dbf'

   如果数据文件所在磁盘损坏,则如下:

   alter database create datafile 'd:/demo/user01.dbf' as 'c:/demo/user01.dbf'

6.恢复数据文件

   recover datafile 6 --------auto

7.使数据文件联机

   alter database datafile 6 online

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值