假如数据库崩溃,无法恢复,参数文件,控制文件,日志文件都不可用,只有数据文件(后缀为dbf)可用,能利用这些数据文件创建一个新的数据库吗?如果能,如何创建?
在我现在正在运行的数据库中,可以查看在我现在地数据库中存在有用户test。
SQL*Plus: Release 9.2.0.1.0 - Production on 星期日 3月 19 22:22:16 2006 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. SQL> conn test/test 已连接。 SQL> create table test as select '1' c from all_objects where rownum <5; 表已创建。 SQL> select * from test; C - 1 1 1 1
可以看到用户test有三个表,其中test表中的数据如上所示。
SQL> select table_name from user_tables;
TABLE_NAME
------------------------------
PLAN_TABLE
T
TEST
SQL>

这时候我们关闭数据库,备份数据库,目的是为了万一我们的试验不成功可以恢复数据库。当然,你可以逻辑备份,也可以物理备份,当然在我这里外只是将我的数据库问题转移一个目录,只是留下我的数据文件。当然我的数据文件也是备份的了。
SQL> conn /as sysdba 已连接。 SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。 SQL>