Samdy_Chan 发表于 2013-02-26 17:32

创建表空间时用了nologing选项,为什么还可以recover?

大家好:
      我在创建表空间时使用了nologing选项,也就是不记录重做日志:
create tablespace user05 nologging datafile '/ora01/oracle/oradata/demo/user_05.dbf' size 1m;
做实验,然后关闭数据库,删除 user_05.dbf 数据文件:
shutdown immediate;
rm -f /ora01/oracle/oradata/demo/user_05.dbf
,再startup启动数据库报错,报找不到user_05.dbf 数据文件,之后,我执行
alter database create datafile '/ora01/oracle/oradata/demo/user_05.dbf'
重新创建数据文件,
然后再执行 recover datafile '/ora01/oracle/oradata/demo/user_05.dbf';
居然可以成功,然后可以正常打开数据库,正常使用该 表空间数据文件。
想问一下,我创建表空间时,使用了nologging,为何使用 recover datafile '/ora01/oracle/oradata/demo/user_05.dbf';
命令应用重做日志会成功呢?
创建表空间时,使用了nologging选项,不是不记录记录重做日志的吗?
为什么还可以应用日志恢复该数据文件的呢?
待复,感谢!

Samdy_Chan 发表于 2013-02-27 16:07

有人愿意帮忙解答下吗?谢谢!

socol1 发表于 2013-02-27 16:45

http://docs.oracle.com/cd/E11882_01/server.112/e25494/tspaces004.htm

xuhainanjing 发表于 2013-02-28 22:39

回复 1# Samdy_Chan
你在mount状态下能create tablespace???

SYS@X64> create tablespace mount datafile '/oracle/oradata/X64/mount.dbf';
create tablespace mount datafile '/oracle/oradata/X64/mount.dbf'
*
ERROR at line 1:
ORA-01109: database not open

   

cow977 发表于 2013-03-06 09:59

回复 1# Samdy_Chan


    把你的测试操作步骤详细列出来。
页: [1]
查看完整版本: 创建表空间时用了nologing选项,为什么还可以recover?