Oracle完全脱机,部分脱机与部分联机备份(三)
_change# 日志中最小的SCN号, a.next_change# 日志中最大的SCN号 FROM v$archived_log a WHERE a.sequence# >= 161;
--Oracle支持的备份恢复的种类
1.完全脱机备份(适合归档模式和非归档模式)
SHUTDOWN
将Oracle的:
数据文件
控制文件
日志文件备份下来
在对应目录下,备份这些文件即可:
其中:临时文件不需要备份,控制文件只要备份一份即可
[lubinsu@localhost orcl]$ pwd
/home/oracle/oracle/product/10.2.0/oradata/orcl
[lubinsu@localhost orcl]$ ll
total 2855936
-rw-r----- 1 oracle oinstall 7094272 Jun 2 11:19 control01.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 11:19 control02.ctl
-rw-r----- 1 oracle oinstall 7094272 Jun 2 11:19 control03.ctl
-rw-r----- 1 oracle oinstall 52429312 Jun 2 11:19 redo01.log
-rw-r----- 1 oracle oinstall 52429312 Jun 2 11:13 redo02.log
-rw-r----- 1 oracle oinstall 52429312 Jun 2 11:15 redo03.log
-rw-r----- 1 oracle oinstall 304095232 Jun 2 11:19 sysaux01.dbf
-rw-r----- 1 oracle oinstall 513810432 Jun 2 11:19 system01.dbf
-rw-r----- 1 oracle oinstall 513810432 Jun 2 11:19 tbs_data.dbf
-rw-r----- 1 oracle oinstall 50339840 May 25 14:20 temp01.dbf
-rw-r----- 1 oracle oinstall 309338112 Jun 2 11:19 undotbs01.dbf
-rw-r----- 1 oracle oinstall 1052516352 Jun 2 11:19 users01.dbf
--备份文件(对于备份,这里只是做个例子,实际上进行异地备份是最安全的方式)
[lubinsu@localhost oradata]$ cp -r orcl /home/lubinsu/
SELECT * FROM user_tables a WHERE a.table_name = 'T_SCN';--在TBS_LUBINSU_DATA表空间中
--再插入几条数据
INSERT INTO t_scn values(1, dbms_flashback.get_system_change_number);
COMMIT;
alter system switch logfile;
SELECT * FROM v$log;
SQL> SELECT * FROM v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 164 52428800 1 NO CURRENT 1322946396056 2013/6/2 11
2 1 162 52428800 1 YES INACTIVE 1322946396032 2013/6/2 11
3 1 163 52428800 1 YES INACTIVE 1322946396049 2013/6/2 11
SQL> alter system switch logfile;
System altered
SQL> INSERT INTO t_scn values(2, dbms_flashback.get_system_change_number);
1 row inserted
SQL> SELECT * FROM v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 164 52428800 1 YES ACTIVE 1322946396056 2013/6/2 11
2 1 165 52428800 1 NO CURRENT 1322946396143 2013/6/2 11
3 1 163 52428800 1 YES INACTIVE 1322946396049 2013/6/2 11
INSERT INTO t_scn values(2, dbms_flashback.get_system_change_number);
SQL> INSERT INTO t_scn values(2, dbms_flashback.get_system_change_number);
1 row inserted
SQL>
SQL> COMMIT;
Commit complete
SQL> alter system switch logfile;
System altered
SQL> SELECT * FROM v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 164 52428800 1 YES ACTIVE 1322946396056 2013/6/2