日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复

發布時間:2025/3/20 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

undo表空間的數據文件丟失,如果沒有備份的情況下,而且redo也不可用,這個時候就要采用隱藏參數來恢復,下邊給出一個例子。

?

undo表空間文件丟失恢復(1)--有備份的情況下恢復:http://blog.itpub.net/26736162/viewspace-1458654/

undo表空間文件丟失恢復(2)--無備份有redo的情況下恢復:http://blog.itpub.net/26736162/viewspace-1458663/

?

[oracle@rhel6_lhr ~]$ sqlplus / as sysdba

?

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 12 18:13:13 2015

?

Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.

?

?

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

?

SQL> create undo tablespace undotbs2 datafile '/u03/app/oracle/oradata/ora1024g/undotbs02.dbf' size 5m autoextend on;

?

Tablespace created.

?

SQL> show parameter undo

?

NAME???????????????????????????????? TYPE??????? VALUE

------------------------------------ ----------- ------------------------------

undo_management????????????????????? string????? AUTO

undo_retention?????????????????????? integer???? 900

undo_tablespace????????????????????? string????? UNDOTBS1

?

?

SQL> create table bb as select * from user_tables;

?

Table created.

?

SQL> insert into bb select * from user_tables;

?

707 rows created.

?

SQL> shutdown abort;

ORACLE instance shut down.

SQL>

?

?

SQL> ho rm?? /u03/app/oracle/oradata/ora1024g/undotbs01.dbf

?

?

SQL> startup force;

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 2 - see DBWR trace file

ORA-01110: data file 2: '/u03/app/oracle/oradata/ora1024g/undotbs01.dbf'

?

?

SQL> alter system set undo_tablespace=undotbs2 scope=spfile;

?

System altered.

?

SQL> alter system set undo_management=manual scope=spfile;

?

System altered.

?

SQL> startup force mount;

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

?

SQL> set line 9999

SQL> col name format a100

SQL> select name,status,enabled from v$datafile;

?

NAME???????????????????????????????????????????????????????????????????????????????????????????????? STATUS? ENABLED

---------------------------------------------------------------------------------------------------- ------- ----------

/u03/app/oracle/oradata/ora1024g/system01.dbf??????????????????????????????????????????????????????? SYSTEM? READ WRITE

/u03/app/oracle/oradata/ora1024g/undotbs01.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/sysaux01.dbf??????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/users01.dbf???????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/example01.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/undotbs02.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

?

6 rows selected.

?

SQL>

SQL> alter database datafile 2 offline;

?

Database altered.

?

---注意這里undo的狀態為recover

SQL>? select file#,name,status,enabled from v$datafile;

?

???? FILE# NAME???????????????????????????????????????????????????????????????????????????????????????????????? STATUS? ENABLED

---------- ---------------------------------------------------------------------------------------------------- ------- ----------

???????? 1 /u03/app/oracle/oradata/ora1024g/system01.dbf??????????????????????????????????????????????????????? SYSTEM? READ WRITE

???????? 2 /u03/app/oracle/oradata/ora1024g/undotbs01.dbf?????????????????????????????????????????????????????? RECOVER READ WRITE

???????? 3 /u03/app/oracle/oradata/ora1024g/sysaux01.dbf??????????????????????????????????????????????????????? ONLINE? READ WRITE

???????? 4 /u03/app/oracle/oradata/ora1024g/users01.dbf???????????????????????????????????????????????????????? ONLINE? READ WRITE

???????? 5 /u03/app/oracle/oradata/ora1024g/example01.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

???????? 6 /u03/app/oracle/oradata/ora1024g/undotbs02.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

?

6 rows selected.

?

?

SQL> alter database open;

alter database open

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

?

?

SQL>

?

?

?

此時查看altert日志:

Thu Mar 12 18:16:17 2015

alter database open

Thu Mar 12 18:16:17 2015

Beginning crash recovery of 1 threads

parallel recovery started with 2 processes

Thu Mar 12 18:16:17 2015

Started redo scan

Thu Mar 12 18:16:17 2015

Completed redo scan

123 redo blocks read, 23 data blocks need recovery

Thu Mar 12 18:16:17 2015

Started redo application at

Thread 1: logseq 3, block 99

Thu Mar 12 18:16:17 2015

Recovery of Online Redo Log: Thread 1 Group 3 Seq 3 Reading mem 0

? Mem# 0: /u03/app/oracle/oradata/ora1024g/redo03.log

Thu Mar 12 18:16:17 2015

Completed redo application

Thu Mar 12 18:16:18 2015

Completed crash recovery at

Thread 1: logseq 3, block 222, scn 734292

23 data blocks read, 23 data blocks written, 123 redo blocks read

Thu Mar 12 18:16:18 2015

LGWR: STARTING ARCH PROCESSES

ARC0 started with pid=18, OS id=33684

Thu Mar 12 18:16:18 2015

ARC0: Archival started

ARC1: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC1 started with pid=19, OS id=33686

Thu Mar 12 18:16:18 2015

Thread 1 advanced to log sequence 4 (thread open)

Thread 1 opened at log sequence 4

? Current log# 1 seq# 4 mem# 0: /u03/app/oracle/oradata/ora1024g/redo01.log

Successful open of redo thread 1

Thu Mar 12 18:16:18 2015

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Thu Mar 12 18:16:18 2015

ARC0: Becoming the 'no FAL' ARCH

ARC0: Becoming the 'no SRL' ARCH

Thu Mar 12 18:16:18 2015

SMON: enabling cache recovery

Thu Mar 12 18:16:18 2015

ARC1: Becoming the heartbeat ARCH

Thu Mar 12 18:16:18 2015

db_recovery_file_dest_size of 2048 MB is 29.58% used. This is a

user-specified limit on the amount of space that will be used by this

database for recovery-related files, and does not reflect the amount of

space available in the underlying filesystem or ASM diskgroup.

Thu Mar 12 18:16:18 2015

Errors in file /u03/app/oracle/admin/ora1024g/udump/ora1024g_ora_33662.trc:

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u03/app/oracle/oradata/ora1024g/undotbs01.dbf'

Thu Mar 12 18:16:18 2015

Error 376 happened during db open, shutting down database

USER: terminating instance due to error 376

Instance terminated by USER, pid = 33662

ORA-1092 signalled during: alter database open...

?

查看文件: /u03/app/oracle/admin/ora1024g/udump/ora1024g_ora_33662.trc

[root@rhel6_lhr ~]# more /u03/app/oracle/admin/ora1024g/udump/ora1024g_ora_33662.trc

/u03/app/oracle/admin/ora1024g/udump/ora1024g_ora_33662.trc

Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

ORACLE_HOME = /u03/app/oracle/product/10.2.0/db_1

System name:??? Linux

Node name:????? rhel6_lhr

Release:??????? 2.6.32-431.el6.x86_64

Version:??????? #1 SMP Sun Nov 10 22:19:54 EST 2013

Machine:??????? x86_64

Instance name: ora1024g

Redo thread mounted by this instance: 1

Oracle process number: 15

Unix process pid: 33662, image: oracle@rhel6_lhr (TNS V1-V3)

?

*** 2015-03-12 18:16:17.849

*** ACTION NAME:() 2015-03-12 18:16:17.849

*** MODULE NAME:(sqlplus@rhel6_lhr (TNS V1-V3)) 2015-03-12 18:16:17.849

*** SERVICE NAME:() 2015-03-12 18:16:17.849

*** SESSION ID:(159.3) 2015-03-12 18:16:17.849

Successfully allocated 2 recovery slaves

Using 550 overflow buffers per recovery slave

Thread 1 checkpoint: logseq 3, block 2, scn 713814

? cache-low rba: logseq 3, block 99

??? on-disk rba: logseq 3, block 222, scn 714292

? start recovery at logseq 3, block 99, scn 0

----- Redo read statistics for thread 1 -----

Read rate (ASYNC): 61Kb in 0.12s => 0.50 Mb/sec

Total physical reads: 4096Kb

Longest record: 1Kb, moves: 0/284 (0%)

Change moves: 4/47 (8%), moved: 0Mb

Longest LWN: 38Kb, moves: 0/21 (0%), moved: 0Mb

Last redo scn: 0x0000.000ae633 (714291)

----------------------------------------------

----- Recovery Hash Table Statistics ---------

Hash table buckets = 32768

Longest hash chain = 1

Average hash chain = 23/23 = 1.0

Max compares per lookup = 1

Avg compares per lookup = 176/225 = 0.8

----------------------------------------------

*** 2015-03-12 18:16:17.970

KCRA: start recovery claims for 23 data blocks

*** 2015-03-12 18:16:17.999

KCRA: blocks processed = 23/23, claimed = 23, eliminated = 0

*** 2015-03-12 18:16:17.999

Recovery of Online Redo Log: Thread 1 Group 3 Seq 3 Reading mem 0

----- Recovery Hash Table Statistics ---------

Hash table buckets = 32768

Longest hash chain = 1

Average hash chain = 23/23 = 1.0

Max compares per lookup = 1

Avg compares per lookup = 191/199 = 1.0

----------------------------------------------

tkcrrsarc: (WARN) Failed to find ARCH for message (message:0x1)

tkcrrpa: (WARN) Failed initial attempt to send ARCH message (message:0x1)

ORA-00376: file 2 cannot be read at this time

ORA-01110: data file 2: '/u03/app/oracle/oradata/ora1024g/undotbs01.dbf'

[root@rhel6_lhr ~]#

?

?

必須讀取2號文件才能保證一致性,此時使用隱含參數:

?

[oracle@rhel6_lhr ~]$ sqlplus / as sysdba

?

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 12 18:22:58 2015

?

Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.

?

Connected to an idle instance.

?

SQL> startup mount;

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

SQL>? alter system set "_offline_rollback_segments"=true scope=spfile;

?

System altered.

?

?

SQL> startup force mount;

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

SQL> alter database open;

?

alter database open

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

?

SQL> exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

[oracle@rhel6_lhr dbs]$ sqlplus / as sysdba

?

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Mar 12 20:36:56 2015

?

Copyright (c) 1982, 2007, Oracle.? All Rights Reserved.

?

Connected to an idle instance.

?

SQL> startup mount;

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

?

SQL> alter system set "_corrupted_rollback_segments"='_SYSSMU1$','_SYSSMU2$','_SYSSMU3$','_SYSSMU4$','_SYSSMU5$','_SYSSMU6$','_SYSSMU7$','_SYSSMU8$','_SYSSMU9$','_SYSSMU10$' scope=spfile;

?

System altered.

?

SQL> alter database open;

?

SQL> set line 9999

SQL> col name format a100

SQL> select name,status,enabled from v$datafile;

?

NAME???????????????????????????????????????????????????????????????????????????????????????????????? STATUS? ENABLED

---------------------------------------------------------------------------------------------------- ------- ----------

/u03/app/oracle/oradata/ora1024g/system01.dbf??????????????????????????????????????????????????????? SYSTEM? READ WRITE

/u03/app/oracle/oradata/ora1024g/undotbs01.dbf?????????????????????????????????????????????????????? OFFLINE READ WRITE

/u03/app/oracle/oradata/ora1024g/sysaux01.dbf??????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/users01.dbf???????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/example01.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

/u03/app/oracle/oradata/ora1024g/undotbs02.dbf?????????????????????????????????????????????????????? ONLINE? READ WRITE

?

6 rows selected.

?

SQL> select segment_name,status,tablespace_name from dba_rollback_segs;

?

SEGMENT_NAME?????????????????? STATUS?????????? TABLESPACE_NAME

------------------------------ ---------------- ------------------------------

SYSTEM???????????????????????? ONLINE?????????? SYSTEM

_SYSSMU10$???????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU9$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU8$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU7$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU6$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU5$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU4$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU3$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU2$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU1$????????????????????? OFFLINE????????? UNDOTBS1

_SYSSMU20$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU19$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU18$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU17$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU16$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU15$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU14$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU13$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU12$???????????????????? OFFLINE????????? UNDOTBS2

_SYSSMU11$???????????????????? OFFLINE????????? UNDOTBS2

?

21 rows selected.

?

SQL> create undo tablespace undotbs1 datafile '/u03/app/oracle/oradata/ora1024g/undotbs01.dbf' size 50m autoextend on;

?

Tablespace created.

?

SQL> alter system set undo_tablespace=UNDOTBS1? scope=spfile;

?

System altered.

?

SQL> alter system set undo_management=auto? scope=spfile;

?

System altered.

?

SQL> alter system reset "_offline_rollback_segments" scope=spfile sid='*';

?

System altered.

?

SQL> alter system reset "_corrupted_rollback_segments" scope=spfile sid='*';

?

System altered.

?

SQL>

?

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

?

Total System Global Area? 448790528 bytes

Fixed Size????????????????? 2084616 bytes

Variable Size???????????? 130023672 bytes

Database Buffers????????? 310378496 bytes

Redo Buffers??????????????? 6303744 bytes

Database mounted.

Database opened.

SQL> show parameter undo

?

NAME???????????????????????????????? TYPE??????? VALUE

------------------------------------ ----------- ------------------------------

undo_management????????????????????? string????? AUTO

undo_retention?????????????????????? integer???? 900

undo_tablespace????????????????????? string????? UNDOTBS1

SQL>

?

?

?

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的undo表空间文件丢失恢复(3)--无备份无redo的情况下恢复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。