ALLSTARS_ORACLE 发表于 2017-4-16 16:56:48

oracle数据库不能open ORA-00704 ORA-00604 ORA-01502 Solaris Sunos

本帖最后由 ALLSTARS_ORACLE 于 2017-5-3 15:05 编辑

操作:
  对表做了move后,没有rebuild index,然后就关闭数据库了,导致数据库不能重新启动

alter<sid>.log
  Errors in file /space/oracle/admin/test/udump/test_ora_22836.trc:
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01502: index 'SYS.I_ACCESS1' or partition of such index is in unusable state
Mon May 28 16:31:10 2007
Error 704 happened during db open, shutting down database
USER: terminating instance due to error 704
Instance terminated by USER, pid = 22836
ORA-1092 signalled during: ALTER DATABASE OPEN...


more /space/oracle/admin/test/udump/test_ora_22836.trc:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
ORACLE_HOME = /space/oracle/product/9.2.0
System name:    SunOS
Node name:      test
Release:        5.10
Version:        Generic
Machine:        sun4u
Instance name: test
Redo thread mounted by this instance: 1
Oracle process number: 12
Unix process pid: 22836, image: oracle@test (TNS V1-V3)

*** SESSION ID11.3) 2007-05-28 16:31:08.284
Thread 1 recovery from rba:0x000722.00000002.0010 scn:0x0000.0386d5a1
----- Redo read statistics for thread 1 -----
Read rate (ASYNC) = 0Kb/sec => 1 blocks in 1s
Read buffer = 8192Kb (16384 blocks)
Longest record = 0Kb
Record moves = 0/1 (0%)
----------------------------------------------
*** 2007-05-28 16:31:08.330
KCRA: start recovery claims for 0 data blocks
*** 2007-05-28 16:31:08.330
KCRA: buffers claimed = 0/0, eliminated = 0
- Created archivelog as '/space/oracle/archive/1_1824.dbf'
ORA-00704: bootstrap process failure
ORA-00604: error occurred at recursive SQL level 1
ORA-01502: index 'SYS.I_ACCESS1' or partition of such index is in unusable state

ALLSTARS_ORACLE 发表于 2017-5-3 15:03:37

I_ACCESS1 索引受损

ORA-01502: index 'SYS.I_ACCESS1' or partition of such index is in unusable state

试试
startup upgrade

startup migrate
是否能open  数据库

否则可能只能用prm-dul类oracle恢复工具恢复数据 http://zcdn.parnassusdata.com/DUL4108.zip

biotwang 发表于 2017-7-16 17:05:54

本帖最后由 biotwang 于 2017-7-24 18:39 编辑

SQL> select obj# from obj$ where name='I_ACCESS1';

      OBJ#
----------
       108          

SQL> select flags,obj# from ind$ where obj#=108;

     FLAGS       OBJ#
---------- ----------
      2051        108

          
create table ind$                                             /* index table */
( obj#          number not null,                            /* object number */
  /* DO NOT CREATE INDEX ON DATAOBJ#  AS IT WILL BE UPDATED IN A SPACE
   * TRANSACTION DURING TRUNCATE */
  dataobj#      number,                          /* data layer object number */
  ts#           number not null,                        /* tablespace number */
  file#         number not null,               /* segment header file number */
  block#        number not null,              /* segment header block number */
  ...
  flags         number not null,      
                /* mutable flags: anything permanent should go into property */
                                                    /* unusable (dls) : 0x01 */   -- 2051
                                                    /* analyzed       : 0x02 */
                                                    /* no logging     : 0x04 */
                                    /* index is currently being built : 0x08 */
                                     /* index creation was incomplete : 0x10 */
                                           /* key compression enabled : 0x20 */
                                              /* user-specified stats : 0x40 */
                                            /* secondary index on IOT : 0x80 */
                                      /* index is being online built : 0x100 */
                                    /* index is being online rebuilt : 0x200 */
                                                /* index is disabled : 0x400 */
                                                     /* global stats : 0x800 */
                                            /* fake index(internal) : 0x1000 */
                                       /* index on UROWID column(s) : 0x2000 */
                                            /* index with large key : 0x4000 */SQL> alter database open upgrade;

SQL> update ind$ set flags=1024 where obj#=108;

SQL> commit;

SQL> alter index SYS.I_ACCESS1 rebuild;SQL> select owner,table_name,index_name,tablespace_name,status from dba_indexes where table_name like '%ACCESS%';

OWNER      TABLE_NAME      INDEX_NAME      TABLESPACE_NAME STATUS
---------- --------------- --------------- --------------- --------
SYS        ACCESS$         I_ACCESS1       SYSTEM          VALID

biotwang 发表于 2017-7-16 17:09:42

alter database open upgrade;
alter index SYS.I_ACCESS1 rebuild;
重启数据库查看问题是否解决。
页: [1]
查看完整版本: oracle数据库不能open ORA-00704 ORA-00604 ORA-01502 Solaris Sunos