- 浏览: 1020000 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
1.非归档模式下,断电重新启动导致无法锁定数据文件
SYS@huiches>startup
ORACLE 例程已经启动。
Total System Global Area 159383552 bytes
Fixed Size 1295608 bytes
Variable Size 96471816 bytes
Database Buffers 54525952 bytes
Redo Buffers 7090176 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF'
2.先用控制文件把数据库启来再说
SYS@huiches>alter database backup controlfile to trace;
数据库已更改。
已用时间: 00: 00: 00.40s
SYS@huiches>shutdown immediate;
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SYS@huiches>STARTUP NOMOUNT
ORACLE 例程已经启动。
Total System Global Area 159383552 bytes
Fixed Size 1295608 bytes
Variable Size 96471816 bytes
Database Buffers 54525952 bytes
Redo Buffers 7090176 bytes
SYS@huiches>CREATE CONTROLFILE REUSE DATABASE "HUICHES" RESETLOGS FORCE LOGGING NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 2337
7 LOGFILE
8 GROUP 4 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\REDO04.LOG' SIZE 10M,
9 GROUP 5 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\REDO05.LOG' SIZE 10M,
10 GROUP 6 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\REDO06.LOG' SIZE 10M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSTEM01.DBF',
14 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\UNDODATA01.DBF',
15 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSAUX01.DBF',
16 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS02.DBF',
17 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\INDX01.DBF',
18 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\CATALOG.DBF'
19 CHARACTER SET AL32UTF8
20 ;
控制文件已创建。
已用时间: 00: 00: 01.11
SYS@huiches>alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: ??????????? RESETLOGS ? NORESETLOGS ??
已用时间: 00: 00: 00.20
SYS@huiches>alter database open resetlogs;
数据库已更改。
已用时间: 00: 00: 17.42
3.检查到有一个文件需要恢复
SYS@huiches>select * from v$recover_file;
FILE# ONLINE ONLINE_STATUS ERROR CHANGE# TIME
---------- -------------- -------------- ----------------------------------------------------------------- ---------- --------------
6 OFFLINE OFFLINE FILE MISSING 0
已用时间: 00: 00: 00.06
4.检查到文件丢失信息
SYS@huiches>select * from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS RELATIVE_FNO AUTOEX MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ON
------------------------------------------------------------ ---------- -------------------- ---------- ---------- ------------------------------------------------------------ ------------ ------ ---------- ---------- ------------ ---------- ----------- --
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\CATALOG.DBF 8 TOOLS 20971520 2560 AVAILABLE 8 NO 0 0 0 20905984 2552 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\INDX01.DBF 5 INDX 20971520 2560 AVAILABLE 5 YES 3.4360E+10 4194302 13 20905984 2552 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS02.DBF 4 USERS 528220160 64480 AVAILABLE 4 YES 3.4360E+10 4194302 160 528154624 64472 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSAUX01.DBF 3 SYSAUX 325058560 39680 AVAILABLE 3 YES 3.4360E+10 4194302 1280 324993024 39672 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\UNDODATA01.DBF 2 UNDO01 104857600 12800 AVAILABLE 2 YES 3.4360E+10 4194302 128 104792064 12792 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSTEM01.DBF 1 SYSTEM 912261120 111360 AVAILABLE 1 YES 3.4360E+10 4194302 1280 912195584 111352 SY
D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00006 6 USERS AVAILABLE 6 RE
已选择7行。
已用时间: 00: 00: 00.12
5.尝试重命名数据文件
SYS@huiches>alter database rename datafile 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00006' to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF';
alter database rename datafile 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00006' to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF'
*
第 1 行出现错误:
ORA-02231: ALTER DATABASE ?????????????????????
已用时间: 00: 00: 00.03
SYS@huiches>alter database rename file 'D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00006' to 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF';
数据库已更改。
已用时间: 00: 00: 00.15
SYS@huiches> select * from v$recover_file;
FILE# ONLINE ONLINE_STATUS ERROR CHANGE# TIME
---------- -------------- -------------- ----------------------------------------------------------------- ---------- --------------
6 OFFLINE OFFLINE UNKNOWN ERROR 166743763 08-4? -10
已用时间: 00: 00: 00.07
6.尝试把文件6上线
SYS@huiches>alter database datafile 6 online;
alter database datafile 6 online
*
第 1 行出现错误:
ORA-01190: ??????????????????????????? 6 ?????????????????? RESETLOGS ??????
ORA-01110: ???????????? 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF'
已用时间: 00: 00: 00.07
SYS@huiches>alter session set nls_language='american';
Session altered.
Elapsed: 00:00:00.01
SYS@huiches>alter database datafile 6 online;
alter database datafile 6 online
*
ERROR at line 1:
ORA-01190: control file or data file 6 is from before the last RESETLOGS
ORA-01110: data file 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF'
Elapsed: 00:00:00.09
7.控制文件或文件6不在同一个resetlogs版本,尝试手动调整SCN,手动调整SCN,以后必须用resetlogs模式打开数据库,所以需要设置_allow_resetlogs_corruption=true
SYS@huiches> ALTER SESSION SET EVENTS 'IMMEDIATE TRACE NAME ADJUST_SCN LEVEL 1';
Session altered.
Elapsed: 00:00:00.45
SYS@huiches> select * from v$recover_file;
FILE# ONLINE ONLINE_STATUS ERROR CHANGE# TIME
---------- -------------- -------------- ----------------------------------------------------------------- ---------- ------------
6 OFFLINE OFFLINE UNKNOWN ERROR 166743763 08-APR-10
Elapsed: 00:00:00.06
SYS@huiches>show parameter _allow_resetlogs_corruption
SYS@huiches>alter system set "_allow_resetlogs_corruption"=true scope=spfile;
System altered.
Elapsed: 00:00:00.06
SYS@huiches>shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SYS@huiches>startup mount;
ORACLE instance started.
Total System Global Area 159383552 bytes
Fixed Size 1295608 bytes
Variable Size 96471816 bytes
Database Buffers 54525952 bytes
Redo Buffers 7090176 bytes
数据库装载完毕。
SYS@huiches>recover database until cancel;
完成介质恢复。
8.完成介质恢复. 上面这一步很重要, 虽然不做这个操作也能打开数据库,但是我们是要用RESETLOGS来打开数据库,然后将数据文件状态联机:
SYS@huiches>alter database datafile 6 online;
数据库已更改。
已用时间: 00: 00: 00.09
SYS@huiches>select * from v$recover_file;
FILE# ONLINE ONLINE_STATUS ERROR CHANGE# TIME
---------- -------------- -------------- ----------------------------------------------------------------- ---------- --------------
6 ONLINE ONLINE UNKNOWN ERROR 166743763 08-4月 -10
已用时间: 00: 00: 00.14
SYS@huiches>alter database open resetlogs;
数据库已更改。
已用时间: 00: 00: 15.04
9.数据库成功启动,一切正常
SYS@huiches>select * from v$recover_file;
未选定行
已用时间: 00: 00: 00.06
SYS@huiches>select * from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME BYTES BLOCKS STATUS RELATIVE_FNO AUTOEX MAXBYTES MAXBLOCKS INCREMENT_BY USER_BYTES USER_BLOCKS ON
------------------------------------------------------------ ---------- -------------------- ---------- ---------- ------------------------------------------------------------ ------------ ------ ---------- ---------- ------------ ---------- ----------- --
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\CATALOG.DBF 8 TOOLS 20971520 2560 AVAILABLE 8 NO 0 0 0 20905984 2552 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\INDX01.DBF 5 INDX 20971520 2560 AVAILABLE 5 YES 3.4360E+10 4194302 13 20905984 2552 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS02.DBF 4 USERS 528220160 64480 AVAILABLE 4 YES 3.4360E+10 4194302 160 528154624 64472 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSAUX01.DBF 3 SYSAUX 325058560 39680 AVAILABLE 3 YES 3.4360E+10 4194302 1280 324993024 39672 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\UNDODATA01.DBF 2 UNDO01 104857600 12800 AVAILABLE 2 YES 3.4360E+10 4194302 128 104792064 12792 ON
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\SYSTEM01.DBF 1 SYSTEM 912261120 111360 AVAILABLE 1 YES 3.4360E+10 4194302 1280 912195584 111352 SY
D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\USERS03.DBF 6 USERS 180879360 22080 AVAILABLE 6 NO 0 0 0 180813824 22072 ON
已选择7行。
已用时间: 00: 00: 00.14
SYS@huiches>select * from dba_temp_files;
未选定行
已用时间: 00: 00: 00.09
SYS@huiches>ALTER TABLESPACE TEMP01 ADD TEMPFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\HUICHES\TEMP02.DBF' REUSE;
表空间已更改。
已用时间: 00: 00: 00.34
已用时间: 00: 00: 00.04
10.reset _allow_resetlogs_corruption
SYS@huiches>alter system reset "_allow_resetlogs_corruption" scope=spfile sid='*';
系统已更改。
已用时间: 00: 00: 00.04
发表评论
-
Oracle数据恢复 - Linux / Unix 误删除的文件恢复
2012-03-22 15:09 991今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级 ... -
Oracle数据库恢复:存储故障导致的数据损坏(摘抄自eygle)
2010-12-03 22:56 1160最近帮助用户恢复了一个由于存储故障导致的数据库灾难,整个数据库 ... -
RMAN: RAC Backup and Recovery using RMAN [ID 243760.1] Metalink
2010-05-14 16:19 1604"Checked for relevance on ... -
undo 表空间丢失之恢复(ORA-01548)
2010-04-13 17:31 1790SYS@huiche>startupORACLE 例程已 ... -
数据库非归档模式下丢失所有redo log 的恢复记录
2010-04-08 00:06 1481SYS@huiches>startup ... -
利用Flashback Query 恢复误操作的数据
2009-12-09 13:58 1186利用Flashback Query 恢复误操作的数据 Au ... -
Oralce 数据库的灾难恢复
2009-08-20 17:05 1207数据库管理员应针对具 ... -
rman使用小记
2009-08-07 17:04 19531. Introduction to Recovery Man ... -
Linux ORACLE RAC 10201升级10203
2009-07-21 22:38 1876一.准备工作 1.有效备份 作好对ORACL ... -
配置归档日志,让数据库管理更加顺畅
2009-07-20 14:54 1744一、更改日志操作模式 ... -
oracle备份--redo丢失与恢复(一)
2009-07-18 22:39 2122一、先阐述下测试环 ...
相关推荐
【Oracle 10g 服务器断电恢复】 在IT领域,数据库系统的稳定性和可靠性至关重要,...此外,为防止类似事件发生,建议对关键系统配置 UPS,同时保持数据库在归档模式下运行,以便在断电或灾难发生时有更多的恢复选项。
本文将通过一个具体的案例来探讨如何处理非归档模式下System表空间损坏的问题,并尝试恢复数据库。 #### 二、故障现象 根据给定的部分内容来看,数据库管理员尝试启动一个处于非归档模式下的Oracle 11g数据库时...
在Oracle数据库环境中,当遇到"ORA-01196: 文件 1 由于介质恢复会话失败而不一致"的错误时,这通常意味着数据库在尝试打开时发现数据文件的状态不正常,可能是因为数据文件损坏或者缺少必要的归档日志进行恢复。...
下面详细介绍一种适用于非归档模式数据库的解决方案: 1. **确定损坏的段**:首先,需确认损坏的块属于哪个段,是表还是索引。这一步骤可以通过分析`alert<sid>.log`日志中的错误信息,以及执行如下SQL查询来实现:...
在执行Export时,数据库需处于打开状态,且处于归档模式。备份方式有Full(整个数据库)、Table(指定表)和User(指定用户的所有对象)。本文提及的实践案例中,选择了User模式进行备份。 2. **创建备份目录**:在...
3. 问题修复:处理常见的Oracle错误,如ORA-00001、ORA-01555等,学习如何解决数据不一致、数据丢失等问题。 4. 性能诊断:通过AWR(Automatic Workload Repository)和ASH(Active Session History)报告,进行性能...
根据给定文件的信息,我们可以提炼出与Oracle数据库相关的多个知识点,包括错误代码的理解、自动负载信息库(AWR)的功能、索引优化策略以及不同运行模式下的备份操作。以下是详细的知识点解析: ### 1. ORA-01555:...
这需要在数据库处于归档模式下,并且有足够的备份和联机重做日志来执行完整恢复。 在数据库打开后,新的错误开始出现,比如"ORA-00600: internal error code, arguments: [17147]",这表明还有其他数据块或系统组件...
Oracle数据库使用归档日志模式(Archived Log Mode)和联机重做日志(Online Redo Log Files)来确保数据的安全性。联机重做日志由一组日志文件组成,每个组包含多个成员,确保在日志切换时提供冗余和连续性。当...
Oracle提供RMAN(恢复管理器)进行备份和恢复操作,同时,了解如何配置归档日志模式以及使用Flashback技术对数据进行恢复也是关键。 3. **故障排查**:当数据库出现错误或异常时,DBA需要能快速识别错误代码并找到...
- 恢复操作可能会遇到ORA错误代码,如ORA-00279、ORA-00289等,这些通常提示需要特定的归档日志进行恢复。 ### 结论 Oracle数据库的数据文件恢复是一个复杂但至关重要的过程,特别是在面对数据丢失或损坏时。通过...
如果数据库处于归档模式,可能还需要额外的步骤来恢复归档日志。 总之,Oracle控制文件的重建是一个关键的故障恢复过程,需要仔细操作,避免进一步的数据损失。通过理解控制文件的作用,识别错误代码,以及熟练掌握...
了解冷备份、热备份、逻辑备份以及归档日志模式的概念,确保数据安全。 10. **性能监控**:利用Oracle的性能监控工具如V$视图、SQL*Plus的性能报告(如ASH、AWR、STATSPACK)来定期检查数据库状态,及时发现和解决...
本文将详细介绍一种特殊情况下的Oracle数据库物理文件恢复流程——当数据库未开启归档模式且没有备份时,如何通过一系列操作尝试恢复数据。 #### 二、故障情景 本次案例中,一台服务器由于意外停电导致数据库服务...
恢复数据库(`recover database`),切换归档模式(`alter database archivelog`),限制会话(`restricted session`),创建新数据库(`create database`),以及将数据库恢复到特定时间点(`recover database until`)等。...
本案例主要讨论的是如何解决由于数据文件初始化过大而导致的磁盘空间不足问题。 一、错误信息分析 错误信息“ORA-00257: archiver error. Connect internal only, until freed.”表明数据库的归档日志功能遇到了...