国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

數據庫遷移過程中使用熱備份進行分時恢復

2024-07-21 02:43:10
字體:
來源:轉載
供稿:網友
一個大型數據庫的遷移過程中,一般只會有很短的停機時間,對于DBA來說,壓力可想而之。本文將著重介紹一個縮短停機時間的好方法,詳細內容請參考下文。

注:本文中的示例適用于同平臺、同版本數據庫的遷移。

解決方法如下:

在工作環境中,我們可以通過一個熱備份,應用歸檔恢復數據庫到一致的狀態,這時數據庫可以被只讀(read only)打開。

然后我們可以繼續應用歸檔來進行恢復,最后只需要短時間的停機,復制原數據庫中的在線日志及歸檔日志、控制文件到新庫中進行恢復,這時只需要極短的時間就可完成恢復。

這個方法可以極大縮短割接時間。下文是一個參考示例的具體步驟:

1.首先,啟動數據庫

查詢歸檔情況:

SQL> select name from v$archived_log;NAME-------------------------------------------E:/Oracle/ORADATA/EYGLE/REDO01.LOGE:/ORACLE/ORADATA/EYGLE/REDO02.LOGE:/ORACLE/ORADATA/EYGLE/REDO03.LOGE:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00001.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00002.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00003.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00004.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00005.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00006.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00001.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00002.001NAME--------------------------------------------E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00003.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00004.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00005.001E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00006.001已選擇15行。

歸檔當前的日志:

SQL> alter system switch logfile;系統已更改。

2.備份數據庫

備份腳本:

alter tablespace system begin backup;host copy E:/ORACLE/ORADATA/EYGLE/SYSTEM01.DBF e:/oracle/orabak/SYSTEM01.DBFalter tablespace system end backup;alter tablespace undotbs1 begin backup;host copy E:/ORACLE/ORADATA/EYGLE/UNDOTBS01.DBF e:/oracle/orabak/UNDOTBS01.DBFalter tablespace undotbs1 end backup;alter tablespace eygle begin backup;host copy E:/ORACLE/ORADATA/EYGLE/EYGLE01.DBF  e:/oracle/orabak/EYGLE01.DBF alter tablespace eygle end backup;

執行備份:

SQL> @e:/a.sql表空間已更改。已復制         1 個文件。表空間已更改。表空間已更改。已復制         1 個文件。表空間已更改。表空間已更改。已復制         1 個文件。表空間已更改。數據庫已更改。

3.更改數據并歸檔部分日志

SQL> insert into eygle.test select *from eygle.test;已創建224行。SQL> commit;提交完成。SQL> alter system switch logfile;系統已更改。SQL> insert into eygle.test select *from eygle.test;已創建448行。SQL> commit;提交完成。SQL> alter system switch logfile;系統已更改。SQL> insert into eygle.test select *from eygle.test;已創建896行。SQL> commit;提交完成。SQL> shutdown immediate;數據庫已經關閉。已經卸載數據庫。ORACLE 例程已經關閉。

4.執行恢復

恢復備份的數據文件,然后啟動數據庫。

使用當前日志及控制文件:

SQL> startup mount;ORACLE 例程已經啟動。Total System Global Area   47259136 bytesFixed Size                   454144 bytesVariable Size              29360128 bytesDatabase Buffers           16777216 bytesRedo Buffers                 667648 bytes數據庫裝載完畢。SQL> recover database using backup controlfile until cancel;ORA-00279: 更改 197282 (在 11/13/2004 23:30:48 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00008.001ORA-00280: 更改 197282 對于線程 1 是按序列 # 8 進行的指定日志: {=suggested | filename | AUTO | CANCEL}ORA-00279: 更改 197393 (在 11/13/2004 23:32:22 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00009.001ORA-00280: 更改 197393 對于線程 1 是按序列 # 9 進行的ORA-00278: 此恢復不再需要日志文件'E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00008.001'指定日志: {=suggested | filename | AUTO | CANCEL}cancel介質恢復已取消。SQL> alter database open read only;數據庫已更改。SQL> shutdown immediate;數據庫已經關閉。已經卸載數據庫。ORACLE 例程已經關閉。SQL> startup mount;ORACLE 例程已經啟動。Total System Global Area   47259136 bytesFixed Size                   454144 bytesVariable Size              29360128 bytesDatabase Buffers           16777216 bytesRedo Buffers                 667648 bytes數據庫裝載完畢。SQL> recover database using backup controlfile until cancel;ORA-00279: 更改 197393 (在 11/13/2004 23:32:22 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00009.001ORA-00280: 更改 197393 對于線程 1 是按序列 # 9 進行的指定日志: {=suggested | filename | AUTO | CANCEL}ORA-00279: 更改 197423 (在 11/13/2004 23:32:51 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00010.001ORA-00280: 更改 197423 對于線程 1 是按序列 # 10 進行的ORA-00278: 此恢復不再需要日志文件'E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00009.001'指定日志: {=suggested | filename | AUTO | CANCEL}cancel介質恢復已取消。SQL> alter database open read only;數據庫已更改。SQL> shutdown immediate;數據庫已經關閉。已經卸載數據庫。ORACLE 例程已經關閉。SQL> startup mount;ORACLE 例程已經啟動。Total System Global Area   47259136 bytesFixed Size                   454144 bytesVariable Size              29360128 bytesDatabase Buffers           16777216 bytesRedo Buffers                 667648 bytes數據庫裝載完畢。SQL> recover database using backup controlfile until cancel;ORA-00279: 更改 197423 (在 11/13/2004 23:32:51 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00010.001ORA-00280: 更改 197423 對于線程 1 是按序列 # 10 進行的指定日志: {=suggested | filename | AUTO | CANCEL}E:/Oracle/oradata/eygle/REDO01.LOGORA-00310: 存檔日志包含序列 9;要求序列 10ORA-00334: 歸檔日志: 'E:/ORACLE/ORADATA/EYGLE/REDO01.LOG'SQL> recover database using backup controlfile until cancel;ORA-00279: 更改 197423 (在 11/13/2004 23:32:51 生成) 對于線程 1 是必需的ORA-00289: 建議: E:/ORACLE/ORADATA/EYGLE/ARCHIVE/ARC00010.001ORA-00280: 更改 197423 對于線程 1 是按序列 # 10 進行的指定日志: {=suggested | filename | AUTO | CANCEL}E:/Oracle/oradata/eygle/REDO02.LOG已應用的日志。完成介質恢復。SQL> alter database open;alter database open*ERROR 位于第 1 行:ORA-01589: 要打開數據庫則必須使用 RESETLOGS 或 NORESETLOGS 選項SQL> alter database open resetlogs;數據庫已更改。SQL>

注:讀者需要注意中間的部分,因為read only的打開并不影響數據庫進一步的恢復(恢復可以分步進行)。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洛阳市| 北宁市| 阳西县| 上饶市| 邯郸市| 高清| 江都市| 文昌市| 进贤县| 辽中县| 濉溪县| 清镇市| 沛县| 怀来县| 和田县| 开江县| 民权县| 华宁县| 富民县| 滕州市| 津市市| 京山县| 昌图县| 灵台县| 华亭县| 潜江市| 南平市| 时尚| 隆德县| 崇义县| 彭山县| 呼和浩特市| 和顺县| 南漳县| 郓城县| 华容县| 灵丘县| 久治县| 云安县| 鹤岗市| 渝中区|