<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    本文作者: junsansi???? 轉載網(wǎng)址: http://www.5ienet.com/index.shtml
    ?
    ?
    第四部分附章(1)RMAN備份來創(chuàng)建? 2008.01.22

    ??? 如果你看過三思之前的幾個筆記系列,那么對于rman 想必已經(jīng)非常熟悉,操作這個必然也不成問題,如果你還沒有看過,建議你先回去看看,然后再回來操作必然也沒有問題,如果你一定不準備看,沒關系,只要你嚴格按照實踐部分的步驟操作,我相信你一定也可以創(chuàng)建成功,操作應該也沒有問題,不過如果這樣你也覺著沒有問題,那么我要告訴你,可能就這是最大的問題:不知道做過什么,不知道該做什么,不知道為什么要做,一旦需求稍變,你甚至什么都不敢做。
    ?
    ??? 你什么都不用說,我知道,你還有問題,下面,我們先來看你下意識的第一個問題,為什么要用rman 創(chuàng)建物理standby?Oracle 告訴我們,有三點:
    ?
    ??? ● RMAN 創(chuàng)建standby 是通過primary 的備份,因此不會對primary 有任何的影響
    ??? ● RMAN 自動重命名OMF 的文件及路徑結構。
    ??? ● RMAN 修復歸檔日志文件并執(zhí)行恢復以盡可能保證standby 與primary 數(shù)據(jù)一致相同。
    ?
    ??? 當然,我們也應該知道,上述這些都是形容詞,它只是為了強化意識,說到這里再多白話幾句,第一條呢還說的過去(雖然你不用rman 備份,使用其它方式的備份創(chuàng)建standby 也不會對primary 造成影響),第二條第三條就完全不靠譜了,并不是說它實現(xiàn)不了,恰恰相反,是它描述的太基礎了,形容手法有問題,我舉個例子,比如你在魚缸里看到一條魚,你會不會形容說哇這條魚能夠在水里游耶(死魚才不會在水里游呢)~~所以鑒別能力很重要,雖然這點我做的還很不夠,但是請首長們放心,我一定會努力的,我一定會加強的,我一定會堅持的?。?!
    ?
    ??? 回到這個問題上來,為什么要用rman 來創(chuàng)建物理standby 呢,在我看來如果說有優(yōu)勢那么就一點:簡單!
    ??? 另外在這里三思更明確的指出,使用RMAN 的duplicate 命令只能直接創(chuàng)建物理standby,幸還是不幸?
    ?
    ?
    一、準備工作
    ?
    ??? 注意,在做任何操作之前,需要確認以下幾點:
    ?
    ??? ● 擁有至少一份通過rman 創(chuàng)建的備份;
    ??? ● 已經(jīng)在primary 數(shù)據(jù)庫設置了所有相關的初始化參數(shù);
    ??? ● 已經(jīng)創(chuàng)建了standby 的初始化參數(shù)文件并配置了所有相關的初始化參數(shù);
    ??? ● 已經(jīng)配置了實例,NetService,Listener 等;
    ??? ● 啟動standby 實例到nomount 狀態(tài);
    ?
    ??? 然后:
    ?
    1、通過rman 創(chuàng)建standby 的控制文件
    ?
    ??? 創(chuàng)建standby 的控制文件前面我們提到通過sql 命令,使用非常簡單,使用rman 命令創(chuàng)建與之同理,并且有兩種方式創(chuàng)建演示如下:

    ??? 1).RMAN> backup current controlfile for standby;
    ??? 2).RMAN> copy current controlfile for standby to 'e:\ora10g\oradata\jssrman\JSSRMAN01.CTL';


    ?
    2、定制standby 數(shù)據(jù)(日志)文件重命名策略
    ?
    ??? 為什么oracle 要提供重命名策略呢?因為dg 配置非常靈活,standby 甚至可以與primary 在同一個數(shù)據(jù)庫。
    ?
    ??? 什么時候需要應用重命名策略呢?如果standby 與primary 在同一臺服務器,或雖然不在同一臺服務器,但standby 的目錄結構與primary 不同,這兩種情況下,都必須應用重命名策略。如果standby 與primary 不在同一臺服務器,并且目錄結構相同,那就不需要應用重命名策略。
    ?
    ??? 如何應用重命名策略呢? 多種方式, 比如我們的老朋友初始化參數(shù):db_file_name_convert,log_file_name_convert。還有rman 命令SET NEWNAME 或CONFIGURE AUXNAME
    等等,這些相關參數(shù)、命令的應用我們都在"Duplicate 復制數(shù)據(jù)庫"系列中介紹并應用過,后面還會再次提及。
    ?
    ?
    二、大致流程

    ??? 通常情況下,rman 創(chuàng)建完standby 之后不會自動執(zhí)行recover。
    ?
    ??? 如果你執(zhí)行duplicate 命令時沒有指定dorecover 參數(shù),則rman 自動按照下面的步驟操作:
    ??? 1、RMAN 連接standby 與primary,及catalog(如果使用了的話);
    ??? 2、檢索catalog(nocatalog 的話是primary 數(shù)據(jù)庫的控制文件),確定primary 的備份以及standby 控制文件;
    ??? 3、如果使用介質恢復,RMAN 需要連接介質管理器以獲取所需備份數(shù)據(jù);
    ??? 4、恢復standby 控制文件到standby 服務器;
    ??? 5、恢復primary 數(shù)據(jù)庫備份集中相應數(shù)據(jù)文件到standby 服務器;
    ??? 6、rman 自動將standby 數(shù)據(jù)庫打開到mount 狀態(tài),不過不會自動打開redo 應用。
    ?
    ??? 如果執(zhí)行duplicate 命令時指定了dorecover 參數(shù),則rman 會在執(zhí)行完第5 步后,接著執(zhí)行下列的操作:
    ??? 7、在所有數(shù)據(jù)都restored 之后,rman 自動執(zhí)行recovery,如果recovery 過程需要歸檔文件,但是這些文件又不在本地盤,則rman 會嘗試從備份中獲取。
    ??? 8、rman 執(zhí)行recovery 之前,你可以通過指定time,scn,logfile sequence 來確定recovery 的內容,如果什么都不指定,則rman 一直recover 到最后一個歸檔文件。
    ??? 9、rman 自動將standby 數(shù)據(jù)庫打開到mount 狀態(tài),同樣也不會自動打開redo 應用。
    ?
    ?
    三、方法及步驟

    ??? 基本上,可以分成二類:
    ?
    1、相同目錄結構的創(chuàng)建

    ??? duplicate 不同服務器相同目錄結構創(chuàng)建standby 的操作極為簡單, 你即不需要動用DB_FILE_NAME_CONVER/LOG_FILE_NAME_CONVERT之類參數(shù),也不需要通過set newname之類命令,基本步驟如下:
    ?
    ??? 1) 確保已設置standby 服務器中所有相關的初始化參數(shù)。
    ??? 2) 確認備份集中文件scn 大于或等于控制文件中的scn。
    ??? 3) 如果需要,可以通過set 命令指定time,scn 或log 序號以執(zhí)行不完全恢復。
    ??????? 例如:set until scn 152;
    ??????? 提示:注意如果有set,則set 與duplicate 必須在同一個run 命令塊中。
    ??? 4) 如果沒有配置自動分配通道的話,需要手工指定至少一條輔助通道。
    ??? 5) 務必指定nofilenamecheck 參數(shù),我們之前"duplicate 復制數(shù)據(jù)庫"系列中就曾提到過,異機操作路徑相同還必需指定NOFILENAMECHECK。因為此處oracle 表現(xiàn)的很傻,它不知道你要恢復的路徑是在另一臺機器上,它只是認為要恢復到的路徑怎么跟目標數(shù)據(jù)庫表現(xiàn)的一樣呢?會不會是要覆蓋目標數(shù)據(jù)庫啊,為了避免這種情形,于是它就報錯。所以一旦異機恢復,并且路徑相同,那么你必須通過指定NOFILENAMECHECK 來避免oracle 的自動識別。
    ?
    ??? 例如腳本如下:

    ??? sql> duplicate target database for standby nofilenamecheck dorecover;


    ??? 注意,dorecover 并非是必須參數(shù),如果你不指定的話,則duplicate 修復數(shù)據(jù)文件到服務器,并自動將standby 啟動到mount 狀態(tài),不過并不會執(zhí)行恢復操作。
    ?
    2、不同目錄結構的創(chuàng)建

    ??? 對于不同目錄結構創(chuàng)建standby(與是否同一臺服務器就基本無關了),你需要對數(shù)據(jù)文件和日志文件路徑重新定義,那你的選擇可就多多了喲:
    ?
    ??? a. 使用初始化參數(shù)重定義數(shù)據(jù)文件及日志文件
    ?
    ??? 關于db_file_name_convert 和log_file_name_convert 兩個初始化參數(shù)的本領和套路大家已經(jīng)都很熟悉了,所以呢這里就不多做介紹。duplicate 命令在此處執(zhí)行的時候與相同目錄結構執(zhí)行也沒什么不同,所以,你可以認為,這是不同路徑下創(chuàng)建standby 中,最簡單的方式。
    ?
    ?? b. SET NEWNAME 命令重定義數(shù)據(jù)文件
    ?
    ??? 步驟如下:
    ??? ● 確保已設置standby 服務器中所有相關的初始化參數(shù)。
    ??? ● 確認備份集中文件scn 大于或等于控制文件中的scn。
    ??? ● 如果需要,可以通過set 命令指定time,scn 或log 序號以執(zhí)行不完全恢復。
    ??? ● 如果沒有配置自動分配通道的話,需要手工指定至少一條輔助通道。
    ??? ● 通過set newname 命令為standby 數(shù)據(jù)文件指定新路徑
    ??? ● 執(zhí)行duplicate 命令。
    ?
    ??? 例如,腳本如下:

    ??? RUN
    ??? {
    ??? # Set new file names for the datafiles
    ??? SET NEWNAME FOR DATAFILE 1 TO '?/dbs/standby_data_01.f';
    ??? SET NEWNAME FOR DATAFILE 2 TO '?/dbs/standby_data_02.f';
    ??? . . .
    ??? DUPLICATE TARGET DATABASE FOR STANDBY DORECOVER;
    ??? }

    ?
    ? ? c. CONFIGURE AUXNAME 命令重定義數(shù)據(jù)文件
    ?
    ??? 操作步驟皆與上同,不再詳述,不過需要注意的是CONFIGURE AUXNAME 命令的格式,并且configure 命令不能在run 塊中執(zhí)行,例如腳本如下:

    ??? # set auxiliary names for the datafiles
    ??? CONFIGURE AUXNAME FOR DATAFILE 1 TO '/oracle/auxfiles/aux_1.f';
    ??? CONFIGURE AUXNAME FOR DATAFILE 2 TO '/oracle/auxfiles/aux_2.f';
    ??? . . .
    ??? CONFIGURE AUXNAME FOR DATAFILE n TO '/oracle/auxfiles/aux_n.f';
    ??? DUPLICATE TARGET DATABASE FOR STANDBY;

    ?
    ??? 最后,務必注意,configure auxname 命令執(zhí)行是一直生效的,因此duplicate 執(zhí)行完之后,推薦清除CONFIGURE AUXNAME。這樣就不會對未來的類似操作造成影響。
    ?
    ??? 例如:

    ??? CONFIGURE AUXNAME FOR DATAFILE 1 CLEAR;
    ??? CONFIGURE AUXNAME FOR DATAFILE 2 CLEAR;
    ??? . . .
    ??? CONFIGURE AUXNAME FOR DATAFILE n CLEAR;

    ?
    ?
    ??? 步驟和方法介紹完了,下面實際操作一把~~~~~~~~~~~~~
    ?
    ?
    ?
    posted on 2009-03-02 22:12 decode360 閱讀(217) 評論(0)  編輯  收藏 所屬分類: 10.DB_Tools
    主站蜘蛛池模板: 日韩精品成人亚洲专区| 精品国产免费观看一区| 亚洲av中文无码乱人伦在线播放| 亚洲av日韩专区在线观看| 拨牐拨牐x8免费| 色噜噜亚洲男人的天堂| 最近中文字幕免费mv视频8| 亚洲国产精品成人精品软件| 亚洲精品在线免费观看视频| 777亚洲精品乱码久久久久久| 无码人妻AV免费一区二区三区| 久久精品国产亚洲av麻豆小说| 24小时在线免费视频| 亚洲伊人久久精品| 毛片在线看免费版| 色窝窝亚洲av网| 亚洲国产91精品无码专区| 成人在线免费视频| 国产亚洲一区二区精品| 久操视频在线免费观看| 亚洲毛片免费观看| 女人与禽交视频免费看 | 在线亚洲人成电影网站色www| 国产免费AV片在线观看播放| 亚洲精品国产美女久久久| 免费人成在线观看视频高潮| 亚洲色偷偷av男人的天堂| 日韩欧美一区二区三区免费观看| 亚洲人成网亚洲欧洲无码| 亚洲成a人片在线观看久| 久久免费看少妇高潮V片特黄| 亚洲精品永久www忘忧草| 国外成人免费高清激情视频| 一级毛片a免费播放王色电影 | 成人黄软件网18免费下载成人黄18免费视频 | 18观看免费永久视频| 亚洲永久在线观看| 亚洲精品无码日韩国产不卡?V| 久别的草原电视剧免费观看| 亚洲乱人伦精品图片| 亚洲国产成人乱码精品女人久久久不卡 |