关于UNNAMED00004

使用闪回恢复删除表空间。

以下为截取的alert日志

Fri Apr 12 16:28:51 2024
 drop tablespace users including contents and datafiles
Fri Apr 12 16:28:57 2024
Deleted Oracle managed file +DATA/ORCL/DATAFILE/users.280.1166105459
Completed:  drop tablespace users including contents and datafiles

由alert日志可知,16:28:51删除表空间USERS,现在想恢复表空间USERS。

使用闪回数据库:

 1 SQL> shutdown abort    
 2 ORACLE instance shut down.
 3 SQL> startup mount
 4 ORACLE instance started.
 5 
 6 Total System Global Area 1073741824 bytes
 7 Fixed Size                  2932632 bytes
 8 Variable Size             675283048 bytes
 9 Database Buffers          390070272 bytes
10 Redo Buffers                5455872 bytes
11 Database mounted.
12 SQL> flashback database to timestamp to_timestamp('2024-04-12:16:28:50','yyyy-mm-dd:hh24:mi:ss');
13 
14 Flashback complete.
15 
16 SQL> alter database open read only;
17 
18 Database altered.

查看v$datafile视图,发现USERS表空间数据文件为UNNAMED00004。

原因是现在的控制文件内不包含此数据文件的信息,即数据文件在物理结构不存在而在逻辑结构存在,故闪回数据库后不能恢复该数据文件。

因此,对于物理结构发生变化的数据库,谨慎使用闪回操作进行恢复。

SQL> select TABLESPACE_NAME ,status from dba_tablespaces;

TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
SYSAUX                         ONLINE
UNDOTBS1                       ONLINE
TEMP                           ONLINE
USERS                          ONLINE
EXAMPLE                        ONLINE

SQL
> select name from v$datafile; NAME ---------------------------------------------------------------------------------------- +DATA/ORCL/DATAFILE/system.278.1165676991 +DATA/ORCL/DATAFILE/sysaux.285.1165676991 +DATA/ORCL/DATAFILE/undotbs1.273.1165676991 /u01/app/oracle/product/12.1.0/dbhome_2/dbs/UNNAMED00004 +DATA/ORCL/DATAFILE/example.286.1166022723

 

posted @ 2024-04-12 16:58  霜雪吴钩  阅读(10)  评论(0)    收藏  举报
作者:霜雪吴钩 版权声明:本文为博主原创文章,转载请附上博文链接!