Oracle完全脱机,部分脱机与部分联机备份(十一)
322946396
13 rows selected
--其中ID为9的数据不存在,因为我们当时操作的时候没有提交。已经丢失。
2.部分脱机恢复(TABLESPACE OFFLINE)
针对表空间,部分 OFFLINE 恢复
--将表空间OFFLINE
SQL> alter tablespace TBS_LUBINSU_DATA offline;
Tablespace altered.
SQL> SELECT * FROM lubinsu.manager_tm;
SELECT * FROM lubinsu.manager_tm
*
ERROR at line 1:
ORA-00376: file 7 cannot be read at this time
ORA-01110: data file 7: '/home/oracle/oracle/product/10.2.0/oradata/orcl/tbs_data.dbf'
--现在已经无法查询该表空间中的数据文件了。
--备份该表空间对应的数据文件:
[oracle@localhost orcl]$ cp tbs_data.dbf /home/oracle/orcl_backup/
--将数据ONLINE
SQL> alter tablespace TBS_LUBINSU_DATA online;
Tablespace altered
--插入一条数据提交
INSERT INTO t_scn values(9, dbms_flashback.get_system_change_number);
COMMIT;
ALTER SYSTEM SWITCH LOGFILE;
INSERT INTO t_scn values(10, dbms_flashback.get_system_change_number);
COMMIT;
ALTER SYSTEM SWITCH LOGFILE;
INSERT INTO t_scn values(11, dbms_flashback.get_system_change_number);
COMMIT;
ALTER SYSTEM SWITCH LOGFILE;
INSERT INTO t_scn values(12, dbms_flashback.get_system_change_number);
COMMIT;
ALTER SYSTEM SWITCH LOGFILE;
INSERT INTO t_scn values(13, dbms_flashback.get_system_change_number);
COMMIT;
ALTER SYSTEM SWITCH LOGFILE;
--删除数据文件
[oracle@localhost orcl]$ rm tbs_data.dbf
--查看数据文件头的SCN号:
SQL> select file#, checkpoint_change# from v$datafile;
FILE# CHECKPOINT_CHANGE#
1 13229463987400
2 13229463987400
3 13229463987400
4 13229463987400
5 13229463987400
6 13229463987400
7 13229463987420
7 rows selected
SQL> select file#, checkpoint_change# from v$datafile_header;
FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 13229463987400
2 13229463987400
3 13229463987400
4 13229463987400
5 13229463987400
6 13229463987400
7 0
7 rows selected
--这时我们将原来备份的文件拷贝回来:
[oracle@localhost orcl]$ cp /home/oracle/orcl_backup/tbs_data.dbf tbs_data.dbf
--ONLINE提示需要介质恢复
SQL> alter tablespace tbs_lubinsu_data online;
alter tablespace tbs_lubinsu_data online
*
ERROR at line 1:
ORA-01113: file 7 needs media recovery
ORA-01110: data file 7:
'/home/oracle/oracle/product/10.2.0/oradata/orcl/tbs_data.dbf'
SQL> recover datafile 7;
ORA-00279: change 13229463987253 generated at 06/02/2013 15:53:49 needed for
thread 1
ORA-00289: suggestion :
/home/oracle/oracle/product/10.2.0/flash_recovery_area/ORCL/archivelog/2013_06_0
2/o1_mf_1_173_%u_.arc
ORA-00280: change 13229463987253 for thread 1 is in sequence #173
Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 13229463987380 generated at 06/02/2013 15:57:25 needed for
thread 1
ORA-00289: suggestion :
/home/oracle/oracle/product/10.2.0/flash_recovery_area/ORCL/archivelog/2013_06_0
2/o1_mf_1_174_%u_.arc
ORA-00280: change 13229463987380 for thread 1 is in sequence #174
ORA-00278: log file
'/home/oracle/oracle/product/10.2.0/