oracle data file header replace(測)
SQL> create tablespace rm_tbs datafile 'f1.dbf' size 10m;
Tablespace created.
SQL> select file#,name from v$datafile;
[oracle@VSZ-ORCLE-jftest ~]$ rm /home/oracle/product/10g/dbs/f1.dbf
[oracle@VSZ-ORCLE-jftest ~]$ exit
exit
SQL> select file#,name from v$datafile;
13 /home/oracle/product/10g/dbs/f1.dbf
13 rows selected.
SQL> alter tablespace rm_tbs add datafile 'f2.dbf' size 10m;
Tablespace altered.
SQL> select file#,name from v$datafile;
13 /home/oracle/product/10g/dbs/f1.dbf
14 /home/oracle/product/10g/dbs/f2.dbf
14 rows selected.
SQL> shutdown immediate
ORA-03113: end-of-file on communication channel
[oracle@VSZ-ORCLE-jftest ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.5.0 - Production on Fri Jul 25 09:37:29 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 2147483648 bytes
Fixed Size 2097656 bytes
Variable Size 654315016 bytes
Database Buffers 1476395008 bytes
Redo Buffers 14675968 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 13 - see DBWR trace file
ORA-01110: data file 13: '/home/oracle/product/10g/dbs/f1.dbf'
SQL>
SQL> select file#||' '||name||' '||bytes from v$datafile;
11 /home/oracle/product/10g/dbs/datafile2.dbf 10485760
12 /home/oracle/product/10g/dbs/system_audit_01.dbf 104857600
13 /home/oracle/product/10g/dbs/f1.dbf 10485760
14 /home/oracle/product/10g/dbs/f2.dbf 10485760
Database mounted.
ORA-01122: database file 13 failed verification check
ORA-01110: data file 13: '/home/oracle/product/10g/dbs/f1.dbf'
ORA-01204: file number is 14 rather than 13 - wrong file
############################## bbed --rdba_kcbh
BBED> map /v
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Dba:0x03400001 --正确数据
------------------------------------------------------------
BBED> p kcvfhbfh
struct kcvfhbfh, 20 bytes @0
ub1 type_kcbh @0 0x0b
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x03800001 --错误数据:
ub4 bas_kcbh @8 0x00000000
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0x01
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0xd060
ub2 spare3_kcbh @18 0x0000
BBED> sum apply
Check value for File 13, Block 1:
current = 0xd0a0, required = 0xd0a0
############################## bbed --kcvfhrfn
BBED> show
FILE# 13
BLOCK# 1
OFFSET 368
DBA 0x03400001 (54525953 13,1)
FILENAME /home/oracle/product/10g/dbs/f1.dbf
BIFILE bifile.bbd
LISTFILE /home/oracle/hjbbed/bbedlist
BLOCKSIZE 8192
MODE Edit
EDIT Unrecoverable
IBASE Dec
OBASE Dec
WIDTH 80
COUNT 512
LOGFILE log.bbd
SPOOL No
BBED> dump
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 368 to 879 Dba:0x03400001
------------------------------------------------------------------------
0e000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 3892b92a 01000000 00000000 00000000
BBED> modify /x 0d
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 368 to 879 Dba:0x03400001
------------------------------------------------------------------------
0d000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 3892b92a 01000000 00000000 00000000
BBED> sum apply
Check value for File 13, Block 1:
current = 0xd0a3, required = 0xd0a3
############################## bbed --kccfhfno
BBED> p kcvfhhdr
struct kcvfhhdr, 76 bytes @20
ub4 kccfhswv @20 0x00000000
ub4 kccfhcvn @24 0x0a200500
ub4 kccfhdbi @28 0x07e116ae
text kccfhdbn[0] @32 T
text kccfhdbn[1] @33 E
text kccfhdbn[2] @34 X
text kccfhdbn[3] @35 T
text kccfhdbn[4] @36
text kccfhdbn[5] @37
text kccfhdbn[6] @38
text kccfhdbn[7] @39
ub4 kccfhcsq @40 0x000091ad
ub4 kccfhfsz @44 0x00000500
s_blkz kccfhbsz @48 0x00
ub2 kccfhfno @52 0x000e
############################## bbed --kscnbas
BBED> modify /x 0d
Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 52 to 563 Dba:0x03400001
------------------------------------------------------------------------
0d000300 00000000 00000000 00000000 00000000 00000000 00000000 00000000
BBED> p kcvfhcrs
struct kcvfhcrs, 8 bytes @100
ub4 kscnbas @100 0x01addf00
ub2 kscnwrp @104 0x0000
BBED> set offset 100
OFFSET 100
BBED> dump
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 100 to 611 Dba:0x03400001
------------------------------------------------------------------------
00dfad01 00000000 378ee432 b01a642f a9ec0500 00000000 00000000 00000000
00000000 00000400 02000000 00000000 01000000 00000000 00000000 00000000
BBED> modify /x cc
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 100 to 611 Dba:0x03400001
------------------------------------------------------------------------
ccdfad01 00000000 378ee432 b01a642f a9ec0500 00000000 00000000 00000000
BBED> sum apply
############################## bbed --kscnbas
SQL> alter database datafile 13 online;
alter database datafile 13 online
*
ERROR at line 1:
ORA-01122: database file 13 failed verification check
ORA-01110: data file 13: '/home/oracle/product/10g/dbs/f1.dbf'
ORA-01202: wrong incarnation of this file - wrong creation time
############################## bbed --kcvfhcrt
BBED> p kcvfhcrt
ub4 kcvfhcrt @108 0x32e48e37
BBED> set offset 108
OFFSET 108
BBED> dump
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 108 to 619 Dba:0x03400001
------------------------------------------------------------------------
378ee432 b01a642f a9ec0500 00000000 00000000 00000000 00000000 00000400
02000000 00000000 01000000 00000000 00000000 00000000 00000000 00000000
BBED> modify /x 8d
File: /home/oracle/product/10g/dbs/f1.dbf (13)
Block: 1 Offsets: 109 to 620 Dba:0x03400001
------------------------------------------------------------------------
8de432b0 1a642fa9 ec050000 00000000 00000000 00000000 00000000 00040002
00000000 00000001 00000000 00000000 00000000 00000000 00000000 00000000
BBED> sum apply
Check value for File 13, Block 1:
current = 0xd2b3, required = 0xd2b3
SQL> select file#,to_char(creation_time,'yyyymmdd hh24miss') from v$datafile;
12 20140709 153030
13 20140725 093536
14 20140725 093655
SQL> alter database datafile 13 online;
alter database datafile 13 online
ERROR at line 1:
ORA-01113: file 13 needs media recovery if it was restored from backup, or END 【不重新启动server可能没这个问题】
BACKUP if it was not
ORA-01110: data file 13: '/home/oracle/product/10g/dbs/f1.dbf'
SQL> recover datafile 13;
Media recovery complete.
SQL> alter database datafile 13 online;
Database altered.
--时间信息换算例如以下:
SELECT TO_NUMBER('32e48e37','XXXXXXXX') from dual
853839415 --十进制
26 06 24 09 36 55--差异天数
时间原来这样算
select 26*12*31*24*60*60 --年
+6*31*24*60*60+ --月
24*24*60*60+ --天
9*60*60+ --小时
36*60 --分钟
+55 from dual --s
20140725 093536
26 06 24 09 35 36--差异天数
select 26*12*31*24*60*60 --年
+6*31*24*60*60+ --月
24*24*60*60+ --天
9*60*60+ --小时
35*60 --分钟
+36 from dual --s
853839336
select to_char(853839336,'XXXXXXXX') from dual -- 32E48DE8 文件13创建时间
select to_char(853839415,'XXXXXXXX') from dual -- 32E48E37
SELECT TO_NUMBER('32E48DE8','XXXXXXXX') from dual
853839336
---
01addf00
SELECT TO_NUMBER('01addf00','XXXXXXXX') from dual
--28172032
select to_char(28172032,'XXXXXXXX') from dual
--1ADDF00
select to_char(28171980,'XXXXXXXX') from dual
-- 1ADDECC
--这个实验告诉我们,实验要自己做。做了才知道哪一步非常重要..
其它
须要调整的是:
ub4 rdba_kcbh @4 ---data block address
ub2 kccfhfno @52 ---file number
ub4 kscnbas @100 ---scn bas
ub4 kcvfhcrt @108 ---file create time
ub4 kcvfhrfn @368 ---reference file number
oracle data file header replace(測)的更多相关文章
- 改动file header (測)
--改动file header ------------------------------------------------------------------------- cd $ORACLE ...
- Oracle bbed 实用示例-----File Header Reset
一.查看当前环境 1.1 当前控制文件中的SCN号 [oracle@ora10 ~]$ sqlplus /nolog SQL :: Copyright (c) , , Oracle. All righ ...
- ORA-01578 ORACLE data block corrupted (file # 29, block # 2889087)
BW数据库后台报错如下:F:\oracle\SBP\saptrace\diag\rdbms\sbp\sbp\trace ORA-01578: ORACLE data block corrupted ( ...
- 【Oracle】IMP-00010: not a valid export file, header failed verification
别人给了一个Oracle文件,结果在导入的时候发现有问题,报错如下: IMP-00010: not a valid export file, header failed verification 在网 ...
- ORA-01146: cannot start online backup - file 1 is already in backup ORA-01110: data file 1: 'C:\ORACLE\ORADATA\ORCL8\SYSTEM01.DBF'
问题: Error: [1146] ORA-01146: cannot start online backup - file 1 is already in backup ORA-01110: dat ...
- 【Oracle】ORA-01157: cannot identify/lock data file 201 - see DBWR trace file
今天数据库在查询数据的时候显示了这个错误: ORA-01157: cannot identify/lock data file 201 - see DBWR trace file ORA-01110: ...
- ORA-01578: ORACLE data block corrupted (file # 3, block # 1675)
警告日志中发现如下报错信息: ORA-01578: ORACLE data block corrupted (file # 3, block # 1675)ORA-01110: data file 3 ...
- oracle 导入报错:field in data file exceeds maximum length
今天用sqlldr导入数据时候报错: " Record 1: Rejected - Error on table ks_test, column khname.Field in data f ...
- 转 使用隐含Trace参数诊断Oracle Data Pump故障
http://blog.itpub.net/17203031/viewspace-772718/ Data Pump数据泵是Oracle从10g开始推出的,用于取代传统exp/imp工具的数据备份还原 ...
随机推荐
- wxBot微信机器人框架(转)
原文:http://blog.csdn.net/tobacco5648/article/details/50722321 wxBot 是Python包装Web微信实现的微信机器人框架.可以很容易地实现 ...
- linux中直接进行系统调用和通过C库调用的示例
深入了解LINUX,这方面内容不可少,这段时间再补补.. #include <syscall.h> #include <unistd.h> #include <stdio ...
- Visual Studio Code更改语言
参数地址:Visual Studio Code 设置Display Language介绍 在Visual Studio Code中使用快捷键Ctrl + Shift + P可以打开命令行 在local ...
- 对DDD中领域服务的理解
CZ 能不能清晰具体区分service和实体的区别 网上有人用DCI来解决 不知道对不对 STST 我复习下DDD中的服务的概念了参与讨论啊CZ 这个我也看过 但是太过于笼统 STST STST 复习 ...
- Codeforces 868A Bark to Unlock【字符串+二维string输入输出+特判】
A. Bark to Unlock time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- Spring Cloud 常用依赖
<!-- 将微服务provider侧注册进eureka --> <dependency> <groupId>org.springframework.cloud< ...
- Python3 字典(map)
ayout: post title: Python3 字典(map) author: "luowentaoaa" catalog: true tags: mathjax: true ...
- ZOJ 2112 Dynamic Rankings (动态第 K 大)(树状数组套主席树)
Dynamic Rankings Time Limit: 10 Seconds Memory Limit: 32768 KB The Company Dynamic Rankings has ...
- 【递归】先修课 计算概论(A) / 函数递归练习(3)2:分解因数
#include<cstdio> using namespace std; bool is_prime(int x) { ;i*i<=x;i++) ) return false; r ...
- 1.7(java学习笔记)package和import
package package主要用于管理类,在java中同一个包下不能有相同的类名,可有时项目总会出现很多同名的类,这时就需要通过包来管理类.不同的包下可以有相同的类名. 包就有点类似于文件夹,不同 ...