恢复:丢失所用控制文件,但数据文件和联机日志没有丢失。(更正3)
// 原来的dbf文件
15:43:11 sys@LEE2>select tablespace_name,file_name
15:43:23 2 from dba_data_files;
TABLESPACE_NAME
------------------------------
FILE_NAME
----------------------------------------------------------------------------------------------------
--------------------------------------------------
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
LEE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF
SYSAUX
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF
SYSTEM
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF
USERS
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF
已选择8行。
已用时间: 00: 00: 00.12
15:43:30 sys@LEE2>
//增加表空间lee的数据文件
15:46:52 sys@LEE2>alter tablespace lee add
15:47:19 2 datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\lee02.dbf' size 5m;
表空间已更改。
已用时间: 00: 00: 02.98
15:48:09 sys@LEE2>select tablespace_name,file_name
15:48:29 2 from dba_data_files;
TABLESPACE_NAME
------------------------------
FILE_NAME
----------------------------------------------------------------------------------------------------
--------------------------------------------------
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
LEE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE02.DBF
LEE
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF
SYSAUX
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF
SYSTEM
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF
USERS
E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF
已选择9行。
// 模拟丢失,删除全部控制文件
15:51:38 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 104861536 bytes
Database Buffers 327155712 bytes
Redo Buffers 7135232 bytes
ORA-00205: ?????????, ??????, ???????
// 开始恢复
15:53:28 sys@LEE2>shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
15:54:17 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 104861536 bytes
Database Buffers 327155712 bytes
Redo Buffers 7135232 bytes
15:54:48 sys@LEE2>
//用原先没有增加lee02。Dbf的controlfile文本恢复(trace里面的),但要对文本内容进行修改调整,对应最后的修改
15:54:48 sys@LEE2>CREATE CONTROLFILE REUSE DATABASE "LEE2" NORESETLOGS ARCHIVELOG
15:59:10 2 MAXLOGFILES 16
15:59:10 3 MAXLOGMEMBERS 3
15:59:10 4 MAXDATAFILES 100
15:59:10 5 MAXINSTANCES 8
15:59:10 6 MAXLOGHISTORY 292
15:59:10 7 LOGFILE
15:59:10 8 GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO01.LOG' SIZE 50M,
15:59:10 9 GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO02.LOG' SIZE 50M,
15:59:10 10 GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\REDO03.LOG' SIZE 50M
15:59:10 11 -- STANDBY LOGFILE
15:59:10 12 DATAFILE
15:59:10 13 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM01.DBF',
15:59:10 14 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\UNDOTBS01.DBF',
15:59:10 15 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX01.DBF',
15:59:10 16 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS01.DBF',
15:59:10 17 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE01.DBF',
15:59:10 18 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSAUX02.DBF',
15:59:10 19 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\SYSTEM02.DBF',
15:59:10 20 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\USERS02.DBF',
15:59:10 21 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\LEE02.DBF'
15:59:10 22 CHARACTER SET ZHS16GBK
15:59:10 23 ;
控制文件已创建。
已用时间: 00: 00: 02.42
15:59:14 sys@LEE2>alter system archive log all;
系统已更改。
已用时间: 00: 00: 12.90
15:59:46 sys@LEE2>recover database;
ORA-00283: ??????????
ORA-00264: ?????
----------这里的错误描述信息是数据库不需要恢复。因此,直接忽略这个错误。
15:59:57 sys@LEE2>alter database open;
数据库已更改。
已用时间: 00: 00: 14.09
16:00:41 sys@LEE2>
// 检查警告日志文件, 发现:
*********************************************************************
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
*********************************************************************
//应为恢复置空了temp 表空间,所以需要向temp 添加数据文件(其实也可以从trace里面得到要做的步骤)
16:00:41 sys@LEE2>ALTER TABLESPACE TEMP ADD TEMPFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\LEE2\TEMP01.D
BF'
16:03:58 2 SIZE 91226112 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
表空间已更改。
已用时间: 00: 00: 00.39
16:04:01 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
数据库装载完毕。
数据库已经打开。
16:04:39 sys@LEE2>
// 恢复正常!!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11134734/viewspace-368913/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11134734/viewspace-368913/