版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Oracle程序員面試分類模擬26簡答題1.
在控制文件丟失且無備份的情況下如何恢復?正確答案:重建控制文件,在重建控制文件之前,需要使用包DBMS_BACKUP_RESTORE來抽取數據文件,其(江南博哥)實面試官主要想看求職者是否知道有這個包的存在而已。
2.
imp工具的ignore參數有什么作用?正確答案:Oracle在恢復數據的過程中,當恢復某個表時,如果該表已經存在,就要根據ignore參數的設置來決定如何操作。若ignore為Y時,則Oracle不執(zhí)行CREATETABLE語句,直接將數據插入到表中。如果插入的記錄違背了約束條件(例如主鍵約束),那么出錯的記錄不會插入,但合法的記錄會添加到表中。若ignore為N時,則Oracle不執(zhí)行CREATETABLE語句,同時也不會將數據插入到表中,而是忽略該表的錯誤,繼續(xù)恢復下一個表,默認值為N。
3.
數據泵中NETWORK_LINK選項的作用是什么?正確答案:數據泵expdp生成的文件默認是存放在服務端的,而exp生成的文件是存放在客戶端的。使用數據泵的NETWORK_LINK參數,可以在本地的數據庫中創(chuàng)建一個指向遠程數據庫的DBLINK,在執(zhí)行導出expdp時,指定NETWORK_LINK參數為DBLINK名稱,就可以直接將遠程數據庫的數據導出到本地數據庫里創(chuàng)建的DIRECTORY下。在執(zhí)行導入命令impdp的時候也可以使用NETWORK_LNK參數。如果不想在源端或目標端生成dmp文件而直接將需要的數據導入目標端數據庫,那么可以直接使用impdp帶NETWORK_LINK參數,這樣可以直接執(zhí)行impdp從而繞過了expdp的步驟。
4.
在Undo表空間數據文件丟失的情況下如何恢復?正確答案:恢復大約可以分為3種情況:①有備份,這種情況下直接采用備份的文件進行恢復即可。②無備份但是有完整的歸檔文件存在,這種情況下可以使用命令“ALTERDATABASECREATEDATAFILE文件號AS'/u01/app/oracle/oradata/lhrdb/undotbs01.dbf'size50m;”來創(chuàng)建丟失的Undo文件,然后使用“RECOVERDATAFILE文件號;”進行恢復數據庫文件即可。③無備份,歸檔文件丟失,在這種情況下的恢復比較復雜。首先應該切換Undo表空間到一個新建的Undo表空間中,并設置原有表空間的管理模式為手動管理模式,然后將隱含參數“OFFLINE_ROLLBACK_SEGMENTS”設置為TRUE,一些關鍵性的命令如下:
5.
RMAN可以跨版本或跨平臺執(zhí)行還原或復制命令嗎?正確答案:一般會被問到,能使用更高版本的Oracle還原或復制舊版本的數據庫嗎?答案是可以跨高版本恢復,但是有很多限制條件,而且不支持RMAN復制(Duplicate),因為該功能會在恢復之后嘗試自動打開數據庫時失敗。RMAN可將在較舊的數據庫版本上進行的備份還原到較新的版本中,但是舊的備份必須是在9.2或更高版本的數據庫中進行的。對于跨小版本的恢復很容易,例如從Oracle11.2.0.1恢復到11.2.0.3版本的數據庫??梢砸来芜€原SPFILE、控制文件和數據文件,然后恢復數據庫,使用STARTUPUPGRADE命令打開數據庫,最后一步是使用catupgrd.sql腳本對失效的對象進行編譯即可。對于跨大版本的恢復有很多限制條件,例如從Oracle10.2.0.2恢復到11.2.0.3版本的數據庫?;謴筒襟E和小版本一樣,打開數據庫的時候可以使用命令:“ALTERDATABASEOPENRESETLOGSUPGRADE;”。將Oracle10g恢復到Oracle11g上,需要滿足2個條件,①必須在Oracle10g上先執(zhí)行腳本“@?/rdbms/admin/utlu112i.sql”,然后再進行備份,否則RESTORE之后的升級將失敗。②Oracle10g的版本必須大于10.2.0.2,即Oracle采用RMAN恢復到高版本的數據庫依然要遵循Oracle數據庫的升級流程圖,如下圖所示。
升級流程圖
需要注意的是,與此相似的問題,還有如下幾個:
1)MAN支持在兩個不同的補工程序集之間進行還原或復制嗎?答案是支持,該情況和上邊介紹的RMAN的跨版本恢復是一樣的。
2)RMAN支持在同一操作系統的不同版本之間進行還原或復制嗎?答案是支持。
3)Oracle的位(bit)級別(32位或64位)不匹配時,可以進行還原或復制嗎?在執(zhí)行還原或恢復時,最好保持相同的位版本。但是,除使用復制命令(duplicate)外,使用相同的操作系統平臺允許在Oracle位級別(32位或64位)之間進行還原和恢復。需要注意的是,這可能只適用于特定的操作系統,例如Windows、Linux。如果要使用32位軟件運行64位數據庫(或反之),那么在恢復結束之后必須要使用utlirp.sql腳本轉換數據庫位版本。如果不運行utlirp.sql腳本,那么將會出現錯誤“ORA-06553:PLS-801:INTERNALERROR[56319]”。
4)可以將更高版本的備份還原到較早版本的Oracle嗎?例如,把數據庫從10.2升級至11.2之后,在成功升級并在11.2上運行幾天之后,并對11.2數據庫進行了新的備份。這時,能否將11.2的備份集恢復到10.2版本的數據庫中嗎?答案是:如果在升級后從未增加COMPATIBLE參數,那么可以進行此類還原。在本例中,如果11.2數據庫始終是在COMPATIBLE為10.2的情況下運行,那么可以將11.2數據庫的備份還原到10.2實例中,然后再執(zhí)行降級過程(ALTERDATABASEOPENRESETLOGSDOWNGRADE;)。如果數據庫已經在COMPATIBLE為11.2的情況下打開,那么就不能進行此類還原。
5)可以在兩個不同的平臺之間還原或復制RMAN備份嗎,例如Solaris到Linux?在通常情況下,不能在兩個不同的平臺之間進行還原或復制。在Oracle10g之前的版本中,從一個平臺遷移至另一個平臺的唯一方法是使用導出/導入。從OraclelOg開始,通過RMAN轉換(convert)命令,使用10g跨平臺可傳輸表空間(Cross-PlatformTransportableTablespaces)選項跨越各個平臺。在Oracle10.2及更高版本中,如果源OS和目標OS具有相同的字節(jié)序(endian),那么可以使用“CONVERTDATABASE”命令轉換數據文件并使其準備好傳輸到目標OS。
6.
如何徹底停止expdp進程?正確答案:許多同事在使用expdp命令時,不小心按了〈CTRL+C〉組合鍵,然后又輸入exit命令(或者網絡中斷等異常情況),導致expdp進程不存在,但Oracle數據庫的會話仍存在,所以dmp文件也一直在增長。在這種情況下的處理辦法如下:
1)檢查expdp進程是否還在:
若存在,則可用“kill-9process”命令結束(殺掉)expdp的進程。
2)檢查會話是否仍存在,若存在則把相關的會話殺掉(注意:先使用命令“ALTERSYSTEMKILLSESSIONSID,SERIAL#IMMEDIATE;”在數據庫級別結束(殺掉)會話,然后在OS級別使用kill.9結束(殺掉)進程),如無結束會話的權限則可以將相關的表DROP掉,表名可以使用如下的SQL來查詢:
例如:
使用相同的辦法也刪除從視圖DBA_DATAPUMP_JOBS中查詢出來的表,直到這兩個視圖無記錄。
3)刪除導出的dmp文件。如不刪除,則在重新執(zhí)行expdp命令時會報dmp文件已存在的錯誤。
7.
如何跟蹤expdp和SQL*Plus命令?正確答案:可以使用trace選項來跟蹤expdp命令,如下:
若想跟蹤exp命令的話,可以使用操作系統命令strace,如下:
操作系統命令strace也可以跟蹤SQL*Plus命令,跟蹤的命令很簡單:
Unix系統下跟蹤SQL*Plus命令使用truss命令,如下:
8.
如何查詢RMAN的配置信息?正確答案:通過視圖V$RMAN_CONFIGURATION可以查詢其配置信息或在RMAN中使用SHOWALL命令查看。
9.
如何查詢RMAN的所有備份信息?正確答案:可以通過視圖V$BACKUP_SET、V$BACKUP_FILES、V$BACKUP_DATAFILE、V$BACKUP_PIECE、V$BACKUP_ARCHIVELOG_DETAILS、V$BACKUPSPFILE和V$BACKUP_CONTROLFILE_DETAILS關聯查詢得到RMAN的所有備份信息。
10.
在RMAN的備份中如何列出1430到1437之間的歸檔日志?正確答案:可以使用LIST命令,如下:
若要列出當前數據庫的所有歸檔日志,可以使用如下命令:
11.
RESETLOGS和NORESETLOGS的區(qū)別是什么?正確答案:RESETLOGS和NORESETLOGS主要用在兩個地方,第一是在創(chuàng)建控制文件的時候,第二是在打開數據庫的時候。當將控制文件備份到TRACE文件時,可以看到里面包含了兩部分的重建語句,一個是使用RESETLOGS,另一個是使用NORESETLOGS。
備份控制文件的SQL如下:
以下是重建控制文件的命令:
若當前的所有在線日志可用,則在創(chuàng)建控制文件的時候使用NORESETLOGS。若當前的在線日志有所損壞時,則在創(chuàng)建控制文件的時候需要使用RESETLOGS。若使用RESETLOGS則將導致在線日志里的內容丟失,并且所有的備份失效。
在打開數據庫的時候也可以使用RESETLOGS或NOR_ESETLOGS選項。在做了不完全恢復后,RESETLOGS會初始化日志,重置日志序列號(從1開始),并且創(chuàng)建一個新的INCARNATION??梢允褂肦MAN命令查看INCARNATION的信息:
做不完全恢復必須使用RESETLOGS,但是RESETLOGS也可以做完全恢復。而NORESETLOGS則必須是在做完全恢復時使用。RESETLOGS會重置日志序列號,強制清空或重建在線日志,而NORESETLOGS則不會這么做。
12.
數據庫恢復過程有什么流程嗎?正確答案:基本過程是,參數文件(PFILE、SPFILE)→控制文件→還原數據文件→恢復數據文件→打開數據庫,詳細過程可以參考隨書提供的pdf里的附錄中的Oracle恢復流程圖。
13.
不同版本的數據庫如何進行導出導入(exp、imp)操作?正確答案:導出用低版本,導入用當前版本。如果版本跨越太大,需要用到中間版本過渡。
14.
如何備份控制文件?正確答案:備份控制文件可以在線進行,如備份為一個二進制的文件:
備份為文本文件方式:
RMAN備份控制文件:
設置RMAN自動備份控制文件:
15.
如果控制文件損壞如何恢復?正確答案:如果控制文件有多個,而只損壞了單個控制文件,那么只需要關閉數據庫,拷貝其他好的控制文件覆蓋掉壞的控制文件即可。也可以修改參數文件,只保留1個控制文件。如果損壞了全部控制文件,那么需要重新創(chuàng)建控制文件或從備份恢復。重新創(chuàng)建控制文件的腳本可以通過命令“ALTERDATABASEBACKUPCONTROLFILETOTRACE;”獲取。
16.
如果丟失一個數據文件而且沒有備份,也沒有歸檔日志,那么應該如何打開數據庫?正確答案:如果沒有備份只能是刪除這個數據文件了,會導致相應的數據丟失。
ARCHIVELOG模式命令:
NOARCHIVELOG模式命令:
注意:該數據文件不能是系統數據文件。
17.
如果丟失一個數據文件而且沒有備份但是有該數據文件創(chuàng)建以來的歸檔日志怎么恢復?正確答案:若丟失的文件不是系統數據文件而且控制文件完好無損,則可以如下恢復:
或者:
或者:
18.
如果聯機Redo日志文件損壞,那么如何恢復?正確答案:聯機Redo日志是Oracle數據庫中比較核心的文件,當Redo日志文件異常之后,數據庫就無法正常啟動,而且有丟失數據的風險,強烈建議在條件允許的情況下,對Redo日志進行多路鏡像。需要注意的是,RMAN不能備份聯機Redo日志文件。所以,聯機Redo日志一旦出現故障,則只能進行清除日志了。清除日志文件即表明可以重用該文件。如果日志文件已經歸檔,那么可以使用:
如果該日志還沒有歸檔,那么需要用:
如果是當前日志損壞,那么一般不能CLEAR,而且可能意味著丟失數據,一般情況下只能設置隱含參數“_ALLOW_RESETLOGS_CORRUPTION=TRUE”來進行強制執(zhí)行不完全恢復了,但是,這樣的方法是不建議的。
19.
如何在執(zhí)行恢復的時候將數據文件恢復到別的路徑?正確答案:主要采用命令“setnewnamefordatafile”和“switchdatafileall;”。
20.
怎么從備份片(BACKUPPIECE)中恢復(RESTORE)控制文件與數據文件?正確答案:可以使用如下方法,在RMAN中恢復備份片的控制文件:
如果是自動備份,可以采用如下的方法:
但是,如果控制文件全部丟失,需要指定DBID,命令為“SETDBID=?”。自動備份控制文件的默認格式是%F,這個格式的形式為“c-IIIIIIIIII-YYYYMMDD-QQ”,其中IIIIIIIIII就是DBID。可以采用包DBMS_BACKUP_RESTORE來恢復(RESTORE)數據文件,當然該包也可以用來恢復備份片中的控制文件。該包在NOMOUNT狀態(tài)下就可以執(zhí)行,如下:
21.
如何清除V$ARCHIVED_LOG視圖中的過期信息?正確答案:在使用RMAN命令(DELETEARCHIVELOGALL;)刪除歸檔信息后V$ARCHIVED_LOG視圖中的NAME列為空,但是依然可以查詢到這些刪除了的歸檔信息,出現這樣的現象是因為使用RMAN命令在刪除歸檔日志的時候不會清除控制文件中的內容,導致V$ARCHIVED_LOG留下的過期的不完整信息。使用如下的命令可以清除控制文件中關于V$ARCHIVED_LOG的信息:
22.
Oracle如何刪除歸檔日志文件?正確答案:在RMAN工具里刪除歸檔日志文件:
23.
生成備庫控制文件的方法有哪些?正確答案:若在RMAN中,則用命令“BACKUPDEVICETYPEDISKFORMAT'/arch/standby_new_thr_%U.ctl'CURRENTCONTROLFILEFORSTANDBY;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《《景岳全書·婦人規(guī)·經脈類》治療月經病的方劑配伍特點研究》
- 《基于問卷調查的舞臺演唱心理緊張問題研究》
- 《對道家認知療法的評述及相關實證研究》
- 餐飲服務業(yè)職業(yè)病監(jiān)測與管理方案
- 《不同處理方法對光固化復合樹脂單體轉化率的影響》
- 《同型半胱氨酸及其代謝酶CBS基因多態(tài)性與顱內動脈粥樣硬化性狹窄相關性研究》
- 2024-2030年中國汽車真皮座椅面套行業(yè)競爭趨勢及發(fā)展規(guī)劃分析報告
- 2024-2030年中國汽車刮水器電機軸行業(yè)市場運營模式及未來發(fā)展動向預測報告
- 2024-2030年中國水果批發(fā)行業(yè)市場風險評估及投資戰(zhàn)略決策報告
- 綠色工廠創(chuàng)建工作計劃
- 安徽工程大學《自然語言處理及應用》2022-2023學年第一學期期末試卷
- 電路分析基礎知到智慧樹章節(jié)測試課后答案2024年秋太原理工大學
- 2024年室內設計協議書
- 跨境TIR公路運輸場景實測白皮書-中俄篇 2024
- 中儲糧西安分公司招聘真題
- 2024土方開挖工程合同范本
- GB/T 44731-2024科技成果評估規(guī)范
- 企業(yè)綠色供應鏈管理咨詢服務合同
- 食品安全事故專項應急預案演練記錄6篇匯編(表格式)
- 2025年會計基礎知識考試題庫附答案
- 《資治通鑒》導讀學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論