在非归档模式下不能更改表空间为备份模式

Oracle表空间设置为备份模式后,便可以联机对表空间下数据文件进行文件系统级别的copy备份操作,因为期间对表空间的修改都记录到数据库的重做日志文件中。

由此想到数据库如果是非归档模式,那么这个表空间备份模式的时间必须不能超过联机日志被覆盖的时间,才能保证数据的修改不会丢失。

那么Oracle对这种情况是如何择决的呢?

实验表明:Oracle是干脆不让你在非归档模式下开启表空间的备份模式。

报错如下: ORA-01123: cannot start online backup; media recovery not enabled

实验验证如下: 环境:RHEL 6.4 + Oracle 11.2.0.3

1.归档模式下可以开启表空间的备份模式。

SQL>  alter tablespace TT begin backup;



Tablespace altered.



SQL>  host cp /home/oradata/JYZHAO/datafile/tt.dbf /tmp/



SQL>  alter tablespace TT end backup;



Tablespace altered.



SQL>  !ls -lh /tmp |grep tt

-rw-r-----. 1 oracle oinstall  11M Sep 17 17:06 tt.dbf



SQL> archive log list

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     1876

Next log sequence to archive   1879

Current log sequence           1879

2.修改数据库为非归档模式下,发现表空间的备份模式开启将不被允许。

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount

ORACLE instance started.



Total System Global Area  413372416 bytes

Fixed Size                  2228904 bytes

Variable Size             356519256 bytes

Database Buffers           46137344 bytes

Redo Buffers                8486912 bytes

Database mounted.



SQL> alter database noarchivelog;



Database altered.



SQL> archive log list

Database log mode              No Archive Mode

Automatic archival             Disabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     1876

Current log sequence           1879

SQL> alter database open;



Database altered.



SQL> alter tablespace TT begin backup;

alter tablespace TT begin backup

*

ERROR at line 1:

ORA-01123: cannot start online backup; media recovery not enabled

 

你可能感兴趣的:(表空间)