Oracle 培訓筆記:歸檔模式備份恢複

來源:互聯網
上載者:User

1、資料庫置歸檔模式,設定歸檔路徑

1.1 查詢歸檔狀態
SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

SQL> archive log list;
資料庫記錄模式             非存檔模式
自動封存             禁用
存檔終點            USE_DB_RECOVERY_FILE_DEST
最早的聯機日誌序列     9
當前日誌序列           11


1.2 置歸檔模式
SQL> shutdown immediate
資料庫已經關閉。
已經卸載資料庫。
Oracle 常式已經關閉。
SQL> startup mount
ORACLE 常式已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
資料庫裝載完畢。
SQL> alter database archivelog;
SQL> alter database open;

設定非歸檔:alter database noarchivelog;

1.3 設定歸檔路徑
SQL> show parameter log_archive_dest_

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1                   string
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
log_archive_dest_9                   string

SQL> show parameter log_archive_min_succeed_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_min_succeed_dest         integer     1

SQL> show parameter format

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      ARC%S_%R.%T

SQL> alter system set log_archive_format='arc%S_%R_%d.%T' scope=spfile;

系統已更改。


設定歸檔路徑
alter system set log_archive_dest_1='location=e:\arc1 mandatory';
alter system set log_archive_dest_2='location=e:\arc2 mandatory';
alter system set log_archive_dest_3='location=e:\arc3 optional';

alter system switch logfile;

使用閃回恢複區
alter system set log_archive_dest_1='';
alter system set log_archive_dest_2='';
alter system set log_archive_dest_3='';
alter system set log_archive_dest_10='location=USE_DB_RECOVERY_FILE_DEST';

1.4 備份資料庫
冷備份:關閉資料庫,備份資料檔案、控制檔案、參數檔案


2、備份
冷備份

熱備份
alter tablespace xxx begin backup;
物理拷貝
alter tablespace xxx end backup;

alter database begin backup;
物理拷貝
alter database end backup;

alter tablespace users begin backup;

3、完全恢複
3.1 類比資料變化,切換日誌
insert into t01 values(40);
commit;
alter system switch logfile;

insert into t01 values(50);
commit;
alter system switch logfile;

insert into t01 values(60);
commit;
alter system switch logfile;

insert into t01 values(70);
commit;
alter system switch logfile;


SQL> shutdown immediate
資料庫已經關閉。
已經卸載資料庫。
ORACLE 常式已經關閉。

刪除資料檔案users01.dbf

SQL> startup
ORACLE 常式已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1248356 bytes
Variable Size              79692700 bytes
Database Buffers          163577856 bytes
Redo Buffers                7139328 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 4 - 請參閱 DBWR 追蹤檔案
ORA-01110: 資料檔案 4: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\MYDB\USERS01.DBF'

還原資料檔案user01.dbf

SQL> select * from v$recover_file;

     FILE# ONLINE  ONLINE_ ERROR                                                                CHANGE# TIME
---------- ------- ------- ----------------------------------------------------------------- ---------- --------------
         4 ONLINE  ONLINE                                                                        213083 03-9月 -11

SQL> select * from v$recovery_log;

   THREAD#  SEQUENCE# TIME
---------- ---------- --------------
ARCHIVE_NAME
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

         1         15 03-9月 -11
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_15_763HHZ1G_.ARC

         1         16 03-9月 -11
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_16_763HHZKL_.ARC


SQL> recover datafile 4;
ORA-00279: 更改 213083 (在 09/03/2011 13:39:09 產生) 對於線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_15_%U_.ARC
ORA-00280: 更改 213083 (用於線程 1) 在序列 #15 中


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00308: 無法開啟歸檔日誌 'E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_15_763HHZ1G_.ARC'
ORA-27041: 無法開啟檔案
OSD-04002: 無法開啟檔案
O/S-Error: (OS 2) 系統找不到指定的檔案。


SQL>
SQL> recover datafile 4;
ORA-00279: 更改 213083 (在 09/03/2011 13:39:09 產生) 對於線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_15_%U_.ARC
ORA-00280: 更改 213083 (用於線程 1) 在序列 #15 中


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\1_15_763HHZ1G_.ARC
ORA-00279: 更改 213171 (在 09/03/2011 13:41:18 產生) 對於線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_16_%U_.ARC
ORA-00280: 更改 213171 (用於線程 1) 在序列 #16 中
ORA-00278: 此恢複不再需要記錄檔 'd:\1_15_763HHZ1G_.ARC'


指定日誌: {<RET>=suggested | filename | AUTO | CANCEL}
d:\O1_MF_1_16_763HHZKL_.ARC
已應用的日誌。
完成介質恢複。
SQL> alter database open;

資料庫已更改。

3.2 線上恢複資料檔案
alter tablespace users offline;
還原資料檔案
恢複資料檔案
alter tablespace users online;

system、undo資料表空間必須在mounted狀態恢複

3.3 閃回恢複區監控
select * from v$recovery_file_dest;
select * from v$flash_recovery_area_usage;

3.4 控制檔案損壞恢複
資料庫發生結構性變化時及時備份。(資料表空間、資料檔案增刪)
SQL> alter database backup controlfile to 'd:\control.ctl';

1)部分控制檔案損壞
複製存在的檔案,再開啟資料庫

2)控制檔案全部損壞
情況1:有備份
關閉資料庫
刪除所有控制檔案
還原控制檔案
啟動資料庫到mounted狀態
恢複資料庫 recover database using backup controlfile;
SQL> recover database using backup controlfile;
ORA-00279: change 205641 generated at 09/03/2011 11:52:37 needed for thread 1
ORA-00289: suggestion :
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_

15_%U_.ARC
ORA-00280: change 205641 for thread 1 is in sequence #15


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
d:\1_15_763HHZ1G_.ARC
ORA-00279: change 213171 generated at 09/03/2011 13:41:18 needed for thread 1
ORA-00289: suggestion :
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_

16_%U_.ARC
ORA-00280: change 213171 for thread 1 is in sequence #16
ORA-00278: log file 'd:\1_15_763HHZ1G_.ARC' no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
d:\O1_MF_1_16_763HHZKL_.ARC
ORA-00279: change 213175 generated at 09/03/2011 13:41:19 needed for thread 1
ORA-00289: suggestion :
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_

17_%U_.ARC
ORA-00280: change 213175 for thread 1 is in sequence #17
ORA-00278: log file 'd:\O1_MF_1_16_763HHZKL_.ARC' no longer needed for this
recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracle\product\10.2.0\oradata\mydb\redo02.log
ORA-00279: change 213180 generated at 09/03/2011 13:41:23 needed for thread 1
ORA-00289: suggestion :
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_

18_%U_.ARC
ORA-00280: change 213180 for thread 1 is in sequence #18
ORA-00278: log file 'E:\oracle\product\10.2.0\oradata\mydb\redo02.log' no
longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracle\product\10.2.0\oradata\mydb\redo03.log
ORA-00279: change 213184 generated at 09/03/2011 13:41:24 needed for thread 1
ORA-00289: suggestion :
E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MYDB\ARCHIVELOG\2011_09_03\O1_MF_1_

19_%U_.ARC
ORA-00280: change 213184 for thread 1 is in sequence #19
ORA-00278: log file 'E:\oracle\product\10.2.0\oradata\mydb\redo03.log' no
longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
E:\oracle\product\10.2.0\oradata\mydb\redo01.log
Log applied.
Media recovery complete.
開啟資料庫 alter database open resetlogs;

  • 1
  • 2
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.