丢失全部控制文件(3)

010.gif使用db结构变化前的controlfile文本来恢复数据库

 

// 创建新的表空i

17:22:45 sys@LEE2>select file_name,tablespace_name

17:37:14   2  from dba_data_files;

 

FILE_NAME

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

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

TABLESPACE_NAME

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

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF

USERS

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF

SYSTEM

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF

SYSAUX

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2_01.DBF

TEST_EXP

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2.DBF

TEST_EXP

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF

LEE

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS01.DBF

USERS

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX01.DBF

SYSAUX

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\UNDOTBS01.DBF

UNDOTBS1

 

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM01.DBF

SYSTEM

 

 

已选择10行。

 

已用时间:  00: 00: 00.09

20:30:47 sys@LEE2>create tablespace lee2

20:30:58   2  datafile'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\lee2.dbf' size 5m;

 

表空间已创建。

 

已用时间:  00: 00: 01.40

20:31:23 sys@LEE2>

 

// 关闭db,模拟控制文件丢失,并用上次db结构没有改变时的controlfile 文本来重建,恢复

 

20:45:25 sys@LEE2>shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

20:55:07 sys@LEE2>startup force

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动。

 

Total System Global Area  440401920 bytes

Fixed Size                  1249440 bytes

Variable Size             109055840 bytes

Database Buffers          322961408 bytes

Redo Buffers                7135232 bytes

ORA-00205: ?????????, ??????, ???????

 

 

20:56:28 sys@LEE2>shutdown immediate

ORA-01507: ??????

 

 

ORACLE 例程已经关闭。

20:56:41 sys@LEE2>startup nomount

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动。

 

Total System Global Area  440401920 bytes

Fixed Size                  1249440 bytes

Variable Size             109055840 bytes

Database Buffers          322961408 bytes

Redo Buffers                7135232 bytes

20:56:50 sys@LEE2>CREATE CONTROLFILE REUSE DATABASE "LEE2" NORESETLOGS  ARCHIVELOG

20:57:28   2      MAXLOGFILES 16

20:57:28   3      MAXLOGMEMBERS 3

20:57:28   4      MAXDATAFILES 100

20:57:28   5      MAXINSTANCES 8

20:57:28   6      MAXLOGHISTORY 292

20:57:28   7  LOGFILE

20:57:28   8    GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO01.LOG'  SIZE 50M,

20:57:28   9    GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO02.LOG'  SIZE 50M,

20:57:29  10    GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO03.LOG'  SIZE 50M

20:57:29  11  -- STANDBY LOGFILE

20:57:29  12  DATAFILE

20:57:29  13    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM01.DBF',

20:57:29  14    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\UNDOTBS01.DBF',

20:57:29  15    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX01.DBF',

20:57:29  16    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS01.DBF',

20:57:29  17    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF',

20:57:29  18    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2.DBF',

20:57:29  19    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2_01.DBF',

20:57:29  20    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF',

20:57:29  21    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF',

20:57:29  22    'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF'

20:57:29  23  CHARACTER SET ZHS16GBK

20:57:29  24  ;

 

控制文件已创建。

 

已用时间:  00: 00: 02.56

20:57:32 sys@LEE2>recover database

ORA-00283: ??????????

ORA-00264: ?????

 

 

20:58:32 sys@LEE2>alter system archive log all;

 

系统已更改。

 

已用时间:  00: 00: 03.23

20:59:03 sys@LEE2>alter database open;

 

数据库已更改。

 

已用时间:  00: 00: 13.95

20:59:28 sys@LEE2>select * from v$log;

 

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME

 

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

----

         1          1          5   52428800          1 YES INACTIVE               1480636 30-6?  -08

 

         2          1          4   52428800          1 YES INACTIVE               1448332 30-6?  -08

 

         3          1          6   52428800          1 NO  CURRENT                1481778 30-6?  -08

 

//发现db 不可识别的文件

 

已用时间:  00: 00: 00.04

20:59:40 sys@LEE2>select tablespace_name,file_name

20:59:53   2  from dba_data_files;

 

TABLESPACE_NAME

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

FILE_NAME

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

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

USERS

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF

 

SYSTEM

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF

 

SYSAUX

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF

 

TEST_EXP

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2_01.DBF

 

TEST_EXP

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2.DBF

 

LEE

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF

 

USERS

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS01.DBF

 

SYSAUX

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX01.DBF

 

UNDOTBS1

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\UNDOTBS01.DBF

 

SYSTEM

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM01.DBF

 

LEE2

E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00011

 

 

已选择11行。

 

已用时间:  00: 00: 00.12

20:59:58 sys@LEE2>

 

//查看 警告日志:

 

Dictionary check beginning

Tablespace 'TEMP' #3 found in data dictionary,

but not in the controlfile. Adding to controlfile.

Tablespace 'LEE2' #8 found in data dictionary,

but not in the controlfile. Adding to controlfile.

File #11 found in data dictionary but not in controlfile.

Creating OFFLINE file 'MISSING00011' in the controlfile.

Dictionary check complete

Mon Jun 30 20:59:17 2008

SMON: enabling tx recovery

Mon Jun 30 20:59:17 2008

*********************************************************************

WARNING: The following temporary tablespaces contain no files.

         This condition can occur when a backup controlfile has

         been restored.  It may be necessary to add files to these

         tablespaces.  That can be done using the SQL statement:

 

         ALTER TABLESPACE ADD TEMPFILE

 

         Alternatively, if these temporary tablespaces are no longer

         needed, then they can be dropped.

           Empty temporary tablespace: TEMP

*********************************************************************

Database Characterset is ZHS16GBK

 

这个时候有两件事情要做:

1.       db 数据字典识别 lee2.dbf

2.       temp临时表空间增减datafile

 

 

//Go

21:14:22 sys@LEE2>alter database rename file 'E:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\MISSING00011'

21:14:39   2  to 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE2.DBF';

 

数据库已更改。

 

已用时间:  00: 00: 00.14

21:14:42 sys@LEE2>select tablespace_name,file_name

21:15:10   2  from dba_data_files;

 

TABLESPACE_NAME

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

FILE_NAME

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

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

USERS

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF

 

SYSTEM

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF

 

SYSAUX

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF

 

TEST_EXP

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2_01.DBF

 

TEST_EXP

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2.DBF

 

LEE

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF

 

USERS

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS01.DBF

 

SYSAUX

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX01.DBF

 

UNDOTBS1

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\UNDOTBS01.DBF

 

SYSTEM

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM01.DBF

 

LEE2

E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE2.DBF

 

 

已选择11行。

 

// 完成1.  开始2

 

21:18:22 sys@LEE2>startup force

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动。

 

Total System Global Area  440401920 bytes

Fixed Size                  1249440 bytes

Variable Size             113250144 bytes

Database Buffers          318767104 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

数据库已经打开。

21:19:51 sys@LEE2>alter tablespace temp add tempfile

21:20:29   2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\lee2\temp.dbf';

alter tablespace temp add tempfile

*

1 行出现错误:

ORA-01119: 创建数据库文件 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\lee2\temp.dbf' 时出错

ORA-17610: 文件 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\lee2\temp.dbf' 不存在, 大小也未指定

ORA-27041: 无法打开文件

OSD-04002: 无法打开文件

O/S-Error: (OS 2) 系统找不到指定的文件。

 

 

已用时间:  00: 00: 00.28

21:21:33 sys@LEE2>alter tablespace temp add tempfile

21:22:03   2  'E:\ORACLE\PRODUCT\10.2.0\ORADATA\lee2\temp01.dbf';

 

表空间已更改。

 

已用时间:  00: 00: 00.28

21:22:09 sys@LEE2>startup force

ORA-32004: obsolete and/or deprecated parameter(s) specified

ORACLE 例程已经启动。

 

Total System Global Area  440401920 bytes

Fixed Size                  1249440 bytes

Variable Size             117444448 bytes

Database Buffers          314572800 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

数据库已经打开。

21:22:40 sys@LEE2>

 

//---------------------恢复正常

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11134734/viewspace-366476/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/11134734/viewspace-366476/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值