1. 程式人生 > >非歸檔模式下如何手工備份和恢復整個oracle資料庫?

非歸檔模式下如何手工備份和恢復整個oracle資料庫?

非歸檔模式下如何手工備份和恢復oracle資料庫? 1.確定資料庫處於非歸檔模式 2.一致性關閉資料庫後,手工copy備份資料檔案、聯機重做日誌檔案、控制檔案 3.啟動資料庫,操作一段時間後,模擬資料檔案、聯機重做日誌檔案、控制檔案全部丟失 4.關閉資料庫後,手工copy備份的資料檔案、聯機重做日誌檔案、控制檔案到原始位置 5.啟動資料庫

相關實驗: 1.確定資料庫處於非歸檔模式 SQL> shutdown immediate; SQL> startup mount; SQL> alter database noarchivelog;

SQL> archive log list; Database log mode              No Archive Mode Automatic archival             Disabled Archive destination            USE_DB_RECOVERY_FILE_DEST Oldest online log sequence     24 Current log sequence           26

SQL> alter database open;

2.test使用者登入後,查看錶test_tab; SQL> conn test/test Connected. SQL> select * from test_tab;

        ID ----------          1          2

2.一致性關閉資料庫後,手工copy備份資料檔案、聯機重做日誌檔案、控制檔案 SQL> conn / as sysdba Connected. SQL> shutdown immediate;

[[email protected] orcl]$ cd /u01/app/oracle/oradata/orcl [

[email protected] orcl]$ cp *.* osbak/

3.啟動資料庫,操作一段時間後,模擬資料檔案、聯機重做日誌檔案、控制檔案全部丟失

SQL> conn test/test SQL> insert into test_tab values (3); SQL> insert into test_tab values (4); SQL> commit; SQL> select * from test_tab;

        ID ----------          1          2          3          4

[[email protected] orcl]$ rm *.dbf [[email protected] orcl]$ rm *.ctl [[email protected] orcl]$ rm *.log

SQL> shutdown abort ORACLE instance shut down.

SQL> startup ORACLE instance started.

Total System Global Area  780824576 bytes Fixed Size                  2217424 bytes Variable Size             536873520 bytes Database Buffers          234881024 bytes Redo Buffers                6852608 bytes Database mounted. ORA-01157: cannot identify/lock data file 7 - see DBWR trace file ORA-01110: data file 7: '/u01/app/oracle/oradata/orcl/test_ts.dbf'

4.關閉資料庫後,手工copy備份的資料檔案、聯機重做日誌檔案、控制檔案到原始位置 SQL> shutdown immediate;

[[email protected] orcl]$ cp osbak/*.* /u01/app/oracle/oradata/orcl/

5.啟動資料庫 SQL> startup

SQL> conn test/test Connected. SQL> select * from test_tab;

        ID ----------          1          2

相關知識點: 備份常用的術語解釋:

冷備份(離線備份): 資料庫處於關閉狀態下所做的物理拷貝。資料庫處於非歸檔模式下只能使用這種方法備份。

資料庫全備份:備份所有資料檔案和控制檔案,在全備份時,資料庫可以處在關閉或開啟狀態,但在非歸檔模式下必須處於關閉狀態。

資料檔案備份:備份單個的資料檔案,在非歸檔模式下,只能備份只讀資料檔案或者正常離線的資料檔案。

本實驗所有檔案在同一目錄,生產系統不是如此,所以生產系統實際操作冷備份(離線備份)的具體步驟:

1.使用select * from v$controlfile 查出所有控制檔案。

2.使用select * from v$logfile 找出所有重做日誌檔案。

3.使用select * from dba_data_files;找出所有資料檔案。

4.使用select * from v$tempfile;找出所有臨時檔案。

5.正常關閉資料庫,將所有檔案拷貝到備份磁碟。

6.重啟資料庫。

注意:一定是所有的控制檔案和資料檔案都要備份。

恢復的步驟:

1.正常關閉資料庫

2.將所有的備份檔案放到原來的位置,(重做日誌檔案,引數檔案和口令檔案並不是必須的)

3.重啟資料庫