498.The database Is configured in ARCHIVELOG mode. The database needs to be up 24 X 7. You want
to perform user managed backup for the data files of the HR_DATA tablespace. To accomplish the task,
you issued the following command:
SQL> ALTER TABLESPACE hi_data BEGIN BACKUP;
Which two statements are true in this scenario? (Choose two.)
A. No transaction on the tablespace is allowed but you can perform queries.
B. The tablespace will automatically come out of backup mode when the file copy is complete.
C. The checkpoint change number is frozen in headers of the data files until the file is removed from backup mode.
D. The database writes the before image of an entire block to the redo stream before modifying block for the first time.
Answer: AC
答案解析:
参考:http://docs.oracle.com/cd/E11882_01/backup.112/e10642/osbackup.htm#BRADV90002
根据以下做的实验,表空间在备份模式时,可以进行查询和DML操作,所以A错。
B错误,必须使用alter tablespace 表空间名 end backup来结束手动备份模式。
根据In backup mode, the database copies whole changed data blocks into the redo stream.说明,在备份模式下,事务产生的日志会放在redo stream里面。
而D答案说,在备份模式下,数据库会在改变块的第一时间,把先前的整个块的image写到redo stream里面,故是正确的。
故正确答案选CD
Making User-Managed Backups of Online Read/Write Tablespaces
You must put a read/write tablespace in backup mode to make user-managed data file backups when the tablespace is online and the database is open. TheALTER
TABLESPACE
...
BEGIN
BACKUP
statement places a tablespace in backup mode. In backup mode, the database copies whole changed data blocks into the redo stream. After you take the tablespace out of backup mode with the ALTER
TABLESPACE
...
END
BACKUP
or ALTER
DATABASE
END
BACKUP
statement, the database advances the data file checkpoint SCN to the current database checkpoint SCN.
When restoring a data file backed up in this way, the database asks for the appropriate set of redo log files to apply if recovery is needed. The redo logs contain all changes required to recover the data files and make them consistent.
sys@TESTDB01>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 9
Next log sequence to archive 11
Current log sequence 11
sys@TESTDB01>alter tablespace users begin backup;
Tablespace altered.
sys@TESTDB01>select count(*) from scott.emp;
COUNT(*)
----------
14
sys@TESTDB01>delete from scott.emp where empno=7788;
1 row deleted.
sys@TESTDB01>select count(*) from scott.emp;
COUNT(*)
----------
13
sys@TESTDB01>rollback;
Rollback complete.
sys@TESTDB01>select count(*) from scott.emp;
COUNT(*)
----------
14
sys@TESTDB01>alter tablespace users offline;
alter tablespace users offline
*
ERROR at line 1:
ORA-01150: cannot prevent writes - file 4 has online backup set
ORA-01110: data file 4: '/u01/app/oracle/oradata/testdb0103/users01.dbf'
sys@TESTDB01>