标签云
asm恢复 bbed bootstrap$ dul kcbzib_kcrsds_1 kccpb_sanity_check_2 kcratr_nab_less_than_odr kgegpa MySQL恢复 ORA-00312 ORA-00704 ORA-00742 ORA-01110 ORA-01200 ORA-01555 ORA-01578 ORA-01595 ORA-600 2662 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-600 kdsgrp1 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)
- 操作系统 (110)
- 数据库 (1,823)
- DB2 (22)
- MySQL (80)
- Oracle (1,652)
- Data Guard (53)
- EXADATA (8)
- GoldenGate (24)
- ORA-xxxxx (168)
- ORACLE 12C (72)
- ORACLE 18C (6)
- ORACLE 19C (15)
- ORACLE 21C (3)
- Oracle 23ai (8)
- Oracle ASM (69)
- Oracle Bug (8)
- Oracle RAC (54)
- Oracle 安全 (6)
- Oracle 开发 (28)
- Oracle 监听 (29)
- Oracle备份恢复 (620)
- Oracle安装升级 (103)
- Oracle性能优化 (62)
- 专题索引 (5)
- 勒索恢复 (86)
- PostgreSQL (37)
- pdu工具 (7)
- PostgreSQL恢复 (13)
- SQL Server (34)
- SQL Server恢复 (14)
- TimesTen (7)
- 达梦数据库 (3)
- 达梦恢复 (1)
- 生活娱乐 (2)
- 至理名言 (11)
- 虚拟化 (2)
- VMware (2)
- 软件开发 (45)
- Asp.Net (9)
- JavaScript (12)
- PHP (2)
- 小工具 (28)
-
最近发表
- 注意:PostgreSQL库出现readme_to_recover勒索
- Oracle 19c 202601补丁(RUs+OJVM)-19.30
- Patch_SCN快速解决ORA-600 2663故障
- 在生产环境错误执行dd命令破坏asm磁盘故障恢复
- obet实现对数据文件坏块检测功能
- oracle linux 8.10注意pmlogger导致空间被大量占用
- obet快速修改scn/resetlogs恢复数据库(缺少归档,ORA-00308)
- 使用DBMS_PDB.RECOVER抢救单个pdb
- aix环境写入大文件设置combehin提高效率
- 记录一次国产数据库被rm -rf /*删除的救援过程
- 数据库启动报 maximum number of processes () exceeded分析
- ORA-600 [ksunfy : too few sessions]
- 由于数据块scn大于数据库scn导致ORA-600 kcbzib_kcrsds_1错误
- ORA-600 ktbair2: illegal inheritance恢复
- 一键恢复ORA-00704 ORA-00702故障—202512
- PostgreSQL查询一个表相关的所有oid
- PostgreSQL oid文件替换实现数据访问
- 模拟sql server故障备份完成恢复实现数据0丢失
- sql server 事务日志备份异常恢复案例
- win平台挂起Oracle数据库启动进程
标签归档:ORA-01578
数据库启动报 maximum number of processes () exceeded分析
比较少遇到打开一个数据库报ORA-00020: maximum number of processes () exceeded,导致open数据库失败
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00450: background process 'QMNC' did not start ORA-00444: background process "QMNC" failed while starting ORA-00020: maximum number of processes () exceeded 进程 ID: 6340 会话 ID: 109 序列号: 3
看这个报错应该是由于进程数达到了限制,导致在open数据库过程中启动后台进程QMNC失败,导致open过程失败,分析进程数不足的原因,查看启动时候的参数配置
Fri Dec 26 16:48:27 2025 Adjusting the default value of parameter parallel_max_servers from 2560 to 135 due to the value of parameter processes (150) Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Picked latch-free SCN scheme 3 Fri Dec 26 16:48:38 2025 Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST Autotune of undo retention is turned on. IMODE=BR ILAT =28 LICENSE_MAX_USERS = 0 SYS auditing is disabled Starting up: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options. Windows NT Version V6.2 CPU : 64 - type 8664, 32 Physical Cores Process Affinity : 0x0x0000000000000000 Memory (Avail/Total): Ph:82501M/130752M, Ph+PgF:103658M/150208M Using parameter settings in client-side pfile D:\PFILE.TXT on machine HISSERVER System parameters with non-default values: processes = 150 sga_target = 39296M control_files = "D:\ORACLE64\ORADATA\ORA817\CONTROL01.CTL" control_files = "D:\ORACLE64\RECOVERY_AREA\ORA817\CONTROL02.CTL" db_block_size = 8192 compatible = "11.2.0.0.0" db_recovery_file_dest = "D:\ORACLE64\recovery_area" db_recovery_file_dest_size= 4122M undo_tablespace = "UNDOTBS1" remote_login_passwordfile= "EXCLUSIVE" db_domain = "" dispatchers = "(PROTOCOL=TCP) (SERVICE=ora817XDB)" audit_file_dest = "D:\ORACLE64\ADMIN\ORA817\ADUMP" audit_trail = "DB" db_name = "ora817" open_cursors = 300 pga_aggregate_target = 13075M diagnostic_dest = "D:\ORACLE64" Fri Dec 26 16:49:10 2025 PMON started with pid=2, OS id=1992 Fri Dec 26 16:49:10 2025 PSP0 started with pid=3, OS id=6744 Fri Dec 26 16:49:12 2025 VKTM started with pid=4, OS id=7592 at elevated priority Fri Dec 26 16:49:12 2025 GEN0 started with pid=5, OS id=7780 Fri Dec 26 16:49:12 2025 DBRM started with pid=7, OS id=5372 Fri Dec 26 16:49:12 2025 MMAN started with pid=9, OS id=6700 Fri Dec 26 16:49:12 2025 DBW0 started with pid=10, OS id=1920 Fri Dec 26 16:49:12 2025 DBW1 started with pid=11, OS id=4476 Fri Dec 26 16:49:12 2025 DBW2 started with pid=12, OS id=6788 Fri Dec 26 16:49:12 2025 DBW3 started with pid=13, OS id=4608 Fri Dec 26 16:49:12 2025 DBW4 started with pid=14, OS id=6716 Fri Dec 26 16:49:12 2025 DBW5 started with pid=15, OS id=6252 Fri Dec 26 16:49:12 2025 DBW6 started with pid=16, OS id=7948 Fri Dec 26 16:49:12 2025 DBW7 started with pid=17, OS id=5868 Fri Dec 26 16:49:12 2025 LGWR started with pid=18, OS id=1644 Fri Dec 26 16:49:12 2025 CKPT started with pid=19, OS id=5704 Fri Dec 26 16:49:12 2025 SMON started with pid=20, OS id=4532 Fri Dec 26 16:49:12 2025 RECO started with pid=21, OS id=380 Fri Dec 26 16:49:12 2025 MMON started with pid=22, OS id=1316 Fri Dec 26 16:49:12 2025 MMNL started with pid=23, OS id=6108 Fri Dec 26 16:49:12 2025 DIAG started with pid=6, OS id=7904 Fri Dec 26 16:49:12 2025 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'... starting up 1 shared server(s) ... ORACLE_BASE from environment = D:\ORACLE64
这里可以看出来数据库版本是11.2.0.3,processes配置为默认值150.进一步查看启动报错时候的alert日志
ALTER DATABASE RECOVER database Media Recovery Start started logmerger process Fri Dec 26 17:03:44 2025 Media Recovery failed with error 264 Slave exiting with ORA-283 exception Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_pr00_344.trc: ORA-00283: recovery session canceled due to errors ORA-00264: no recovery required Recovery Slave PR00 previously exited with exception 283 ORA-283 signalled during: ALTER DATABASE RECOVER database ... alter database open Fri Dec 26 17:03:48 2025 Thread 1 opened at log sequence 37301 Current log# 2 seq# 37301 mem# 0: D:\ORACLE64\ORADATA\ORA817\REDO02.LOG Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Fri Dec 26 17:03:49 2025 SMON: enabling cache recovery [6340] Successfully onlined Undo Tablespace 2. Undo initialization finished serial:0 start:5143437 end:5143718 diff:281 (2 seconds) Verifying file header compatibility for 11g tablespace encryption.. Verifying 11g file header compatibility for tablespace encryption completed SMON: enabling tx recovery Fri Dec 26 17:03:49 2025 Database Characterset is ZHS16GBK No Resource Manager plan active replication_dependency_tracking turned off (no async multimaster replication found) ORA-00020: maximum number of processes (150) exceeded ORA-20 errors will not be written to the alert log for the next minute. Please look at trace files to see all the ORA-20 errors. Process P123 submission failed with error = 20 Starting background process QMNC Process QMNC submission failed with error = 20 Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_ora_6340.trc: ORA-00444: 后台进程 "QMNC" 启动失败 ORA-00020: 超出最大进程数 () Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_ora_6340.trc: ORA-00450: 后台进程 'QMNC' 未启动 ORA-00444: 后台进程 "QMNC" 启动失败 ORA-00020: 超出最大进程数 () Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_ora_6340.trc: ORA-00450: 后台进程 'QMNC' 未启动 ORA-00444: 后台进程 "QMNC" 启动失败 ORA-00020: 超出最大进程数 () Error 450 happened during db open, shutting down database USER (ospid: 6340): terminating the instance due to error 450 Fri Dec 26 17:03:50 2025 Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_p036_8044.trc (incident=4105): ORA-01578: ORACLE data block corrupted (file # 9, block # 504643) ORA-01110: data file 9: 'D:\ORACLE64\ORADATA\ORA817\HRPRUN_DATA05.DBF' Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_4105\ora817_p036_8044_i4105.trc Fri Dec 26 17:03:50 2025 Process m000 submission failed with error = 20 Fri Dec 26 17:04:07 2025 Instance terminated by USER, pid = 6340 ORA-1092 signalled during: alter database open... opiodr aborting process unknown ospid (6340) as a result of ORA-1092 Fri Dec 26 17:04:09 2025 ORA-1092 : opitsk aborting process
看alert日志比较明显有Process P123 submission failed with error = 20提示,这里表示启动P123进程时候也遭遇到了进程数不足的限制导致该进程无法启动,而Pxxx进程是oracle的并行进程(而且在后面还报了由于坏块导致P036进程报错的信息),也就是说这个数据库在启动过程中启动了大量的并行进程(至少122个已经启动),这也就是说明了为什么150个进程不足的原因.在数据库完成实例恢复,完全open之前启动并行进程进行恢复的,很可能就是并行回滚操作.为了进一步验证猜想,把processes调整到1500,然后尝试启动库
Fri Dec 26 17:06:44 2025 alter database open Beginning crash recovery of 1 threads parallel recovery started with 32 processes Started redo scan Completed redo scan read 20 KB redo, 5 data blocks need recovery Started redo application at Thread 1: logseq 37301, block 18209 Recovery of Online Redo Log: Thread 1 Group 2 Seq 37301 Reading mem 0 Mem# 0: D:\ORACLE64\ORADATA\ORA817\REDO02.LOG Completed redo application of 0.02MB Completed crash recovery at Thread 1: logseq 37301, block 18249, scn 327081807 5 data blocks read, 5 data blocks written, 20 redo k-bytes read Fri Dec 26 17:06:46 2025 Thread 1 advanced to log sequence 37302 (thread open) Thread 1 opened at log sequence 37302 Current log# 3 seq# 37302 mem# 0: D:\ORACLE64\ORADATA\ORA817\REDO03.LOG Successful open of redo thread 1 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Fri Dec 26 17:06:47 2025 SMON: enabling cache recovery [7104] Successfully onlined Undo Tablespace 2. Undo initialization finished serial:0 start:5321812 end:5322031 diff:219 (2 seconds) Verifying file header compatibility for 11g tablespace encryption.. Verifying 11g file header compatibility for tablespace encryption completed SMON: enabling tx recovery Database Characterset is ZHS16GBK No Resource Manager plan active replication_dependency_tracking turned off (no async multimaster replication found) Fri Dec 26 17:06:49 2025 Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_p091_5924.trc (incident=5745): ORA-01578: ORACLE data block corrupted (file # 9, block # 504643) ORA-01110: data file 9: 'D:\ORACLE64\ORADATA\ORA817\HRPRUN_DATA05.DBF' Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_5745\ora817_p091_5924_i5745.trc Starting background process QMNC Fri Dec 26 17:06:49 2025 QMNC started with pid=156, OS id=8012 Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_p091_5924.trc (incident=5746): ORA-01578: ORACLE data block corrupted (file # , block # ) Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_5746\ora817_p091_5924_i5746.trc Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_smon_7424.trc (incident=4961): ORA-01578: ORACLE data block corrupted (file # 9, block # 504643) ORA-01110: data file 9: 'D:\ORACLE64\ORADATA\ORA817\HRPRUN_DATA05.DBF' Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_4961\ora817_smon_7424_i4961.trc Completed: alter database open SMON: Restarting fast_start parallel rollback Fri Dec 26 17:06:51 2025 Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_p000_5472.trc (incident=5009): ORA-01578: ORACLE data block corrupted (file # 9, block # 504643) ORA-01110: data file 9: 'D:\ORACLE64\ORADATA\ORA817\HRPRUN_DATA05.DBF' Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_5009\ora817_p000_5472_i5009.trc Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_p000_5472.trc (incident=5010): ORA-01578: ORACLE data block corrupted (file # , block # ) Errors in file D:\ORACLE64\diag\rdbms\ora817\ora817\trace\ora817_smon_7424.trc (incident=4962): ORA-01578: ORACLE data block corrupted (file # 9, block # 504643) ORA-01110: data file 9: 'D:\ORACLE64\ORADATA\ORA817\HRPRUN_DATA05.DBF' Incident details in: D:\ORACLE64\diag\rdbms\ora817\ora817\incident\incdir_5010\ora817_p000_5472_i5010.trc
这次就比较清晰了,数据库在open过程中由于smon启动了并行回滚并遇到了坏块,导致P091进程和smon进程错误。因为数据库已经open,这个坏块导致无法回滚,直接对这个对象进行处理即可解决掉这个回滚报错问题.
通过拷贝block实现system文件大量坏块恢复
有朋友找到我,他有客户库大量坏块,需要我们提供支持,因为这个库里面含有大量的存储过程,包等,要求数据要直接导出,不能使用工具挖.
dbv检查system大量坏块
DBVERIFY: Release 11.2.0.4.0 - Production on 星期二 11月 22 17:17:51 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = h:\oracle\system01.dbf 页 4543 流入 - 很可能是介质损坏 Corrupt block relative dba: 0x004011bf (file 1, block 4543) Fractured block found during dbv: Data in bad block: type: 0 format: 2 rdba: 0x004011bf last change scn: 0x0000.00000000 seq: 0x1 flg: 0x05 spare1: 0x0 spare2: 0x0 spare3: 0x0 consistency value in tail: 0x7641344a check value in block header: 0xb6ff computed block checksum: 0x797 页 4544 标记为损坏 Corrupt block relative dba: 0x004011c0 (file 1, block 4544) Bad header found during dbv: Data in bad block: type: 71 format: 3 rdba: 0x754e362f last change scn: 0x7a37.6d424862 seq: 0x39 flg: 0x32 spare1: 0x35 spare2: 0x32 spare3: 0x3931 consistency value in tail: 0x7638356c check value in block header: 0x4856 block checksum disabled ………… 页 4613 标记为损坏 Corrupt block relative dba: 0x00401205 (file 1, block 4613) Bad header found during dbv: Data in bad block: type: 97 format: 7 rdba: 0x79634449 last change scn: 0x4364.77426a4c seq: 0x41 flg: 0x35 spare1: 0x34 spare2: 0x36 spare3: 0x7734 consistency value in tail: 0x505a4550 check value in block header: 0x434d computed block checksum: 0x6f3f 页 4614 标记为损坏 Corrupt block relative dba: 0x00401206 (file 1, block 4614) Completely zero block found during dbv: ………… 页 5125 标记为损坏 Corrupt block relative dba: 0x00401405 (file 1, block 5125) Completely zero block found during dbv: DBVERIFY - 验证完成 检查的页总数: 124160 处理的页总数 (数据): 90745 失败的页总数 (数据): 0 处理的页总数 (索引): 14417 失败的页总数 (索引): 0 处理的页总数 (其他): 3323 处理的总页数 (段) : 1 失败的总页数 (段) : 0 空的页总数: 15092 标记为损坏的总页数: 583 流入的页总数: 5 加密的总页数 : 0 最高块 SCN : 1417256245 (2.1417256245)
这里比较明显,一共583个坏块,而且是连续坏块(5125-4543+1)
尝试启动数据库
--直接尝试打开数据库
SQL> RECOVER DATABASE;
完成介质恢复。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 2
ORA-01578: ORACLE data block corrupted (file # 1, block # 4575)
ORA-01110: data file 1: 'H:\ORACLE\SYSTEM01.DBF'
进程 ID: 2572
会话 ID: 85 序列号: 1
--跳过坏块event打开库
SQL> startup mount pfile='h:/oracle/pfile.txt'
ORACLE 例程已经启动。
Total System Global Area 2137886720 bytes
Fixed Size 2282944 bytes
Variable Size 520096320 bytes
Database Buffers 1610612736 bytes
Redo Buffers 4894720 bytes
数据库装载完毕。
SQL> show parameter event;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
event string 43810 trace name context forev
er, level 10, 10231 trace name
context forever, level 10, 10
232 trace name context forever
, level 10, 10233 trace name c
ontext forever, level 10, 1004
1 trace name context forever,
level 10
xml_db_events string enable
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'H:\ORACLE\SYSTEM01.DBF'
SQL> recover database;
完成介质恢复。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [kokiasg1], [], [], [], [], [], [],
[], [], [], [], []
进程 ID: 9316
会话 ID: 4 序列号: 3
--upgrade方式打开数据库
SQL> startup mount pfile='h:/oracle/pfile.txt'
ORACLE 例程已经启动。
Total System Global Area 2137886720 bytes
Fixed Size 2282944 bytes
Variable Size 520096320 bytes
Database Buffers 1610612736 bytes
Redo Buffers 4894720 bytes
数据库装载完毕。
SQL> alter database open upgrade
2 ;
alter database open upgrade
*
第 1 行出现错误:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00600: internal error code, arguments: [kokiasg1], [], [], [], [], [], [],
[], [], [], [], []
进程 ID: 7976
会话 ID: 4 序列号: 3
至此数据库在这种坏块情况下,正常打开相当渺茫,因为报错的这些block 都是非常靠前的,也就是说这个里面很多块在数据库创建好的时候就已经在了(特别是通过模板创建的数据库,这些部分很可能都是固定的),考虑使用其他库的block来替代这些坏块,然后尝试打开库
修复坏块
[oracle@app101-20 ~]$ dd if=/Data/oracle/oradata/txlhdb/system01.dbf of=/tmp/1.dbf skip=4543 bs=8192 count=583 583+0 records in 583+0 records out 4775936 bytes (4.8 MB) copied, 0.0533578 s, 89.5 MB/s H:\oracle>dd if=d:/temp/1.dbf of=h:\oracle\system01.dbf seek=4543 bs=8192 count=583 conv=notrun rawwrite dd for windows version 0.6beta3. Written by John Newbigin <jn@it.swin.edu.au> This program is covered by terms of the GPL Version 2. notrun 583+0 records in 583+0 records out H:\oracle>dbv file=system01.dbf DBVERIFY: Release 11.2.0.4.0 - Production on 星期二 11月 22 20:17:51 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = H:\ORACLE\SYSTEM01.DBF DBVERIFY - 验证完成 检查的页总数: 124160 处理的页总数 (数据): 90761 失败的页总数 (数据): 0 处理的页总数 (索引): 14479 失败的页总数 (索引): 0 处理的页总数 (其他): 3393 处理的总页数 (段) : 1 失败的总页数 (段) : 0 空的页总数: 15527 标记为损坏的总页数: 0 流入的页总数: 0 加密的总页数 : 0 最高块 SCN : 295310052 (11.295310052)
再次尝试打开数据库
C:\Users\XIFENFEI>sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on 星期二 11月 22 20:18:19 2016 Copyright (c) 1982, 2013, Oracle. All rights reserved. 已连接到空闲例程。 SQL> startup mount pfile='h:/oracle/pfile.txt'; ORACLE 例程已经启动。 Total System Global Area 2137886720 bytes Fixed Size 2282944 bytes Variable Size 520096320 bytes Database Buffers 1610612736 bytes Redo Buffers 4894720 bytes 数据库装载完毕。 SQL> recover database; 完成介质恢复。 SQL> alter database open; 数据库已更改。
后续错误ORA-04023处理
C:\Users\XIFENFEI>exp "'/ as sysdba'" owner=XIFENFEI file=d:/full_xff.dmp lo g=d:/full_xff.log FEEDBACK=10000 COMPRESS=NO BUFFER=102400000 STATISTICS=none Export: Release 11.2.0.4.0 - Production on 星期二 11月 22 20:20:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Produc tion With the Partitioning, OLAP, Data Mining and Real Application Testing options EXP-00056: 遇到 ORACLE 错误 4023 ORA-04023: 无法验证或授权对象 SELECT xdb_uid FROM SYS.EXU9XDBUID EXP-00000: 导出终止失败
数据库所有视图无法查询,通过直接对基表user$,obj$,view$等表查询出来视图信息,然后直接编译,然后数据可以完美导出,完成本次恢复
SQL> select 'alter view '||b.name||'.'||c.name||' compile;' 2 from view$ a,user$ b,obj$ c 3 where a.obj#=c.obj# 4 and c.owner#=b.user#;
csc higher than block scn类型坏块修复
数据库虽然正常open了,但是由于system有坏块,导致数据库导出有部分表报错,客户希望通过修复坏块完美解决该问题

bbed检查system报坏块
C:\Users\FAL>dbv file=D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF DBVERIFY: Release 11.2.0.1.0 - Production on 星期六 5月 14 15:40:55 2016 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF csc(0x0000.1f8adab3) higher than block scn(0x0000.00000000) 页 122146 失败, 校验代码为 6054 DBVERIFY - 验证完成 检查的页总数: 252160 处理的页总数 (数据): 178921 失败的页总数 (数据): 0 处理的页总数 (索引): 52576 失败的页总数 (索引): 1 处理的页总数 (其他): 3201 处理的总页数 (段) : 1 失败的总页数 (段) : 0 空的页总数: 17462 标记为损坏的总页数: 0 流入的页总数: 0 加密的总页数 : 0 最高块 SCN : 529420540 (0.529420540)
bbed修复坏块
C:\Users\FAL>bbed password=blockedit filename=D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF
BBED: Release 2.0.0.0.0 - Limited Production on Sat May 14 15:37:01 2016
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
************* !!! For Oracle Internal Use only !!! ***************
BBED> set blocksize 8192
BLOCKSIZE 8192
BBED> set block 2
BLOCK# 2
BBED> map
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 2 Dba:0x00000000
------------------------------------------------------------
Data File Header
struct kcvfh, 360 bytes @0
ub4 tailchk @8188
BBED> set block 122147
BLOCK# 122147
BBED> map
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 122147 Dba:0x00000000
------------------------------------------------------------
KTB Data Block (Index Leaf)
struct kcbh, 20 bytes @0
struct ktbbh, 3720 bytes @20
struct kdxle, 32 bytes @3740
b2 kd_off[188] @3772
ub1 freespace[1534] @4148
ub1 rowdata[2442] @5682
ub4 tailchk @8188
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x0041dd22
ub4 bas_kcbh @8 0x00000000
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0xff
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0x6cee
ub2 spare3_kcbh @18 0x0000
BBED> verify
DBVERIFY - Verification starting
FILE = D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF
BLOCK = 122146
Block Checking: DBA = 4316450, Block Type = KTB-managed data block
Found block already marked corrupted
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 0
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 1
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
BBED> set offset 8188
OFFSET 8188
BBED> map
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 122147 Dba:0x00000000
------------------------------------------------------------
KTB Data Block (Index Leaf)
struct kcbh, 20 bytes @0
struct ktbbh, 3720 bytes @20
struct kdxle, 32 bytes @3740
b2 kd_off[188] @3772
ub1 freespace[1534] @4148
ub1 rowdata[2442] @5682
ub4 tailchk @8188
BBED> d
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 122147 Offsets: 8188 to 8191 Dba:0x00000000
------------------------------------------------------------------------
ff060000
<32 bytes per line>
BBED> set mode edit
MODE Edit
BBED> m /x 01 offset 14
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 122147 Offsets: 14 to 525 Dba:0x00000000
------------------------------------------------------------------------
0104ee6c 00000200 00003500 0000b3da 8a1f0000 00009a00 030021dd 41000900
0700443d 0600531c c000628b 010000c0 00002c3f 5a1f0300 0000ca5e 05002b0a
c0008685 01000080 000073d7 8a1f0400 200057a2 0500d530 c000a88e 2c000080
0000b3d7 8a1f0a00 01002848 08001101 c00084be 29000080 0000e3d7 8a1f0800
0d00d612 06008f0a c000258d 3c000080 000026d8 8a1f0100 1f0063c1 04006007
c0002887 4b000080 000046d8 8a1f0700 1e005403 0600a707 c000bd8e 40000080
00006bd8 8a1f0a00 0b000c48 08001301 c00084be 41000080 0000a2d8 8a1f0600
1b0055e6 0500c508 c0000f8b 23000080 0000fad8 8a1f0300 0600ca5e 0500220a
c0008685 34000080 000040d9 8a1f0800 1300d412 0600900a c000258d 2e000080
000064d9 8a1f0600 0b0092e6 0500c608 c0000f8b 1c000080 000089d9 8a1f0a00
05001d48 08001401 c00084be 05000080 0000aed9 8a1f0400 100030a2 0500d730
c000a88e 0e000080 000016da 8a1f0800 1700c712 0600910a c000258d 33000080
000022da 8a1f0200 1100450d 0500930c c000c085 28000080 00002fda 8a1f0200
0800610d 0500940c c000c085 20000080 00004eda 8a1f0700 12003303 0600aa07
c000bd8e 0a000120 0f00b7da 8a1f0a00 13000048 08001501 c00084be 07000220
1e00f5da 8a1f0900 07000b44 0600650f c000968d 05000120 0f0004db 8a1f0300
<32 bytes per line>
BBED> sum apply
Check value for File 0, Block 122147:
current = 0x6cee, required = 0x6cee
BBED> verify
DBVERIFY - Verification starting
FILE = D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF
BLOCK = 122146
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 0
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 1
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
BBED> m /x c1da8a1f offset 8
File: D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF (0)
Block: 122147 Offsets: 8 to 519 Dba:0x00000000
------------------------------------------------------------------------
c1da8a1f 00000104 ee6c0000 02000000 35000000 b3da8a1f 00000000 9a000300
21dd4100 09000700 443d0600 531cc000 628b0100 00c00000 2c3f5a1f 03000000
ca5e0500 2b0ac000 86850100 00800000 73d78a1f 04002000 57a20500 d530c000
a88e2c00 00800000 b3d78a1f 0a000100 28480800 1101c000 84be2900 00800000
e3d78a1f 08000d00 d6120600 8f0ac000 258d3c00 00800000 26d88a1f 01001f00
63c10400 6007c000 28874b00 00800000 46d88a1f 07001e00 54030600 a707c000
bd8e4000 00800000 6bd88a1f 0a000b00 0c480800 1301c000 84be4100 00800000
a2d88a1f 06001b00 55e60500 c508c000 0f8b2300 00800000 fad88a1f 03000600
ca5e0500 220ac000 86853400 00800000 40d98a1f 08001300 d4120600 900ac000
258d2e00 00800000 64d98a1f 06000b00 92e60500 c608c000 0f8b1c00 00800000
89d98a1f 0a000500 1d480800 1401c000 84be0500 00800000 aed98a1f 04001000
30a20500 d730c000 a88e0e00 00800000 16da8a1f 08001700 c7120600 910ac000
258d3300 00800000 22da8a1f 02001100 450d0500 930cc000 c0852800 00800000
2fda8a1f 02000800 610d0500 940cc000 c0852000 00800000 4eda8a1f 07001200
33030600 aa07c000 bd8e0a00 01200f00 b7da8a1f 0a001300 00480800 1501c000
84be0700 02201e00 f5da8a1f 09000700 0b440600 650fc000 968d0500 01200f00
<32 bytes per line>
BBED> p kcbh
struct kcbh, 20 bytes @0
ub1 type_kcbh @0 0x06
ub1 frmt_kcbh @1 0xa2
ub1 spare1_kcbh @2 0x00
ub1 spare2_kcbh @3 0x00
ub4 rdba_kcbh @4 0x0041dd22
ub4 bas_kcbh @8 0x1f8adac1
ub2 wrp_kcbh @12 0x0000
ub1 seq_kcbh @14 0x01
ub1 flg_kcbh @15 0x04 (KCBHFCKV)
ub2 chkval_kcbh @16 0x6cee
ub2 spare3_kcbh @18 0x0000
BBED> sum apply
Check value for File 0, Block 122147:
current = 0x7364, required = 0x7364
BBED> verify
DBVERIFY - Verification starting
FILE = D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF
BLOCK = 122146
DBVERIFY - Verification complete
Total Blocks Examined : 1
Total Blocks Processed (Data) : 0
Total Blocks Failing (Data) : 0
Total Blocks Processed (Index): 1
Total Blocks Failing (Index): 0
Total Blocks Empty : 0
Total Blocks Marked Corrupt : 0
Total Blocks Influx : 0
dbv再次验证,坏块完美修复
C:\Users\FAL>dbv file=D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF DBVERIFY: Release 11.2.0.1.0 - Production on 星期六 5月 14 22:00:06 2016 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. DBVERIFY - 开始验证: FILE = D:\BAIDUYUNDOWNLOAD\ORADATA\CHEASDB\SYSTEM01.DBF DBVERIFY - 验证完成 检查的页总数: 259840 处理的页总数 (数据): 181934 失败的页总数 (数据): 0 处理的页总数 (索引): 57381 失败的页总数 (索引): 0 处理的页总数 (其他): 3218 处理的总页数 (段) : 1 失败的总页数 (段) : 0 空的页总数: 17307 标记为损坏的总页数: 0 流入的页总数: 0 加密的总页数 : 0 最高块 SCN : 530218225 (0.530218225)
通过修复之后重新导出数据

参考相似篇章:file 1 block 128 corrupted/坏块恢复—system rollback坏块修复


加我微信(17813235971)
加我QQ(107644445)

