您好,登錄后才能下訂單哦!
本文介紹了將v4跨平臺(tái)可傳輸表空間(xtts)與rman增量備份結(jié)合使用所需的步驟,
以最少的應(yīng)用程序停機(jī)時(shí)間遷移數(shù)據(jù)。
#################################################
希望本文能對(duì)您有所幫助,如需腳本,請(qǐng)留言,謝謝您的關(guān)住和支持
#################################################
首先是將完整備份從源復(fù)制到目標(biāo)。
然后,通過(guò)使用一系列增量備份(每個(gè)備份都小于最后一個(gè)備份),
在需要任何停機(jī)時(shí)間之前,可以將目標(biāo)系統(tǒng)中的數(shù)據(jù)幾乎與源系統(tǒng)同步。
此過(guò)程僅在最終增量備份和元數(shù)據(jù)導(dǎo)出/導(dǎo)入期間需要停機(jī)時(shí)間。
本文檔描述了可與11.2.0.4及更高版本一起使用的跨平臺(tái)增量備份v4過(guò)程。
這個(gè)新過(guò)程是先前XTTS版本的簡(jiǎn)化版本。
此版本有以下區(qū)別:
I.此過(guò)程使用簡(jiǎn)化的命令。一個(gè)命令(--backup)用于源,一個(gè)命令(--restore)用于目標(biāo)。
//原來(lái)要-p,-c,-i,-r,-s等一系列華麗的操作,現(xiàn)在只要2個(gè)參數(shù)
II.此過(guò)程只需要在源和目標(biāo)的$tmpdir(res.txt)之間復(fù)制一個(gè)文件。
III.此過(guò)程將自動(dòng)解析添加的數(shù)據(jù)文件,無(wú)需額外干預(yù)。
IV.此過(guò)程允許在不運(yùn)行恢復(fù)的情況下從源中取出多個(gè)增量備份。在此之后,將立即恢復(fù)目標(biāo)中的所有增量備份。
1-初始設(shè)置
執(zhí)行以下步驟配置環(huán)境以使用跨平臺(tái)增量備份:
1.1-安裝目標(biāo)數(shù)據(jù)庫(kù)軟件并創(chuàng)建目標(biāo)數(shù)據(jù)庫(kù)
在將運(yùn)行目標(biāo)數(shù)據(jù)庫(kù)的目標(biāo)系統(tǒng)上安裝所需的Oracle數(shù)據(jù)庫(kù)軟件。
在目標(biāo)系統(tǒng)上標(biāo)識(shí)(或創(chuàng)建)一個(gè)數(shù)據(jù)庫(kù),以便將表空間傳輸?shù)狡渲校?
并創(chuàng)建表空間傳輸所需的模式用戶。 即,在所傳輸?shù)谋砜臻g中擁有對(duì)象的用戶。
1.2-標(biāo)識(shí)要傳輸?shù)谋砜臻g
標(biāo)識(shí)要傳輸?shù)脑磾?shù)據(jù)庫(kù)中的表空間。
表空間ts1和ts2將在本文檔的示例中使用。
如上所述,必須遵循可傳輸表空間的限制和注意事項(xiàng)。
1.3-在源系統(tǒng)上安裝XttConvert腳本
在源系統(tǒng)上,作為Oracle軟件的所有者,
下載并提取作為rman-xttconvert-ver4.zip附加到本文檔的支持腳本。
[oracle@kingsql]$ pwd
/home/oracle/xttv4
[oracle@kingsql]$ unzip rman_xttconvert_VER4.zip
inflating: xtt.properties
inflating: xttcnvrtbkupdest.sql
inflating: xttdbopen.sql
inflating: xttdriver.pl
inflating: xttprep.tmpl
extracting: xttstartupnomount.sql
1.4-創(chuàng)建必要的目錄
源端:
由xtt.properties文件中的src_scratch_location參數(shù)定義的備份位置。
目標(biāo)端:
由xtt.properties文件中的dest_scratch_location參數(shù)定義的備份位置。
目標(biāo)上數(shù)據(jù)文件的位置,由xtt.properties文件中的dest_datafile_location參數(shù)定義。
1.5-在源系統(tǒng)上配置xtt.properties
使用特定于站點(diǎn)的配置編輯源系統(tǒng)上的xtt.properties文件。
有關(guān)xtt.properties文件中參數(shù)的詳細(xì)信息,
請(qǐng)參閱下面附錄中配置文件xtt.properties部分中的參數(shù)說(shuō)明。
對(duì)于此過(guò)程,只有以下參數(shù)是必需的。其他可供選擇和/或使用。
tablespaces
platformid
src_scratch_location
dest_scratch_location
dest_datafile_location
(12c特殊添加) -- usermantransport=1
1.6-將xttconvert腳本和xtt.properties復(fù)制到目標(biāo)系統(tǒng)
[oracle@kingsql]$ scp -r /home/oracle/xttv4 oracle@destsql:/home/oracle/xttv4
1.7-設(shè)置TMPDIR環(huán)境變量
[oracle@kingsql]$ export TMPDIR=/home/oracle/xttv4
[oracle@destsql]$ export TMPDIR=/home/oracle/xttv4
2.-準(zhǔn)備階段
在準(zhǔn)備階段,將要傳輸?shù)谋砜臻g的數(shù)據(jù)文件備份到源上,
備份傳輸?shù)侥繕?biāo)系統(tǒng),并由xttdriver.pl腳本還原。
2.1-在源系統(tǒng)上運(yùn)行備份
在源系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向源數(shù)據(jù)庫(kù),
按如下方式運(yùn)行備份:
[oracle@kingsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
2.2-將以下文件傳輸?shù)侥繕?biāo)系統(tǒng):
從源“src-scratch-location”到目標(biāo)目標(biāo)“scratch-location”創(chuàng)建的備份
從源$tmpdir到目標(biāo)$tmpdir的res.txt文件:
[oracle@kingsql]$ scp /src_scratch/* oracle@destsql:/dest_scratch
[oracle@kingsql]$ scp res.txt oracle@destsql:/home/oracle/xttv4
2.3-還原目標(biāo)系統(tǒng)上的數(shù)據(jù)文件
在目標(biāo)系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向目標(biāo)數(shù)據(jù)庫(kù),
按如下方式運(yùn)行還原:
[oracle@destsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore
3-前滾階段
在此階段,將從源數(shù)據(jù)庫(kù)創(chuàng)建增量備份,傳輸?shù)侥繕?biāo)系統(tǒng),轉(zhuǎn)換為目標(biāo)系統(tǒng)endian格式,
然后將其應(yīng)用到轉(zhuǎn)換后的目標(biāo)數(shù)據(jù)文件副本以進(jìn)行前滾。 此階段可以運(yùn)行多次。
每一次連續(xù)的增量備份所需的時(shí)間應(yīng)少于先前的增量備份所需的時(shí)間,
并將使目標(biāo)數(shù)據(jù)文件副本在源數(shù)據(jù)庫(kù)中更為新。
在這個(gè)階段,正在傳輸?shù)臄?shù)據(jù)(源)是完全可訪問(wèn)的。
3.1-為源系統(tǒng)上正在傳輸?shù)谋砜臻g創(chuàng)建增量備份
在源系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向源數(shù)據(jù)庫(kù),
運(yùn)行如下創(chuàng)建增量步驟:
[oracle@kingsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
此步驟將為xtt.properties中列出的所有表空間創(chuàng)建增量備份。
3.2-將增量備份和res.txt傳輸?shù)侥繕?biāo)系統(tǒng)
將增量備份(在src-scratch-location和dest-scratch-location之間)和res.txt(在$tmpdirs之間)
從源傳輸?shù)侥繕?biāo)。當(dāng)前備份的增量備份文件列表可以是在源系統(tǒng)的incrbacks.txt文件中找到。
[oracle@kingsql]$ scp `cat incrbackups.txt` oracle@destsql:/dest_scratch_location
[oracle@kingsql]$ scp res.txt oracle@destsql:/home/oracle/xttv4
3.3-對(duì)目標(biāo)系統(tǒng)上的數(shù)據(jù)文件副本應(yīng)用增量備份
在目標(biāo)系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向目標(biāo)數(shù)據(jù)庫(kù),
按如下所示運(yùn)行前滾數(shù)據(jù)文件步驟:
[oracle@destsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore
前滾步驟連接到目標(biāo)數(shù)據(jù)庫(kù),并為所傳輸?shù)拿總€(gè)表空間在表空間的數(shù)據(jù)文件上應(yīng)用增量備份。
盡管可以對(duì)源執(zhí)行多個(gè)備份而不在目標(biāo)上應(yīng)用,但是必須在上次備份之后和在目標(biāo)上執(zhí)行“--restore”之前復(fù)制res.txt。
3.4-重復(fù)前滾第3階段(3.1-3.3)或繼續(xù)第4階段,最終增量備份
此時(shí)有兩種選擇:
如果需要使目標(biāo)數(shù)據(jù)庫(kù)中的文件與生產(chǎn)系統(tǒng)更接近同步,則從步驟3.1開始,重復(fù)前滾階段。
如果目標(biāo)數(shù)據(jù)庫(kù)中的文件與源數(shù)據(jù)庫(kù)的距離盡可能接近,則繼續(xù)到傳輸階段。
4-最終增量備份
在此階段,通過(guò)創(chuàng)建和應(yīng)用最終增量備份,將源數(shù)據(jù)設(shè)為只讀,并使目標(biāo)數(shù)據(jù)文件與源數(shù)據(jù)庫(kù)保持一致。
在目標(biāo)數(shù)據(jù)文件保持一致之后,將執(zhí)行常規(guī)的可傳輸表空間步驟,
從源數(shù)據(jù)庫(kù)導(dǎo)出對(duì)象元數(shù)據(jù)并將其導(dǎo)入目標(biāo)數(shù)據(jù)庫(kù)。
在本階段結(jié)束之前,只能以只讀模式訪問(wèn)正在傳輸?shù)臄?shù)據(jù)。
4.1-將源數(shù)據(jù)庫(kù)中的源表空間更改為只讀
在源系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向源數(shù)據(jù)庫(kù),
將要傳輸?shù)谋砜臻g更改為只讀。
SQL> alter tablespace TS1 read only;
SQL> alter tablespace TS2 read only;
4.2-創(chuàng)建正在源系統(tǒng)上傳輸?shù)谋砜臻g的最終增量備份:
在源系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境 (ORACLE_HOME和ORACLE_SID環(huán)境變量) 指向源數(shù)據(jù)庫(kù),
按如下方式運(yùn)行備份:
[oracle@kingsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
注意:由于表空間處于只讀模式,因此可以忽略收到的以下警告:
####################################################################
Warning:
------
Warnings found in executing /home/oracle/radranly/convert_source/backup_Nov9_Fri_09_08_26_213//xttpreparenextiter.sql
####################################################################
Prepare newscn for Tablespaces: 'T1'
DECLARE*
ERROR at line 1:
ORA-20001: TABLESPACE(S) IS READONLY OR,
OFFLINE JUST CONVERT, COPY
ORA-06512: at line 284
4.3-將增量備份和res.txt傳輸?shù)侥繕?biāo)系統(tǒng)
[oracle@kingsql]$ scp 'cat incrbackups.txt' oracle@destsql:/dest_scratch_location
[oracle@kingsql]$ scp res.txt oracle@destsql:/home/oracle/xttv4
4.4-將上次增量備份應(yīng)用于目標(biāo)數(shù)據(jù)文件
最終增量備份必須應(yīng)用于目標(biāo)數(shù)據(jù)文件,此步驟將對(duì)目標(biāo)上的數(shù)據(jù)文件應(yīng)用最后一次增量備份。
[oracle@destsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore
5-傳輸階段:將對(duì)象元數(shù)據(jù)導(dǎo)入目標(biāo)數(shù)據(jù)庫(kù)
在這個(gè)階段,您需要從源中導(dǎo)出表空間的元數(shù)據(jù),并將表空間插入到目標(biāo)中。
5.1-目標(biāo)庫(kù)創(chuàng)建目錄對(duì)象
SQL> create directory hzh as '/home/oracle/destination/convert';
SQL> GRANT READ, WRITE ON DIRECTORY hzh TO system;
5.2-導(dǎo)入生成新的xttplugin.txt
在目標(biāo)系統(tǒng)上,以O(shè)racle用戶身份登錄,環(huán)境(ORACLE_HOME和ORACLE_SID環(huán)境變量)指向目標(biāo)數(shù)據(jù)庫(kù),
運(yùn)行g(shù)enerate data pump tts命令步驟,如下所示:
[oracle@destsql]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -e
這將在xttplugin.txt文件中生成一個(gè)示例命令,
并正確設(shè)置transportable tablespaces參數(shù)“transport_tablespaces”和“transport_datafiles”。
此外,還將創(chuàng)建一個(gè)數(shù)據(jù)泵導(dǎo)出文件。
5.3-在目標(biāo)數(shù)據(jù)庫(kù)上創(chuàng)建數(shù)據(jù)庫(kù)鏈接
連接到目標(biāo)數(shù)據(jù)庫(kù),創(chuàng)建連接到源數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)鏈接
SQL> create public database link ttslink connect to system identified by hongzhuohui using 'kingsql';
驗(yàn)證數(shù)據(jù)庫(kù)鏈接是否可以正確訪問(wèn)源系統(tǒng)
SQL> select name from v$database@ttslink;
5.4-修改并執(zhí)行IMPDP命令:
[oracle@dest]$ impdp directory=hzh logfile=tts_imp.log network_link=ttslink \
transport_full_check=no \
transport_tablespaces=TS1,TS2 \
transport_datafiles='+DATA/prod/datafile/ts1.285.771686721', \
'+DATA/prod/datafile/ts2.286.771686723', \
'+DATA/prod/datafile/ts2.287.771686743'
6 -驗(yàn)證數(shù)據(jù)
6.1-檢查表空間
在此步驟中,傳輸?shù)臄?shù)據(jù)在目標(biāo)數(shù)據(jù)庫(kù)中是只讀的。執(zhí)行特定于應(yīng)用程序的驗(yàn)證以驗(yàn)證傳輸?shù)臄?shù)據(jù)。
RMAN> validate tablespace TS1, TS2 check logical;
6.2-更改目標(biāo)數(shù)據(jù)庫(kù)中的表空間讀寫
最后一步是使目標(biāo)表空間在目標(biāo)數(shù)據(jù)庫(kù)中讀寫。
SQL> alter tablespace TS1 read write;
SQL> alter tablespace TS2 read write;
7 - 清理環(huán)境
源端:src_scratch
目標(biāo)端:dest_scratch
源端和目標(biāo)端
$TMPDIR
轉(zhuǎn)載請(qǐng)注明出處
hongzhuohui@qq.com
本來(lái)好幾年沒(méi)有更新博客了,最近我的學(xué)生們都在勤勞的寫博客,所以帶動(dòng)了我。。
--------------------------------------------------------------------------------------------------------------
我曾發(fā)現(xiàn)有寫網(wǎng)站直接拷貝粘貼,連圖片都能復(fù)制,請(qǐng)把作者也加上謝謝O(∩_∩)O
--------------------------------------------------------------------------------------------------------------
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。