异地冷恢复时,如果发现【在备份库下】v$datafile里显示的有些用户用的数据文件没有备份的话,只要(冷恢复阶段)在 mount时 alter database datafile A offline【归档模式】或是 alter database datafile A offline drop 【非归档模式】。这样使v$datafile里该文件的状态为非online 即可 。这样open阶段时 oracle系统不会去打开该文件。这样,数据库就算正常启动了。如果open阶段时 oracle系统去打开该文件,而该文件又不存在实际在操作系统里。这样,数据库就不能正常启动。
注释:
1、数据文件创建时必须确定它属于哪个表空间,所以用alter tablespace add语句创建,而没有alter database add语句创建。
2、数据文件创建时属于哪个表空间,则以后就只能该表空间能用,数据文件即使用alter database rename给其他表空间,也不能用。
除非用alter tablespace 其他表空间名 add 该数据文件 size 100m reuse(reuse重新构造了该文件的属性,如它的表空间是谁等???)。
【参见alter tablespace/database语句中的reuse选项】
而alter database create 该数据文件 ,则是不行的,虽然也重新构造了该文件的属性,但它的表空间还是原来那个。