标签云
asm 恢复 asm恢复 bbed bootstrap$ dul In Memory kcbzib_kcrsds_1 kccpb_sanity_check_2 kfed MySQL恢复 ORA-00312 ORA-00607 ORA-00704 ORA-01110 ORA-01555 ORA-01578 ORA-08103 ORA-600 2662 ORA-600 2663 ORA-600 3020 ORA-600 4000 ORA-600 4137 ORA-600 4193 ORA-600 4194 ORA-600 16703 ORA-600 kcbzib_kcrsds_1 ORA-600 KCLCHKBLK_4 ORA-15042 ORA-15196 ORACLE 12C oracle dul ORACLE PATCH Oracle Recovery Tools oracle加密恢复 oracle勒索 oracle勒索恢复 oracle异常恢复 ORACLE恢复 Oracle 恢复 ORACLE数据库恢复 oracle 比特币 OSD-04016 YOUR FILES ARE ENCRYPTED 勒索恢复 比特币加密文章分类
- Others (2)
- 中间件 (2)
- WebLogic (2)
- 操作系统 (100)
- 数据库 (1,597)
- DB2 (22)
- MySQL (70)
- Oracle (1,463)
- Data Guard (49)
- EXADATA (7)
- GoldenGate (21)
- ORA-xxxxx (158)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (13)
- ORACLE 21C (3)
- Oracle ASM (65)
- Oracle Bug (7)
- Oracle RAC (47)
- Oracle 安全 (6)
- Oracle 开发 (27)
- Oracle 监听 (27)
- Oracle备份恢复 (530)
- Oracle安装升级 (84)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (75)
- PostgreSQL (17)
- PostgreSQL恢复 (5)
- SQL Server (27)
- SQL Server恢复 (8)
- TimesTen (7)
- 达梦数据库 (2)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (36)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (19)
-
最近发表
- Oracle 19c/21c最新patch信息-202404
- PostgreSQL恢复系列:pg_filedump批量处理
- PostgreSQL部分主要字典信息
- PostgreSQL恢复系列:pg_filedump恢复字典构造
- PostgreSQL 16 源码安装
- ORA-00742 ORA-00312 恢复
- 数据库open成功后报ORA-00353 ORA-00354错误引起的一系列问题(本质ntfs文件系统异常)
- ORA-600 ktsiseginfo1故障
- ORA-00600: internal error code, arguments: [16703], [1403], [4] 原因
- 最近遇到几起ORA-600 16703故障(tab$被清空),请引起重视
- ORA-600 2662快速恢复之Patch scn工具
- TNS-12518: TNS:listener could not hand off client connection
- ora.storage无法启动报ORA-12514故障处理
- 断电引起文件scn异常数据库恢复
- ORA-16188: LOG_ARCHIVE_CONFIG settings inconsistent with previously started instance
- .[hudsonL@cock.li].mkp勒索加密数据库完美恢复
- 模拟带库实现rman远程备份
- 又一例:ORA-600 kclchkblk_4和2662故障
- Oracle误删除数据文件恢复
- Oracle 19C 备库DML重定向—DML Redirection
月归档:十二月 2014
主机断电系统回到N年前数据库报ORA-600 kcm_headroom_warn_1错误
主机断电导致系统时间回退到14年前,数据库启动报ORA-600[kcm_headroom_warn_1]错误
Sat Jun 21 17:49:12 2014 ---正常系统时间 Instance shutdown complete Mon Aug 07 06:13:28 2000 ---重启后系统时间 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Initial number of CPU is 64 Effective number of CPU for internal database sizing is 32 Number of processor cores in the system is 8 Number of processor sockets in the system is 1 CELL communication is configured to use 0 interface(s): CELL IP affinity details: NUMA status: non-NUMA system cellaffinity.ora status: N/A CELL communication will use 1 IP group(s): Grp 0: Picked latch-free SCN scheme 3 Autotune of undo retention is turned on. IMODE=BR ILAT =264 LICENSE_MAX_USERS = 0 SYS auditing is disabled Starting up: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options. ORACLE_HOME = /ora1/prod/db/tech_st/11.2.0 System name: SunOS Node name: erpdb1-boot Release: 5.10 Version: Generic_147147-26 Machine: sun4v Using parameter settings in server-side spfile /ora1/prod/db/tech_st/11.2.0/dbs/spfileprod.ora System parameters with non-default values: processes = 1200 sessions = 2400 timed_statistics = TRUE event = "" shared_pool_size = 448M shared_pool_reserved_size= 322122547 nls_language = "american" nls_territory = "america" nls_sort = "binary" nls_date_format = "DD-MON-RR" nls_numeric_characters = ".," nls_comp = "binary" nls_length_semantics = "BYTE" sga_target = 10G control_files = "/data1/prod/db/apps_st/data/cntrl01.dbf" control_files = "/data1/prod/db/apps_st/data/cntrl02.dbf" control_files = "/data1/prod/db/apps_st/data/cntrl03.dbf" db_block_checksum = "TRUE" db_block_size = 8192 compatible = "11.1.0" log_archive_dest_1 = "location=/arch1/prod/arch" log_archive_format = "prod_%t_%s_%r.arc" log_buffer = 10485760 log_checkpoint_interval = 100000 log_checkpoint_timeout = 1200 db_files = 512 log_checkpoints_to_alert = TRUE dml_locks = 10000 undo_management = "AUTO" undo_tablespace = "APPS_UNDOTS1" db_block_checking = "FALSE" _disable_fast_validate = TRUE sec_case_sensitive_logon = FALSE session_cached_cursors = 500 utl_file_dir = "/usr/tmp" plsql_code_type = "INTERPRETED" plsql_optimize_level = 2 job_queue_processes = 10 _system_trig_enabled = TRUE cursor_sharing = "EXACT" parallel_min_servers = 0 parallel_max_servers = 8 audit_file_dest = "/ora1/prod/db/tech_st/admin/prod/adump" db_name = "prod" open_cursors = 3600 _sort_elimination_cost_ratio= 5 _b_tree_bitmap_plans = FALSE _fast_full_scan_enabled = FALSE query_rewrite_enabled = "true" _like_with_bind_as_equality= TRUE pga_aggregate_target = 2G workarea_size_policy = "AUTO" _optimizer_autostats_job = FALSE optimizer_secure_view_merging= FALSE aq_tm_processes = 4 olap_page_pool_size = 4M diagnostic_dest = "/ora1/prod/db/tech_st/11.2.0/admin/prod_erpdb1" _trace_files_public = TRUE max_dump_file_size = "20480" Mon Aug 07 06:13:30 2000 PMON started with pid=2, OS id=3556 Mon Aug 07 06:13:30 2000 PSP0 started with pid=3, OS id=3557 Mon Aug 07 06:13:31 2000 VKTM started with pid=4, OS id=3558 at elevated priority VKTM running at (10)millisec precision with DBRM quantum (100)ms Mon Aug 07 06:13:31 2000 GEN0 started with pid=5, OS id=3562 Mon Aug 07 06:13:32 2000 DIAG started with pid=6, OS id=3564 Mon Aug 07 06:13:32 2000 DBRM started with pid=7, OS id=3565 Mon Aug 07 06:13:32 2000 DIA0 started with pid=8, OS id=3566 Mon Aug 07 06:13:32 2000 MMAN started with pid=9, OS id=3567 Mon Aug 07 06:13:32 2000 DBW0 started with pid=10, OS id=3568 Mon Aug 07 06:13:32 2000 DBW1 started with pid=11, OS id=3569 Mon Aug 07 06:13:32 2000 DBW2 started with pid=12, OS id=3570 Mon Aug 07 06:13:32 2000 DBW3 started with pid=13, OS id=3571 Mon Aug 07 06:13:32 2000 LGWR started with pid=14, OS id=3572 at elevated priority Mon Aug 07 06:13:32 2000 CKPT started with pid=15, OS id=3575 Mon Aug 07 06:13:32 2000 SMON started with pid=16, OS id=3576 Mon Aug 07 06:13:32 2000 RECO started with pid=17, OS id=3577 Mon Aug 07 06:13:32 2000 MMON started with pid=18, OS id=3578 Mon Aug 07 06:13:32 2000 MMNL started with pid=19, OS id=3579 ORACLE_BASE not set in environment. It is recommended that ORACLE_BASE be set in the environment Reusing ORACLE_BASE from an earlier startup = /ora1/prod/db/tech_st Mon Aug 07 06:13:32 2000 ALTER DATABASE MOUNT Successful mount of redo thread 1, with mount id 4111810188 Database mounted in Exclusive Mode Lost write protection disabled Completed: ALTER DATABASE MOUNT Mon Aug 07 06:13:36 2000 ALTER DATABASE OPEN ************************************************************ Warning: The SCN headroom for this database is only -51464 hours! ************************************************************ Errors in file /ora1/prod/db/tech_st/11.2.0/admin/prod_erpdb1/diag/rdbms/prod/prod/trace/prod_ora_3583.trc (incident=441878): ORA-00600: internal error code, arguments: [kcm_headroom_warn_1], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /ora1/prod/db/tech_st/11.2.0/admin/prod_erpdb1/diag/rdbms/prod/prod/incident/incdir_441878/prod_ora_3583_i441878.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Errors in file /ora1/prod/db/tech_st/11.2.0/admin/prod_erpdb1/diag/rdbms/prod/prod/trace/prod_ora_3583.trc: ORA-00600: internal error code, arguments: [kcm_headroom_warn_1], [], [], [], [], [], [], [], [], [], [], [] ORA-600 signalled during: ALTER DATABASE OPEN... Dumping diagnostic data in directory=[cdmp_20000807061339], requested by (instance=1, osid=3583), summary=[incident=441878]. Mon Aug 07 06:14:35 2000 Sweep [inc][441878]: completed Sweep [inc2][441878]: completed
在数据库出现莫名其妙问题不能启动之时,请注意主机时间,另外还有一例:记录一次ORA-00600[2252]故障解决
ORA-01157: cannot identify/lock data file导致表空间无法online
朋友和我聊到一个案例,一个表空间本来有一个数据文件(已经有大量数据进入),然后他加入7个数据文件,这个时候他发现他加多了文件,想删除这些数据文件,可是又不怎么懂数据库,直接offline 表空间,然后rm掉相关数据文件,最后表空间无法online.我对其场景进行了模拟恢复测试,使用bbed和dul对其进行恢复
模拟场景
表空间有一个数据文件,里面有数据,然后加入一个新数据文件,进入offline tbs,然后rm数据文件
offline表空间后,该表空间存在的数据文件也会offline
SQL> create tablespace xifenfei datafile 2 '/u01/oracle/ora9i/oradata/xifenfei01.dbf' size 10M autoextend on next 16M; Tablespace created. SQL> create table chf.t_xifenfei01 tablespace xifenfei 2 as select * from dba_objects; Table created. SQL> create table chf.t_xifenfei02 tablespace xifenfei 2 as select * from dba_tables; Table created. SQL> SELECT COUNT(*) FROM CHF.T_XIFENFEI01; COUNT(*) ---------- 30758 SQL> C/01/02 1* SELECT COUNT(*) FROM CHF.T_XIFENFEI02 SQL> / COUNT(*) ---------- 865 SQL> select tablespace_name,segment_name from dba_segments 2 where segment_name like 'T_XIFENFEI%'; TABLESPACE_NAME SEGMENT_NAME ------------------------------ ------------------------- XIFENFEI T_XIFENFEI01 XIFENFEI T_XIFENFEI02 SQL> ALTER tablespace xifenfei add datafile 2 '/u01/oracle/ora9i/oradata/xifenfei02.dbf' size 16m; Tablespace altered. SQL> alter tablespace xifenfei offline; Tablespace altered. SQL> select file#,status$ from file$; FILE# STATUS$ ---------- ---------- 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 12 rows selected. SQL> set pages 1000 SQL> / FILE# STATUS$ ---------- ---------- 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 2 10 2 11 2 12 2 12 rows selected. SQL> select file#,status from v$datafile; FILE# STATUS ---------- ------- 1 SYSTEM 2 ONLINE 3 ONLINE 4 ONLINE 5 ONLINE 6 ONLINE 7 ONLINE 8 ONLINE 9 ONLINE 10 ONLINE 11 OFFLINE 12 OFFLINE 12 rows selected. SQL> select file#,status from v$datafile_header; FILE# STATUS ---------- ------- 1 ONLINE 2 ONLINE 3 ONLINE 4 ONLINE 5 ONLINE 6 ONLINE 7 ONLINE 8 ONLINE 9 ONLINE 10 ONLINE 11 OFFLINE 12 OFFLINE 12 rows selected. SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS1 ONLINE TEMP ONLINE CWMLITE ONLINE DRSYS ONLINE EXAMPLE ONLINE INDX ONLINE ODM ONLINE TOOLS ONLINE USERS ONLINE XDB ONLINE XIFENFEI OFFLINE 12 rows selected. SQL> select ts#,name,online$ from ts$; TS# NAME ONLINE$ ---------- ------------------------------ ---------- 0 SYSTEM 1 1 UNDOTBS1 1 2 TEMP 1 3 CWMLITE 1 4 DRSYS 1 5 EXAMPLE 1 6 INDX 1 7 ODM 1 8 TOOLS 1 9 USERS 1 10 XDB 1 11 UNDOTBS2 3 12 XIFENFEI 2 13 rows selected. SQL> col name for a50 SQL> select file#,name from v$datafile; FILE# NAME ---------- -------------------------------------------------- 1 /u01/oracle/ora9i/oradata/ora9i/system01.dbf 2 /u01/oracle/ora9i/oradata/ora9i/undotbs01.dbf 3 /u01/oracle/ora9i/oradata/ora9i/cwmlite01.dbf 4 /u01/oracle/ora9i/oradata/ora9i/drsys01.dbf 5 /u01/oracle/ora9i/oradata/ora9i/example01.dbf 6 /u01/oracle/ora9i/oradata/ora9i/indx01.dbf 7 /u01/oracle/ora9i/oradata/ora9i/odm01.dbf 8 /u01/oracle/ora9i/oradata/ora9i/tools01.dbf 9 /u01/oracle/ora9i/oradata/ora9i/users01.dbf 10 /u01/oracle/ora9i/oradata/ora9i/xdb01.dbf 11 /u01/oracle/ora9i/oradata/xifenfei01.dbf 12 /u01/oracle/ora9i/oradata/xifenfei02.dbf 12 rows selected. SQL> !rm /u01/oracle/ora9i/oradata/xifenfei02.dbf SQL> !ls -l /u01/oracle/ora9i/oradata/xifenfei* -rw-r----- 1 ora9i oinstall 10493952 Dec 25 20:19 /u01/oracle/ora9i/oradata/xifenfei01.dbf SQL> alter tablespace xifenfei online; alter tablespace xifenfei online * ERROR at line 1: ORA-01157: cannot identify/lock data file 12 - see DBWR trace file ORA-01110: data file 12: '/u01/oracle/ora9i/oradata/xifenfei02.dbf'
这里已经构造出来,由于由于数据文件丢失导致表空间online报ORA-01157: cannot identify/lock data file的错误
online存在数据文件
存在的数据文件online之后,表空间依然offline
SQL> alter database datafile 11 online; Database altered. SQL> select file#,status from v$datafile_header; FILE# STATUS ---------- ------- 1 ONLINE 2 ONLINE 3 ONLINE 4 ONLINE 5 ONLINE 6 ONLINE 7 ONLINE 8 ONLINE 9 ONLINE 10 ONLINE 11 ONLINE 12 OFFLINE 12 rows selected. SQL> select file#,status from v$datafile; FILE# STATUS ---------- ------- 1 SYSTEM 2 ONLINE 3 ONLINE 4 ONLINE 5 ONLINE 6 ONLINE 7 ONLINE 8 ONLINE 9 ONLINE 10 ONLINE 11 ONLINE 12 OFFLINE 12 rows selected. SQL> select tablespace_name,status from dba_tablespaces; TABLESPACE_NAME STATUS ------------------------------ --------- SYSTEM ONLINE UNDOTBS1 ONLINE TEMP ONLINE CWMLITE ONLINE DRSYS ONLINE EXAMPLE ONLINE INDX ONLINE ODM ONLINE TOOLS ONLINE USERS ONLINE XDB ONLINE XIFENFEI OFFLINE 12 rows selected. SQL> select ts#,name,online$ from ts$; TS# NAME ONLINE$ ---------- -------------------------------------------------- ---------- 0 SYSTEM 1 1 UNDOTBS1 1 2 TEMP 1 3 CWMLITE 1 4 DRSYS 1 5 EXAMPLE 1 6 INDX 1 7 ODM 1 8 TOOLS 1 9 USERS 1 10 XDB 1 11 UNDOTBS2 3 12 XIFENFEI 2 13 rows selected. SQL> create table chf.t_1 tablespace xifenfei 2 as select * from dual; as select * from dual * ERROR at line 2: ORA-01542: tablespace 'XIFENFEI' is offline, cannot allocate space in it
由于表空间无法online,因此对该表空间分配报ORA-01542错误
使用bbed构造数据文件欺骗数据库
[ora9i@xifenfei tmp]$ dd if=/dev/zero of=/u01/oracle/ora9i/oradata/xifenfei02.dbf > bs=8192 count=2049 2049+0 records in 2049+0 records out BBED> copy file 11 block 1 to file 12 block 1 File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 0 to 511 Dba:0x03000001 ------------------------------------------------------------------------ 0b020000 0100c002 00000000 00000104 1deb0000 00002009 00000008 329bf29e 4f524139 49000000 11010000 00050000 00200000 0b000300 00000000 00000000 <32 bytes per line> BBED> set count 32 COUNT 32 BBED> m /x 0c Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 280 to 311 Dba:0x03000001 ------------------------------------------------------------------------ 0c000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> m /x 0c File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 52 to 83 Dba:0x03000001 ------------------------------------------------------------------------ 0c000300 00000000 00000000 00000000 00000000 00000000 00000000 00000000 <32 bytes per line> BBED> sum apply Check value for File 12, Block 1: current = 0xad21, required = 0xad21 SQL> alter tablespace xifenfei online; alter tablespace xifenfei online * ERROR at line 1: ORA-01122: database file 12 failed verification check ORA-01110: data file 12: '/u01/oracle/ora9i/oradata/xifenfei02.dbf' ORA-01251: Unknown File Header Version read for file number 12 SQL> !oerr ora 01251 01251, 00000, "Unknown File Header Version read for file number %s" // *Cause: Read of the file header returned a record but its version cannot // be identified. Either the header has been corrupted, or the file // is not a valid database file. // *Action: Have the operating system make the correct file available to // the database, or recover the file. BBED> m /x 01000003 Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 4 to 36 Dba:0x03000001 ------------------------------------------------------------------------ 01000003 00000000 00000104 21ad0000 00002009 00000008 329bf29e 4f524139 <32 bytes per line> BBED> sum apply Check value for File 12, Block 1: current = 0xace1, required = 0xace1 SQL> alter tablespace xifenfei online; alter tablespace xifenfei online * ERROR at line 1: ORA-01122: database file 12 failed verification check ORA-01110: data file 12: '/u01/oracle/ora9i/oradata/xifenfei02.dbf' ORA-01203: wrong incarnation of this file - wrong creation SCN BBED> m /x 613B0300 Warning: contents of previous BIFILE will be lost. Proceed? (Y/N) y File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 100 to 131 Dba:0x03000001 ------------------------------------------------------------------------ 613b0300 00000000 f35bb133 f39bae33 b46c0200 00000000 00000000 00000000 <32 bytes per line> BBED> sum apply Check value for File 12, Block 1: current = 0xa0c9, required = 0xa0c9 --提示数据文件scn比控制文件新(由于正常数据文件online过) SQL> alter tablespace xifenfei online; alter tablespace xifenfei online * ERROR at line 1: ORA-01122: database file 12 failed verification check ORA-01110: data file 12: '/u01/oracle/ora9i/oradata/xifenfei02.dbf' ORA-01207: file is more recent than controlfile - old controlfile SQL> set lines 160 SQL> col name for a50 SQL> select ts#,file#,BYTES/1024/1024/1024 status,enabled, 2 to_char(checkpoint_change#,'999999999999999') "SCN", 3 to_char(last_change#,'999999999999999')"STOP_SCN", 4 name from v$datafile; TS# FILE# STATUS ENABLED SCN STOP_SCN NAME ----- --- ---------- ---------- -------- ------------- --------------------------------------------- 0 1 .37109375 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/system01.dbf 1 2 .1953125 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/undotbs01.dbf 3 3 .01953125 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/cwmlite01.dbf 4 4 .01953125 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/drsys01.dbf 5 5 .145874023 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/example01.dbf 6 6 .024414063 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/indx01.dbf 7 7 .01953125 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/odm01.dbf 8 8 .009765625 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/tools01.dbf 9 9 .024414063 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/users01.dbf 10 10 .043945313 READ WRITE 198231 /u01/oracle/ora9i/oradata/ora9i/xdb01.dbf 12 11 .009765625 DISABLED 228353 228353 /u01/oracle/ora9i/oradata/xifenfei01.dbf 12 12 0 DISABLED 213917 213917 /u01/oracle/ora9i/oradata/xifenfei02.dbf 12 rows selected. SQL> set pages 100 SQL> set linesize 150 SQL> select ts#,file#,TABLESPACE_NAME,status, 2 to_char(CREATION_TIME,'yyyy-mm-dd hh24:mi:ss') CREATE_TIME, 3 to_char(checkpoint_change#,'9999999999999999') "SCN", 4 to_char(RESETLOGS_CHANGE#,'9999999999999999') "RESETLOGS SCN",FUZZY from v$datafile_header; 5 TS# FILE# TABLESPACE_NAME STATUS CREATE_TIME SCN RESETLOGS SCN FUZ --- ----- ---------------- ------- ------------------- --------- ----------------- --- 0 1 SYSTEM ONLINE 2004-03-10 12:17:49 198231 158900 YES 1 2 UNDOTBS1 ONLINE 2004-03-10 20:30:20 198231 158900 YES 3 3 CWMLITE ONLINE 2004-03-10 12:18:10 198231 158900 YES 4 4 DRSYS ONLINE 2004-03-10 12:18:11 198231 158900 YES 5 5 EXAMPLE ONLINE 2004-03-10 12:18:12 198231 158900 YES 6 6 INDX ONLINE 2004-03-10 12:18:16 198231 158900 YES 7 7 ODM ONLINE 2004-03-10 12:18:17 198231 158900 YES 8 8 TOOLS ONLINE 2004-03-10 12:18:19 198231 158900 YES 9 9 USERS ONLINE 2004-03-10 12:18:19 198231 158900 YES 10 10 XDB ONLINE 2004-03-10 12:18:20 198231 158900 YES 12 11 XIFENFEI OFFLINE 2014-12-25 17:57:07 228353 158900 NO 0 12 OFFLINE 0 0 12 rows selected. BBED> m /x 9D430300 File: /u01/oracle/ora9i/oradata/xifenfei02.dbf (12) Block: 1 Offsets: 140 to 171 Dba:0x03000001 ------------------------------------------------------------------------ 9d430300 00000000 f670b133 01000000 02000000 fc4e0000 10000000 02000000 <32 bytes per line> BBED> SUM APPLY Check value for File 12, Block 1: current = 0x9982, required = 0x9982 SQL> ALTER TABLESPACE XIFENFEI ONLINE; Tablespace altered.
在bbed的恢复过程中出现以下常见错误:
ORA-01122: database file 12 failed verification check
ORA-01110: data file 12: ‘/u01/oracle/ora9i/oradata/xifenfei02.dbf’
ORA-01251: Unknown File Header Version read for file number 12
这个主要是块号和块地址不一匹配,导致数据库无法识别
ORA-01122: database file 12 failed verification check
ORA-01110: data file 12: ‘/u01/oracle/ora9i/oradata/xifenfei02.dbf’
ORA-01203: wrong incarnation of this file – wrong creation SCN
这个由于数据文件头的创建scn和控制文件以及file$中的记录不一致
ORA-01122: database file 12 failed verification check
ORA-01110: data file 12: ‘/u01/oracle/ora9i/oradata/xifenfei02.dbf’
ORA-01207: file is more recent than controlfile – old controlfile
这个由于正常数据文件online过,或者你构造文件头使用的scn大于需要构造文件在控制文件中记录的scn值
后续处理
SQL> SELECT COUNT(*) FROM CHF.T_XIFENFEI01; COUNT(*) ---------- 30758 SQL> C/01/02 1* SELECT COUNT(*) FROM CHF.T_XIFENFEI02 SQL> / COUNT(*) ---------- 865 SQL> ALTER DATABASE DATAFILE 12 OFFLINE DROP; Database altered.
证明通过bbed,模拟数据文件,使用完美恢复数据内容
dul恢复
SQL> ALTER TABLESPACE XIFENFEI OFFLINE; Tablespace altered. [ora9i@xifenfei dul]$ ./dul Data UnLoader: 10.2.0.5.33 - Internal Only - on Thu Dec 25 21:18:54 2014 with 64-bit io functions Copyright (c) 1994 2014 Bernard van Duijnen All rights reserved. Strictly Oracle Internal Use Only Within one week you will need a more recent DUL version for this os Found db_id = 2666699570 Found db_name = ORA9I DUL> bootstrap; Probing file = 1, block = 417 database version 9 bootstrap$ at file 1, block 377 . unloading table BOOTSTRAP$ DUL: Warning: block number is non zero but marked deferred trying to process it anyhow 57 rows unloaded DUL: Warning: Dictionary cache DC_BOOTSTRAP is empty Reading BOOTSTRAP.dat 57 entries loaded Parsing Bootstrap$ contents Generating dict.ddl for version 9 OBJ$: segobjno 18, file 1 block 121 TAB$: segobjno 2, tabno 1, file 1 block 25 COL$: segobjno 2, tabno 5, file 1 block 25 USER$: segobjno 10, tabno 1, file 1 block 89 Running generated file "@dict.ddl" to unload the dictionary tables . unloading table OBJ$ 31490 rows unloaded . unloading table TAB$ 909 rows unloaded . unloading table COL$ 35582 rows unloaded . unloading table USER$ 63 rows unloaded Reading USER.dat 63 entries loaded Reading OBJ.dat 31490 entries loaded and sorted 31490 entries Reading TAB.dat 909 entries loaded Reading COL.dat 35582 entries loaded and sorted 35582 entries Reading BOOTSTRAP.dat 57 entries loaded DUL: Warning: Recreating file "dict.ddl" Generating dict.ddl for version 9 OBJ$: segobjno 18, file 1 block 121 TAB$: segobjno 2, tabno 1, file 1 block 25 COL$: segobjno 2, tabno 5, file 1 block 25 USER$: segobjno 10, tabno 1, file 1 block 89 TABPART$: segobjno 230, file 1 block 1657 INDPART$: segobjno 234, file 1 block 1689 TABCOMPART$: segobjno 249, file 1 block 1809 INDCOMPART$: segobjno 253, file 1 block 1841 TABSUBPART$: segobjno 240, file 1 block 1737 INDSUBPART$: segobjno 245, file 1 block 1777 IND$: segobjno 2, tabno 3, file 1 block 25 ICOL$: segobjno 2, tabno 4, file 1 block 25 LOB$: segobjno 2, tabno 6, file 1 block 25 COLTYPE$: segobjno 2, tabno 7, file 1 block 25 TYPE$: segobjno 296, tabno 1, file 1 block 2129 COLLECTION$: segobjno 296, tabno 2, file 1 block 2129 ATTRIBUTE$: segobjno 296, tabno 3, file 1 block 2129 LOBFRAG$: segobjno 258, file 1 block 1881 LOBCOMPPART$: segobjno 261, file 1 block 1905 UNDO$: segobjno 15, file 1 block 105 TS$: segobjno 6, tabno 2, file 1 block 57 PROPS$: segobjno 101, file 1 block 769 Running generated file "@dict.ddl" to unload the dictionary tables . unloading table OBJ$ DUL: Warning: Recreating file "OBJ.ctl" 31490 rows unloaded . unloading table TAB$ DUL: Warning: Recreating file "TAB.ctl" 909 rows unloaded . unloading table COL$ DUL: Warning: Recreating file "COL.ctl" 35582 rows unloaded . unloading table USER$ DUL: Warning: Recreating file "USER.ctl" 63 rows unloaded . unloading table TABPART$ 55 rows unloaded . unloading table INDPART$ 128 rows unloaded . unloading table TABCOMPART$ 0 rows unloaded . unloading table INDCOMPART$ 0 rows unloaded . unloading table TABSUBPART$ 0 rows unloaded . unloading table INDSUBPART$ 0 rows unloaded . unloading table IND$ 1396 rows unloaded . unloading table ICOL$ 1842 rows unloaded . unloading table LOB$ 427 rows unloaded . unloading table COLTYPE$ 1160 rows unloaded . unloading table TYPE$ 956 rows unloaded . unloading table COLLECTION$ 250 rows unloaded . unloading table ATTRIBUTE$ 3623 rows unloaded . unloading table LOBFRAG$ 0 rows unloaded . unloading table LOBCOMPPART$ 0 rows unloaded . unloading table UNDO$ 21 rows unloaded . unloading table TS$ 13 rows unloaded . unloading table PROPS$ 25 rows unloaded Reading USER.dat 63 entries loaded Reading OBJ.dat 31490 entries loaded and sorted 31490 entries Reading TAB.dat 909 entries loaded Reading COL.dat 35582 entries loaded and sorted 35582 entries Reading TABPART.dat 55 entries loaded and sorted 55 entries Reading TABCOMPART.dat 0 entries loaded and sorted 0 entries Reading TABSUBPART.dat 0 entries loaded and sorted 0 entries Reading INDPART.dat 128 entries loaded and sorted 128 entries Reading INDCOMPART.dat 0 entries loaded and sorted 0 entries Reading INDSUBPART.dat 0 entries loaded and sorted 0 entries Reading IND.dat 1396 entries loaded Reading LOB.dat 427 entries loaded Reading ICOL.dat 1842 entries loaded Reading COLTYPE.dat 1160 entries loaded Reading TYPE.dat 956 entries loaded Reading ATTRIBUTE.dat 3623 entries loaded Reading COLLECTION.dat 250 entries loaded Reading BOOTSTRAP.dat 57 entries loaded Reading LOBFRAG.dat 0 entries loaded and sorted 0 entries Reading LOBCOMPPART.dat 0 entries loaded and sorted 0 entries Reading UNDO.dat 21 entries loaded Reading TS.dat 13 entries loaded Reading PROPS.dat 25 entries loaded Database character set is ZHS16GBK Database national character set is AL16UTF16 DUL> unload table chf.t_xifenfei01; . unloading table T_XIFENFEI01 30758 rows unloaded DUL> unload table chf.t_xifenfei02; . unloading table T_XIFENFEI02 865 rows unloaded DUL>
这里证明,在表空间不能online的情况下,dul处理类似故障很轻松(但是需要重建表空间,bbed处理的从原理上可以不重建表空间),当然如果涉及的对象很多,而丢失的文件很少,可能bbed也不失为一种很不错的选择.
另外补充:如果表空间丢失的文件包含数据,也可以通过类似bbed和dul方法处理:bbed 让表空间online之后需要考虑跳过丢失文件;dul处理完全相同
asm disk误设置pvid导致asm diskgroup无法mount恢复
有朋友找到我说他们把以前存储到AIX直连的存储切换为含光纤交换机的存储网络后,RAC无法启动,让我给予支持.通过分析是由于换链路之后开始磁盘顺序不对,维护人员对其asm disk 设置了pvid,导致asm 磁盘组无法正常mount,从而使得含votedisk的dg的asm disk无法正常访问,从而RAC的cssd进程无法启动,同样数据文件的磁盘组也无法mount,通过kfed修复成功,实现数据0丢失.
平台版本信息(2节点RAC)
$ sqlplus -v SQL*Plus: Release 11.2.0.4.0 Production $ uname -a AIX db2 1 7 00F9733E4C00
GI日志报错信息
2014-12-20 16:44:08.769: [ohasd(6946818)]CRS-2769:Unable to failover resource 'ora.diskmon'. 2014-12-20 16:44:11.775: [cssd(9502756)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log 2014-12-20 16:44:26.791: [cssd(9502756)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; 、Details at (:CSSNM00070:) in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log 2014-12-20 16:44:41.812: [cssd(9502756)]CRS-1714:Unable to discover any voting files, retrying discovery in 15 seconds; Details at (:CSSNM00070:) in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log
从这里可以看出来是由于RAC启动过程中无法获得votedisk使得其无法正常启动,通过分析日志找出来votedisk相关磁盘
2014-12-15 17:36:15.424: [cssd(10027070)]CRS-1605:CSSD voting file is online: /dev/rhdisk4; details in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log 2014-12-15 17:36:15.433: [cssd(10027070)]CRS-1605:CSSD voting file is online: /dev/rhdisk5; details in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log 2014-12-15 17:36:15.445: [cssd(10027070)]CRS-1605:CSSD voting file is online: /dev/rhdisk6; details in /u01/app/11.2.0/grid/log/db1/cssd/ocssd.log
从这里可以知道rhdisk4,5,6为votedisk对应磁盘,使用kfed查看磁盘头信息
$kfed read /dev/rhdisk4 kfbh.endian: 201 ; 0x000: 0xc9 kfbh.hard: 194 ; 0x001: 0xc2 kfbh.type: 212 ; 0x002: *** Unknown Enum *** kfbh.datfmt: 193 ; 0x003: 0xc1 kfbh.block.blk: 0 ; 0x004: blk=0 kfbh.block.obj: 0 ; 0x008: file=0 kfbh.check: 0 ; 0x00c: 0x00000000 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 1102BEE00 C9C2D4C1 00000000 00000000 00000000 [................] 1102BEE10 00000000 00000000 00000000 00000000 [................] Repeat 6 times 1102BEE80 00F9733D 67553E0A 00000000 00000000 [..s=gU>.........] 1102BEE90 00000000 00000000 00000000 00000000 [................] Repeat 246 times KFED-00322: Invalid content encountered during block traversal: [kfbtTraverseBlock][Invalid OSM block type][][212] $kfed read /dev/rhdisk4 blkn=1 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 2 ; 0x002: KFBTYP_FREESPC kfbh.datfmt: 2 ; 0x003: 0x02 kfbh.block.blk: 1 ; 0x004: blk=1 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 3883664132 ; 0x00c: 0xe77c0304 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdfsb.aunum: 0 ; 0x000: 0x00000000 kfdfsb.max: 254 ; 0x004: 0x00fe kfdfsb.cnt: 23 ; 0x006: 0x0017 kfdfsb.bound: 0 ; 0x008: 0x0000 kfdfsb.flag: 1 ; 0x00a: B=1 kfdfsb.ub1spare: 0 ; 0x00b: 0x00 kfdfsb.spare[0]: 0 ; 0x00c: 0x00000000 kfdfsb.spare[1]: 0 ; 0x010: 0x00000000 kfdfsb.spare[2]: 0 ; 0x014: 0x00000000 kfdfse[0].fse: 119 ; 0x018: FREE=0x7 FRAG=0x7 kfdfse[1].fse: 16 ; 0x019: FREE=0x0 FRAG=0x1 ………… $kfed read /dev/rhdisk4 blkn=510 kfbh.endian: 0 ; 0x000: 0x00 kfbh.hard: 130 ; 0x001: 0x82 kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD kfbh.datfmt: 1 ; 0x003: 0x01 kfbh.block.blk: 254 ; 0x004: blk=254 kfbh.block.obj: 2147483648 ; 0x008: disk=0 kfbh.check: 3460116983 ; 0x00c: 0xce3d31f7 kfbh.fcn.base: 0 ; 0x010: 0x00000000 kfbh.fcn.wrap: 0 ; 0x014: 0x00000000 kfbh.spare1: 0 ; 0x018: 0x00000000 kfbh.spare2: 0 ; 0x01c: 0x00000000 kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8 kfdhdb.driver.reserved[0]: 0 ; 0x008: 0x00000000 kfdhdb.driver.reserved[1]: 0 ; 0x00c: 0x00000000 kfdhdb.driver.reserved[2]: 0 ; 0x010: 0x00000000 kfdhdb.driver.reserved[3]: 0 ; 0x014: 0x00000000 kfdhdb.driver.reserved[4]: 0 ; 0x018: 0x00000000 kfdhdb.driver.reserved[5]: 0 ; 0x01c: 0x00000000 kfdhdb.compat: 186646528 ; 0x020: 0x0b200000 kfdhdb.dsknum: 0 ; 0x024: 0x0000 kfdhdb.grptyp: 2 ; 0x026: KFDGTP_NORMAL kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER kfdhdb.dskname: CRS_0000 ; 0x028: length=8 kfdhdb.grpname: CRS ; 0x048: length=3 kfdhdb.fgname: CRS_0000 ; 0x068: length=8 …………
由上述分析可以基本上确定是asm disk header 被破坏,进一步分析破坏原因
[db2/dev#]lspv hdisk0 00f9733ef7cf27e9 rootvg active hdisk1 00f9733e21b953e6 rootvg active hdisk2 00f9733e21b97a83 appvg active hdisk3 00f9733e21b98434 appvg active hdisk4 00f9733d67553e0a None hdisk5 00f9733d67553f31 None hdisk6 00f9733d67554011 None hdisk7 00f9733d67554165 None hdisk8 00f9733d675541e5 None hdisk9 00f9733d675542e4 None hdisk10 none None [db2/dev#]ls -l rhdisk* crw------- 2 root system 24, 1 Oct 18 11:45 rhdisk0 crw------- 1 root system 24, 3 Oct 18 13:27 rhdisk1 crw------- 1 root system 24, 5 Dec 20 20:02 rhdisk10 crw------- 1 root system 24, 2 Oct 18 13:32 rhdisk2 crw------- 1 root system 24, 0 Oct 18 13:32 rhdisk3 crw-rw---- 1 grid asmadmin 24, 8 Dec 20 20:02 rhdisk4 crw-rw---- 1 grid asmadmin 24, 9 Dec 20 20:02 rhdisk5 crw-rw---- 1 grid asmadmin 24, 10 Dec 20 20:02 rhdisk6 crw-rw---- 1 grid asmadmin 24, 4 Dec 20 20:02 rhdisk7 crw-rw---- 1 grid asmadmin 24, 6 Dec 20 20:02 rhdisk8 crw-rw---- 1 grid asmadmin 24, 7 Dec 20 20:02 rhdisk9
从这里基本上可以看出来,是由于磁盘头被重写了pvid,导致asm disk header 被破坏.进一步分析asm log,确定哪些磁盘被用作asm disk
SQL> CREATE DISKGROUP CRS NORMAL REDUNDANCY DISK '/dev/rhdisk4', '/dev/rhdisk5', '/dev/rhdisk6' ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */ NOTE: Assigning number (1,0) to disk (/dev/rhdisk4) NOTE: Assigning number (1,1) to disk (/dev/rhdisk5) NOTE: Assigning number (1,2) to disk (/dev/rhdisk6) NOTE: initializing header on grp 1 disk CRS_0000 NOTE: initializing header on grp 1 disk CRS_0001 NOTE: initializing header on grp 1 disk CRS_0002 SQL> CREATE DISKGROUP DATA EXTERNAL REDUNDANCY DISK '/dev/rhdisk9' SIZE 614400M ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */ NOTE: Assigning number (2,0) to disk (/dev/rhdisk9) NOTE: initializing header on grp 2 disk DATA_0000 SQL> CREATE DISKGROUP FBA EXTERNAL REDUNDANCY DISK '/dev/rhdisk8' SIZE 204800M ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */ NOTE: Assigning number (3,0) to disk (/dev/rhdisk8) NOTE: initializing header on grp 3 disk FBA_0000 SQL> CREATE DISKGROUP ARCH EXTERNAL REDUNDANCY DISK '/dev/rhdisk7' SIZE 102400M ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */ NOTE: Assigning number (4,0) to disk (/dev/rhdisk7) NOTE: initializing header on grp 4 disk ARCH_0000
这里可以确定asm disk为rhdisk[4-9],通过kfed分析全部和rhdisk4一样的问题,也符合lspv查询出来的结果,使用kfed repair修复asm disk header后
SQL> alter diskgroup data mount; Diskgroup altered. SQL> alter diskgroup fba mount; Diskgroup altered. SQL> alter diskgroup arch mount; Diskgroup altered. SQL> alter diskgroup crs mount; Diskgroup altered. SQL> select group_number,disk_number,path from v$asm_disk; GROUP_NUMBER DISK_NUMBER PATH ------------ ----------- -------------------------------------------------- 2 0 /dev/rhdisk4 2 1 /dev/rhdisk5 2 2 /dev/rhdisk6 1 0 /dev/rhdisk7 4 0 /dev/rhdisk8 3 0 /dev/rhdisk9 6 rows selected. SQL> select group_number,name from v$asm_diskgroup; GROUP_NUMBER NAME ------------ ------------------------------------------------------------ 1 ARCH 2 CRS 3 DATA 4 FBA
这里证明通过kfed对磁盘头的修复,asm磁盘组已经全部mount成功,GI状态也恢复正常
[db2/#]crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ARCH.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.CRS.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.DATA.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.FBA.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.LISTENER.lsnr ONLINE ONLINE db1 ONLINE ONLINE db2 ora.asm ONLINE ONLINE db1 Started ONLINE ONLINE db2 Started ora.gsd OFFLINE OFFLINE db1 OFFLINE OFFLINE db2 ora.net1.network ONLINE ONLINE db1 ONLINE ONLINE db2 ora.ons ONLINE ONLINE db1 ONLINE ONLINE db2 ora.registry.acfs ONLINE ONLINE db1 ONLINE ONLINE db2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE db1 ora.cvu 1 ONLINE ONLINE db1 ora.db1.vip 1 ONLINE ONLINE db1 ora.db2.vip 1 ONLINE ONLINE db2 ora.nkora.db 1 ONLINE ONLINE db1 Open 2 ONLINE ONLINE db2 Open ora.oc4j 1 ONLINE ONLINE db1 ora.scan1.vip 1 ONLINE ONLINE db1
这里忽略了一个问题,在修复磁盘头之前没有清除pvid,导致磁盘头修复后,pvid依然存储在odm中
[db2/dev#]lspv hdisk0 00f9733ef7cf27e9 rootvg active hdisk1 00f9733e21b953e6 rootvg active hdisk2 00f9733e21b97a83 appvg active hdisk3 00f9733e21b98434 appvg active hdisk4 00f9733d67553e0a None hdisk5 00f9733d67553f31 None hdisk6 00f9733d67554011 None hdisk7 00f9733d67554165 None hdisk8 00f9733d675541e5 None hdisk9 00f9733d675542e4 None hdisk10 none None
通过分析发现fba磁盘组中无任何记录,使用该磁盘组进行直接清除pvid测试
$ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 Production on Sun Dec 21 03:13:31 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options SQL> alter diskgroup fba dismount; Diskgroup altered. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options $ exit You have mail in /usr/spool/mail/root [db2/#]chdev -l hdisk8 -a pv=clear hdisk8 changed [db2/#]lspv hdisk0 00f9733ef7cf27e9 rootvg active hdisk1 00f9733e21b953e6 rootvg active hdisk2 00f9733e21b97a83 appvg active hdisk3 00f9733e21b98434 appvg active hdisk4 00f9733d67553e0a None hdisk5 00f9733d67553f31 None hdisk6 00f9733d67554011 None hdisk7 00f9733d67554165 None hdisk8 none None hdisk9 00f9733d675542e4 None hdisk10 none None [db2/#]su - grid $ sqlplus / as sysasm SQL*Plus: Release 11.2.0.4.0 Production on Sun Dec 21 03:15:19 2014 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options SQL> alter diskgroup fba mount; Diskgroup altered. SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options
通过测试直接清除pvid asm 磁盘头依然工作正常,关闭GI,使用chdev清除hdisk[4-9]所有pvid,启动GI一切正常
[db1/#]crsctl status res -t -------------------------------------------------------------------------------- NAME TARGET STATE SERVER STATE_DETAILS -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.ARCH.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.CRS.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.DATA.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.FBA.dg ONLINE ONLINE db1 ONLINE ONLINE db2 ora.LISTENER.lsnr ONLINE ONLINE db1 ONLINE ONLINE db2 ora.asm ONLINE ONLINE db1 Started ONLINE ONLINE db2 Started ora.gsd OFFLINE OFFLINE db1 OFFLINE OFFLINE db2 ora.net1.network ONLINE ONLINE db1 ONLINE ONLINE db2 ora.ons ONLINE ONLINE db1 ONLINE ONLINE db2 ora.registry.acfs ONLINE ONLINE db1 ONLINE ONLINE db2 -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE db1 ora.cvu 1 ONLINE ONLINE db1 ora.db1.vip 1 ONLINE ONLINE db1 ora.db2.vip 1 ONLINE ONLINE db2 ora.nkora.db 1 ONLINE ONLINE db1 Open 2 ONLINE ONLINE db2 Open ora.oc4j 1 ONLINE ONLINE db1 ora.scan1.vip 1 ONLINE ONLINE db1 [db1/#]lspv hdisk0 00f9733df7c7a9db rootvg active hdisk1 00f9733d21dad8fe rootvg active hdisk2 00f9733d21dbd08b appvg active hdisk3 00f9733d21dbd2ab appvg active hdisk4 none None hdisk5 none None hdisk6 none None hdisk7 none None hdisk8 none None hdisk9 none None hdisk10 none None
至此设置pvid导致asm disk header损坏的asm 恢复正常,实现数据0丢失。
温馨提示:aix asm disk磁盘中不能设置pvid,否则将会导致asm disk header 损坏,无法正常mount
如果您遇到此类情况,无法解决请联系我们,提供专业ORACLE数据库恢复技术支持
Phone:17813235971 Q Q:107644445 E-Mail:dba@xifenfei.com
发表在 Oracle ASM, 非常规恢复
标签为 asm, asm不能mount, asm恢复, kfbtTraverseBlock, KFED-00322, mount, ORA-15042, pvid
一条评论