久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何利用RMAN備份重建數(shù)據(jù)庫

155次閱讀
沒有評論

共計 5375 個字符,預(yù)計需要花費 14 分鐘才能閱讀完成。

這篇文章主要介紹了如何利用 RMAN 備份重建數(shù)據(jù)庫,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓丸趣 TV 小編帶著大家一起了解一下。

有時數(shù)據(jù)庫由于某些原因需要全部銷毀重建,之前的 RMAN 備份是存在的,希望利用,如系統(tǒng)被重建而導(dǎo)致數(shù)據(jù)庫重建,或者數(shù)據(jù)庫備份后需要恢復(fù)到其它機器上。

一、重建前的準備

1、準備測試用表

在 RMES 用戶下創(chuàng)建測試用表,插入并提交數(shù)據(jù)

create table
rmes.r_rmantest_t(a varchar2(30)) tablespace rmes;

insert into
rmes.r_rmantest_t values(Before rman backup

commit;

做一次檢查點操作,保證數(shù)據(jù)寫入到數(shù)據(jù)文件中

alter system
checkpoint;

2、準備備份路徑

創(chuàng)建數(shù)據(jù)文件備份路徑 e:\rman_bak\mes

創(chuàng)建控制文件和初始化參數(shù)文件備份路徑 e:\rman_bak\mes\control_bak

創(chuàng)建聯(lián)機日志文件備份路徑 e:\rman_bak\mes\redolog

3、配置 RMAN 備份參數(shù)

登錄 RMAN,查看并配置 RMAN 的備份參數(shù)

show all;

控制文件和 spfile 文件自動備份設(shè)為 on,并配置備份路徑

CONFIGURE CONTROLFILE
AUTOBACKUP ON;

CONFIGURE
CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO e:\rman_bak\mes\control_bak\%F

配置數(shù)據(jù)文件備份路徑

CONFIGURE
CHANNEL DEVICE TYPE DISK FORMAT e:\rman_bak\mes\%d_%u_%c_%T

確認備份參數(shù)的更改

show all;

4、全備份

backup as
compressed backupset database plus archivelog;

5、更新測試用表

完成備份后再插入一條記錄到測試表中

insert into
rmes.r_rmantest_t values(After rman backup

commit;

不做檢查點,這樣數(shù)據(jù)只記錄在聯(lián)機日志中,不會馬上寫入數(shù)據(jù)文件。

6、備份聯(lián)機日志文件

在操作系統(tǒng)下將聯(lián)機日志文件復(fù)制到備份目錄 e:\rman_bak\mes\redolog

所有的備份都已完備,現(xiàn)在可以在本機上用 DBCA 銷毀數(shù)據(jù)庫,或者將備份文件轉(zhuǎn)出到其他機器上進行數(shù)據(jù)庫重建。

二、重建數(shù)據(jù)庫

1、重建實例服務(wù)

在操作系統(tǒng)命令提示符下執(zhí)行 oradim 命令,創(chuàng)建名為 mes 的服務(wù),并設(shè)置環(huán)境變量

C:\ oradim
-new -sid mes

C:\ set
oracle_sid=mes

2、還原服務(wù)器參數(shù)文件并重建丟失的目錄

登陸 RMAN

C:\Users\Administrator rman
target /

恢復(fù)管理器: Release 11.2.0.4.0
– Production on 星期四 5 月 3 16:55:47 2018

Copyright (c) 1982, 2011,
Oracle and/or its affiliates.  All rights
reserved.

已連接到目標數(shù)據(jù)庫 (未啟動)

使用之前的備份,在非加載模式下還原 spfile 服務(wù)器參數(shù)文件

RMAN startup nomount

啟動失敗: ORA-01078: failure
in processing system parameters

LRM-00109:
???????????????? C:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\INITMES.ORA

在沒有參數(shù)文件的情況下啟動 Oracle
實例以檢索 spfile

Oracle 實例已啟動

系統(tǒng)全局區(qū)域總計   1068937216 字節(jié)

Fixed Size  2288080 字節(jié)

Variable Size  285214256 字節(jié)

Database Buffers  775946240 字節(jié)

Redo Buffers  5488640 字節(jié)

RMAN restore spfile
from e:\rman_bak\mes\control_bak\C-2056489697-20180503-01

啟動 restore 于 2018-05-03
16:58:49

使用目標數(shù)據(jù)庫控制文件替代恢復(fù)目錄

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=396
設(shè)備類型 =DISK

通道 ORA_DISK_1: 正在從
AUTOBACKUP e:\rman_bak\mes\control_bak\C-2056489697-20180503-01 還原 spfile

通道 ORA_DISK_1: 從
AUTOBACKUP 還原 SPFILE 已完成

完成 restore 于 2018-05-03
16:58:50

創(chuàng)建 pfile 文件

RMAN sql create pfile
from spfile

sql 語句: create pfile from
spfile

Windows 中該文件默認位置為 %ORACLE_HOME%\database\INITmes.ORA

打開 pfile 文本文件,將文件中提及的目錄創(chuàng)建起來,如本例中需要保證以下目錄存在

C:\Oracle\admin\mes\adump\

D:\ORADATA\MES\

E:\FAST_RECOVERY_AREA\MES\

E:\fast_recovery_area\mes\archivelog\

3、還原控制文件

用還原的服務(wù)器參數(shù)文件重啟實例到非加載模式,還原控制文件

RMAN shutdown abort

Oracle 實例已關(guān)閉

RMAN startup nomount

已連接到目標數(shù)據(jù)庫 (未啟動)

Oracle 實例已啟動

系統(tǒng)全局區(qū)域總計   1286066176 字節(jié)

Fixed Size  2280896 字節(jié)

Variable Size  771752512 字節(jié)

Database Buffers  503316480 字節(jié)

Redo Buffers  8716288 字節(jié)

RMAN restore
controlfile from e:\rman_bak\mes\control_bak\C-2056489697-20180503-01

啟動 restore 于 2018-05-03
17:06:41

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=156
設(shè)備類型 =DISK

通道 ORA_DISK_1: 正在還原控制文件

通道 ORA_DISK_1: 還原完成, 用時:
00:00:02

輸出文件名 =D:\ORADATA\MES\CONTROL01.CTL

輸出文件名 =E:\FAST_RECOVERY_AREA\MES\CONTROL02.CTL

完成 restore 于 2018-05-03
17:06:43

4、還原數(shù)據(jù)庫

用還原的控制文件加載數(shù)據(jù)庫

RMAN alter database
mount;

數(shù)據(jù)庫已裝載

釋放的通道: ORA_DISK_1

還原數(shù)據(jù)庫

RMAN restore
database;

啟動 restore 于 2018-05-03
17:19:26

使用通道 ORA_DISK_1

通道 ORA_DISK_1:
正在開始還原數(shù)據(jù)文件備份集

通道 ORA_DISK_1:
正在指定從備份集還原的數(shù)據(jù)文件

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00001 還原到 D:\ORADATA\MES\SYSTEM01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00002 還原到 D:\ORADATA\MES\SYSAUX01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00003 還原到 D:\ORADATA\MES\UNDOTBS01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00004 還原到 D:\ORADATA\MES\USERS01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00005 還原到 D:\ORADATA\MES\EXAMPLE01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00006 還原到 D:\ORADATA\MES\CMES01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00007 還原到 D:\ORADATA\MES\RMES01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00008 還原到 D:\ORADATA\MES\HMES01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00009 還原到 D:\ORADATA\MES\INDX01.DBF

通道 ORA_DISK_1: 將數(shù)據(jù)文件
00010 還原到 D:\ORADATA\MES\FDA01.DBF

通道 ORA_DISK_1: 正在讀取備份片段
E:\RMAN_BAK\MES\MES_85T1VQN6_1_20180503

通道 ORA_DISK_1: 段句柄 =
E:\RMAN_BAK\MES\MES_85T1VQN6_1_20180503 標記 = TAG20180503T163757

通道 ORA_DISK_1: 已還原備份片段 1

通道 ORA_DISK_1: 還原完成, 用時:
00:00:56

完成 restore 于 2018-05-03
17:20:23

期間可能會遭遇 ORA-19693:已包括備份片段的錯誤提示,這個是由于控制文件中的備份信息被重復(fù)編目所致。可以先將備份文件路徑改名,然后進行一次交叉檢查 crosscheck backup,再用 delete
expired backup 刪除和注銷備份信息,之后再進行重新編目注冊備份 catalog start with …,經(jīng)此處理后再進行 restore 還原應(yīng)該可以解決問題。

5、拷回聯(lián)機日志文件

確認聯(lián)機日志文件應(yīng)當存放的位置

17:16:07 SYS @ mes AS
SYSDBA select member from v$logfile;

MEMBER

————————————————————

D:\ORADATA\MES\REDO03.LOG

D:\ORADATA\MES\REDO02.LOG

D:\ORADATA\MES\REDO01.LOG

在操作系統(tǒng)下將備份在 e:\rman_bak\mes\redolog 中的聯(lián)機日志文件拷回到指定的聯(lián)機日志目錄中。

6、恢復(fù)并打開數(shù)據(jù)庫

如果之前使用了塊改變跟蹤,則應(yīng)當在執(zhí)行恢復(fù)前先取消塊改變跟蹤,因為塊改變跟蹤的 DBF 數(shù)據(jù)文件已不存在,RMAN 備份時不會去備份它

alter database
disable block change tracking;

恢復(fù)數(shù)據(jù)庫

RMAN recover
database;

啟動 recover 于 2018-05-03
17:21:18

使用通道 ORA_DISK_1

正在開始介質(zhì)的恢復(fù)

線程 1 序列 7 的歸檔日志已作為文件
D:\ORADATA\MES\REDO01.LOG 存在于磁盤上

線程 1 序列 8 的歸檔日志已作為文件
D:\ORADATA\MES\REDO02.LOG 存在于磁盤上

歸檔日志文件名 =D:\ORADATA\MES\REDO01.LOG
線程 =1 序列 =7

歸檔日志文件名 =D:\ORADATA\MES\REDO02.LOG
線程 =1 序列 =8

介質(zhì)恢復(fù)完成, 用時: 00:00:01

完成 recover 于 2018-05-03
17:21:23

打開數(shù)據(jù)庫,重置聯(lián)機日志序列

RMAN alter database
open resetlogs;

數(shù)據(jù)庫已打開

7、驗證數(shù)據(jù)的恢復(fù)

查看測試用表,驗證數(shù)據(jù)是否完整恢復(fù)

17:18:45 SYS @ mes AS
SYSDBA select * from rmes.r_rmantest_t;

A

——————————

Before rman backup

After rman backup

至此,完成了 mes 數(shù)據(jù)庫的重新創(chuàng)建和恢復(fù)。

8、RMAN 異地恢復(fù)需要注意的問題

根據(jù)備份文件存放的目錄位置,修改指向后再還原

catalog start
with e:\rman_bak\mes

restore
database;

從 10g 恢復(fù)到 11g 環(huán)境時需注意:

1)恢復(fù)前執(zhí)行預(yù)升級工具腳本 utlirp.sql

2)恢復(fù)數(shù)據(jù)庫

3)以 startup upgrade 方式打開數(shù)據(jù)庫

4)執(zhí)行升級腳本 catupgrd.sql

如果事先沒有執(zhí)行預(yù)升級腳本,則執(zhí)行以上腳本時會報錯,因為表 registry$database 缺少 TZ_VERSION 字段。解決方法是修改表 registry$database,增加 tz_version 字段,number 類型,并重新插入記錄

truncate
table registry$database;

insert
into registry$database

(platform_id,platform_name,edition,tz_version)

values

((select platform_id from v$database),

 (select
platform_name from v$database),

 null,

 (select version
from v$timezone_file));

之后再執(zhí)行升級腳本 catupgrd.sql 就沒有問題了。

感謝你能夠認真閱讀完這篇文章,希望丸趣 TV 小編分享的“如何利用 RMAN 備份重建數(shù)據(jù)庫”這篇文章對大家有幫助,同時也希望大家多多支持丸趣 TV,關(guān)注丸趣 TV 行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-24發(fā)表,共計5375字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 襄樊市| 江都市| 南通市| 台东市| 新宁县| 邻水| 高平市| 于田县| 周至县| 华阴市| 肇州县| 泸州市| 怀化市| 城市| 年辖:市辖区| 徐汇区| 泽库县| 曲阜市| 都兰县| 登封市| 牟定县| 双辽市| 合山市| 清涧县| 南京市| 德州市| 微山县| 寿光市| 金寨县| 永春县| 青冈县| 石狮市| 象山县| 兴城市| 吉林省| 丰原市| 吉木乃县| 富民县| 阳新县| 长海县| 柯坪县|