Oracle第11章數(shù)據(jù)庫備份與恢復_第1頁
Oracle第11章數(shù)據(jù)庫備份與恢復_第2頁
Oracle第11章數(shù)據(jù)庫備份與恢復_第3頁
Oracle第11章數(shù)據(jù)庫備份與恢復_第4頁
Oracle第11章數(shù)據(jù)庫備份與恢復_第5頁
已閱讀5頁,還剩145頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1第11章數(shù)據(jù)庫備份與恢復2本章內(nèi)容備份與恢復概述物理備份與恢復邏輯備份與恢復3本章要求了解備份與恢復的重要性和概念掌握數(shù)據(jù)庫的冷備份方法掌握數(shù)據(jù)庫的熱備份方法掌握數(shù)據(jù)庫完全恢復方法掌握數(shù)據(jù)不完全恢復方法掌握邏輯備份和恢復方法411.1備份與恢復概述備份與恢復的基本概念Oracle數(shù)據(jù)庫故障類型及恢復措施備份的原則與策略恢復的原則與策略511.1.1備份與恢復的概念備份與恢復的作用備份的概念與類型恢復的概念、類型與恢復機制6(1)備份與恢復的作用數(shù)據(jù)庫系統(tǒng)在運行中可能發(fā)生故障,輕則導致事務異常中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中的數(shù)據(jù)部分或全部丟失。數(shù)據(jù)庫備份與恢復的目的就是為了保證在各種故障發(fā)生后,數(shù)據(jù)庫中的數(shù)據(jù)都能從錯誤狀態(tài)恢復到某種邏輯一致的狀態(tài)。7(2)備份的概念與類型概念數(shù)據(jù)庫備份就是對數(shù)據(jù)庫中部分或全部數(shù)據(jù)進行復制,形成副本,存放到一個相對獨立的設備上,如磁盤、磁帶,以備將來數(shù)據(jù)庫出現(xiàn)故障時使用。根據(jù)數(shù)據(jù)備份方式的不同,數(shù)據(jù)庫備份分為:

物理備份:將組成數(shù)據(jù)庫的數(shù)據(jù)文件、重做日志文件、控制文件、初始化參數(shù)文件等操作系統(tǒng)文件進行復制,將形成的副本保存到與當前系統(tǒng)獨立的磁盤或磁帶上。邏輯備份是指利用Oracle提供的導出工具(如Expdp,Export)將數(shù)據(jù)庫中的數(shù)據(jù)抽取出來存放到一個二進制文件中。8根據(jù)數(shù)據(jù)庫備份時是否關閉數(shù)據(jù)庫服務器,物理備份分為:冷備份又稱停機備份,是指在關閉數(shù)據(jù)庫的情況下將所有的數(shù)據(jù)庫文件復制到另一個磁盤或磁帶上去。熱備份又稱聯(lián)機備份,是指在數(shù)據(jù)庫運行的情況下對數(shù)據(jù)庫進行的備份。要進行熱備份,數(shù)據(jù)庫必須運行在歸檔日志模式下。9根據(jù)數(shù)據(jù)庫備份的規(guī)模不同,物理備份可分為:完全備份:指對整個數(shù)據(jù)庫進行備份,包括所有的物理文件。部分備份:對部分數(shù)據(jù)文件、表空間、控制文件、歸檔重做日志文件等進行備份。根據(jù)數(shù)據(jù)庫是否運行在歸檔模式,物理備份可分為:歸檔備份非歸檔備份10(3)恢復的概念、類型與恢復機制概念數(shù)據(jù)庫恢復是指在數(shù)據(jù)庫發(fā)生故障時,使用數(shù)據(jù)庫備份還原數(shù)據(jù)庫,使數(shù)據(jù)庫恢復到無故障狀態(tài)。根據(jù)數(shù)據(jù)庫恢復時使用的備份不同,恢復分為:所謂的物理恢復就是,利用物理備份來恢復數(shù)據(jù)庫,即利用物理備份文件恢復損毀文件,是在操作系統(tǒng)級別上進行的。邏輯恢復是指利用邏輯備份的二進制文件,使用Oracle提供的導入工具(如Impdp,Import)將部分或全部信息重新導入數(shù)據(jù)庫,恢復損毀或丟失的數(shù)據(jù)。根據(jù)數(shù)據(jù)庫恢復程度的不同,恢復可分為:完全恢復:利用備份使數(shù)據(jù)庫恢復到出現(xiàn)故障時的狀態(tài)。不完全恢復:利用備份使數(shù)據(jù)庫恢復到出現(xiàn)故障時刻之前的某個狀態(tài)。11數(shù)據(jù)庫的恢復分3個步驟進行:首先使用一個完整備份將數(shù)據(jù)庫恢復到備份時刻的狀態(tài);然后利用歸檔日志文件和聯(lián)機重做日志文件中的日志信息,采用前滾技術(RollForward)重做備份以后已經(jīng)完成并提交的事物;最后利用回滾技術(RollBack)取消發(fā)生故障時已寫入日志文件但沒有提交的事物,將數(shù)據(jù)庫恢復到故障時刻的狀態(tài)。12在T1和T3時刻進行了兩次數(shù)據(jù)庫備份,在T5時刻數(shù)據(jù)庫出現(xiàn)故障。如果使用T1時刻的備份1恢復數(shù)據(jù)庫,則只能恢復到T1時刻的狀態(tài),即不完全恢復;如果使用T3時刻的備份2恢復數(shù)據(jù)庫,則可以恢復到T3時刻到T5時刻的任意狀態(tài)(歸檔日志與聯(lián)機日志)。

1311.1.2Oracle數(shù)據(jù)庫故障類型及

恢復措施語句故障進程故障用戶錯誤實例失敗網(wǎng)絡故障介質(zhì)故障14語句故障語句故障是指執(zhí)行SQL語句時發(fā)生的故障。例如,對不存在的表執(zhí)行SELECT操作、向已無空間可用的表中執(zhí)行INSERT操作等都會發(fā)生語句故障,Oracle將返回給用戶一個錯誤信息。語句故障通常不需要DBA干預,Oracle會自動回滾產(chǎn)生錯誤的SQL語句操作。進程故障進程故障是指用戶進程、服務器進程或數(shù)據(jù)庫后臺進程由于某種原因而意外終止,此時該進程將無法使用,但不影響其他進程的運行。Oracle的后臺進程PMON能夠自動監(jiān)測并恢復故障進程。如果該進程無法恢復,則需要DBA關閉并重新啟動數(shù)據(jù)庫實例。15用戶錯誤用戶錯誤是指用戶在使用數(shù)據(jù)庫時產(chǎn)生的錯誤。例如,用戶意外刪除某個表或表中的數(shù)據(jù)。用戶錯誤無法由Oracle自動進行恢復,管理員可以使用邏輯備份來恢復。實例失敗實例失敗是指由于某種原因?qū)е聰?shù)據(jù)庫實例無法正常工作。例如,突然斷電導致數(shù)據(jù)庫服務器立即關閉、數(shù)據(jù)庫服務器硬件故障導致操作系統(tǒng)無法運行等。實例失敗時,需要進行實例重新啟動,在實例重新啟動的過程中,數(shù)據(jù)庫后臺進程SMON會自動對實例進行恢復。16網(wǎng)絡故障網(wǎng)絡故障是指由于通信軟件或硬件故障,導致應用程序或用戶與數(shù)據(jù)庫服務器之間的通信中斷。數(shù)據(jù)庫的后臺進程PMON將自動監(jiān)測并處理意外中斷的用戶進程和服務器進程。介質(zhì)故障介質(zhì)故障是指由于各種原因引起的數(shù)據(jù)庫數(shù)據(jù)文件、控制文件或重做日志文件的損壞,導致系統(tǒng)無法正常運行。例如,磁盤損壞導致文件系統(tǒng)被破壞。介質(zhì)故障是數(shù)據(jù)庫備份與恢復中主要關心的故障類型,需要管理員提前做好數(shù)據(jù)庫的備份,否則將導致數(shù)據(jù)庫無法恢復。1711.1.3備份原則與策略在剛建立數(shù)據(jù)庫時,應該立即進行數(shù)據(jù)庫的完全備份;將所有的數(shù)據(jù)庫備份保存在一個獨立磁盤上(必須是與當前數(shù)據(jù)庫系統(tǒng)正在使用的文件不同的磁盤);應該保持控制文件的多路復用,且控制文件的副本應該存放在不同磁盤控制器下的不同磁盤設備上;應該保持多個聯(lián)機日志文件組,每個組中至少應該保持兩個日志成員,同一日志組的多個成員應該分散存放在不同磁盤上;至少保證兩個歸檔重做日志文件的歸檔目標,不同歸檔目標應該分散于不同磁盤;如果條件允許,盡量保證數(shù)據(jù)庫運行于歸檔模式;根據(jù)數(shù)據(jù)庫數(shù)據(jù)變化的頻率情況確定數(shù)據(jù)庫備份規(guī)律;18在歸檔模式下,當數(shù)據(jù)庫結構發(fā)生變化時,如創(chuàng)建或刪除表空間、添加數(shù)據(jù)文件、重做日志文件等,應該備份數(shù)據(jù)庫的控制文件;在非歸檔模式下,當數(shù)據(jù)庫結構發(fā)生變化時,應該進行數(shù)據(jù)庫的完全備份;在歸檔模式下,對于經(jīng)常使用的表空間,可以采用表空間備份方法提高備份效率;在歸檔模式下,通常不需要對聯(lián)機重做日志文件進行備份;使用RESETLOGS方式打開數(shù)據(jù)庫后,應該進行一個數(shù)據(jù)庫的完全備份;對于重要的表中的數(shù)據(jù),可以采用邏輯備份方式進行備份。1911.1.4恢復原則與策略根據(jù)數(shù)據(jù)庫介質(zhì)故障原因,確定采用完全介質(zhì)恢復還是不完全介質(zhì)恢復;如果數(shù)據(jù)庫運行在非歸檔模式,則當介質(zhì)故障發(fā)生時,只能進行數(shù)據(jù)庫的不完全恢復,將數(shù)據(jù)庫恢復到最近的備份時刻的狀態(tài);如果數(shù)據(jù)庫運行在歸檔模式,則當一個或多個數(shù)據(jù)文件損壞時,可以使用備份的數(shù)據(jù)文件進行完全或不完全恢復數(shù)據(jù)庫;如果數(shù)據(jù)庫運行在歸檔模式,則當數(shù)據(jù)庫的控制文件損壞時,可以使用備份的控制文件實現(xiàn)數(shù)據(jù)庫的不完全恢復;如果數(shù)據(jù)庫運行在歸檔模式,則當數(shù)據(jù)庫的聯(lián)機日志文件損壞時,可以使用備份的數(shù)據(jù)文件和聯(lián)機重做日志文件不完全恢復數(shù)據(jù)庫;如果執(zhí)行了不完全恢復,則當重新打開數(shù)據(jù)庫時應該使用RESETLOGS選項。2011.2物理備份與恢復冷備份熱備份非歸檔模式下數(shù)據(jù)庫的恢復歸檔模式下數(shù)據(jù)庫的完全恢復歸檔模式下數(shù)據(jù)庫的不完全恢復利用OEM進行物理備份與恢復212211.2.1冷備份概述關閉數(shù)據(jù)庫實例。用操作系統(tǒng)的實用工具備份所有的物理文件,包括數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件等。23關閉數(shù)據(jù)庫,開始備份故障時刻

備份恢復

重裝備份副本恢復丟失數(shù)據(jù)備份完成如果沒有啟用歸檔模式,數(shù)據(jù)庫不能恢復到備份完成后的任意時刻。如果啟用歸檔模式,從冷備份結束后到出現(xiàn)故障這段時間的數(shù)據(jù)庫恢復,可以利用聯(lián)機日志文件和歸檔日志文件實現(xiàn)。24冷備份步驟確定數(shù)據(jù)庫各種物理文件關閉數(shù)據(jù)庫備份所有相關的數(shù)據(jù)庫物理文件重新啟動數(shù)據(jù)庫25啟動SQL*Plus,以SYSDBA身份登錄數(shù)據(jù)庫查詢當前數(shù)據(jù)庫所有數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件的位置。SELECTfile_nameFROMdba_data_files;SELECTmemberFROMv$logfile;SELECTvalueFROMv$parameterWHEREname='control_files';關閉數(shù)據(jù)庫SHUTDOWNIMMEDIATE復制所有數(shù)據(jù)文件、聯(lián)機重做日志文件以及控制文件到備份磁盤。重新啟動數(shù)據(jù)庫STARTUP2611.2.2熱備份數(shù)據(jù)庫完全熱備份的步驟:啟動SQL*Plus,以SYSDBA身份登錄數(shù)據(jù)庫將數(shù)據(jù)庫設置為歸檔模式以表空間為單位,進行數(shù)據(jù)文件備份備份控制文件備份其他物理文件27備份數(shù)據(jù)文件查看當前數(shù)據(jù)庫有哪些表空間,以及每個表空間中有哪些數(shù)據(jù)文件。SELECTtablespace_name,file_nameFROMdba_data_filesORDERBYtablespace_name;分別對每個表空間中的數(shù)據(jù)文件進行備份,其方法為將需要備份的表空間(如USERS)設置為備份狀態(tài)。ALTERTABLESPACEUSERSBEGINBACKUP;將表空間中所有的數(shù)據(jù)文件復制到備份磁盤。結束表空間的備份狀態(tài)。ALTERTABLESPACEUSERSENDBACKUP;對數(shù)據(jù)庫中所有表空間分別采用該步驟進行備份。28備份控制文件當執(zhí)行了下列操作時應該進行控制文件備份ALTERDATABASEADDLOGFILEALERTDATABASEADDLOGFILEMEMBERALTERDATABASERENAMEFILEALTERDATABASEDROPLOGFILEGROUPALTERDATABASEDROPLOGFILEMEMBERCREATETABLESPACEALTERTABLESPACEADDDATAFILEALTERTABLESPACERENAMEDATAFILEDROPTABLESPACE29控制文件備份方法將控制文件備份為二進制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\BACKUP\CONTROL.BKP';

將控制文件備份為文本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;

30其他文件的備份歸檔當前的聯(lián)機重做日志文件。ALTERSYSTEMARCHIVELOGCURRENT;備份歸檔重做日志文件,將所有的歸檔重做日志文件復制到備份磁盤中。備份初始化參數(shù)文件,將初始化參數(shù)文件復制到備份磁盤中。3111.2.3非歸檔模式下數(shù)據(jù)庫的恢復非歸檔模式下數(shù)據(jù)庫的恢復主要指利用非歸檔模式下的冷備份恢復數(shù)據(jù)庫。步驟為:關閉數(shù)據(jù)庫。SHUTDOWNIMMEDIATE將備份的所有數(shù)據(jù)文件、控制文件、聯(lián)機重做日志文件還原到原來所在的位置。重新啟動數(shù)據(jù)庫。STARTUP注意非歸檔模式下的數(shù)據(jù)庫恢復是不完全恢復,只能將數(shù)據(jù)庫恢復到最近一次完全冷備份的狀態(tài)。

3211.2.4歸檔模式下數(shù)據(jù)庫的完全恢復概述數(shù)據(jù)庫級完全恢復表空間級完全恢復數(shù)據(jù)文件級完全恢復數(shù)據(jù)庫完全恢復示例33(1)概述概念歸檔模式下數(shù)據(jù)庫的完全恢復是指歸檔模式下一個或多個數(shù)據(jù)文件損壞,利用熱備份的數(shù)據(jù)文件替換損壞的數(shù)據(jù)文件,再結合歸檔日志文件和聯(lián)機重做日志文件,采用前滾技術重做自備份以來的所有改動,采用回滾技術回滾未提交的操作,以恢復到數(shù)據(jù)庫故障時刻的狀態(tài)。34

恢復的級別數(shù)據(jù)庫級完全恢復:主要應用于所有或多數(shù)數(shù)據(jù)文件損壞的恢復;表空間級完全恢復:對指定表空間中的數(shù)據(jù)文件進行恢復;數(shù)據(jù)文件級完全恢復:是針對特定的數(shù)據(jù)文件進行恢復。

注意數(shù)據(jù)庫級的完全恢復只能在數(shù)據(jù)庫裝載但沒有打開的狀態(tài)下進行,而表空間級完全恢復和數(shù)據(jù)文件級完全恢復可以在數(shù)據(jù)庫處于裝載狀態(tài)或打開的狀態(tài)下進行。

35歸檔模式下數(shù)據(jù)庫完全恢復的基本語法:RECOVER[AUTOMATIC][FROM'location'][DATABASE|TABLESPACEtspname|DATAFILEdfname]參數(shù)說明

AUTOMATIC:進行自動恢復,不需要DBA提供重做日志文件名稱;location:制定歸檔重做日志文件的位置。默認為數(shù)據(jù)庫默認的歸檔路徑。36(2)數(shù)據(jù)庫級完全恢復

數(shù)據(jù)庫級完全恢復的步驟:如果數(shù)據(jù)庫沒有關閉,則強制關閉數(shù)據(jù)庫。SHUTDOWNABORT利用備份的數(shù)據(jù)文件還原所有損壞的數(shù)據(jù)文件。將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行數(shù)據(jù)庫恢復命令。RECOVERDATABASE打開數(shù)據(jù)庫。ALTERDATABASEOPEN;

37(3)表空間級完全恢復

以EXAMPLE表空間的數(shù)據(jù)文件example01.dbf損壞為例模擬表空級的完全恢復。數(shù)據(jù)庫處于裝載狀態(tài)下的恢復數(shù)據(jù)庫處于打開狀態(tài)下的恢復

38數(shù)據(jù)庫處于裝載狀態(tài)下的恢復如果數(shù)據(jù)庫沒有關閉,則強制關閉數(shù)據(jù)庫。SHUTDOWNABORT利用備份的數(shù)據(jù)文件example01.dbf還原損壞的數(shù)據(jù)文件example01.dbf。將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行表空間恢復命令。RECOVERTABLESPACEEXAMPLE打開數(shù)據(jù)庫。ALTERDATABASEOPEN;39數(shù)據(jù)庫處于打開狀態(tài)下的恢復①如果數(shù)據(jù)庫已經(jīng)關閉,則將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT②將損壞的數(shù)據(jù)文件設置為脫機狀態(tài)。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'OFFLINE;③打開數(shù)據(jù)庫。

ALTERDATABASEOPEN;④將損壞的數(shù)據(jù)文件所在的表空間脫機。ALTERTABLESPACEEXAMPLEOFFLINEFORRECOVER;40⑤利用備份的數(shù)據(jù)文件example01.dbf還原損壞的數(shù)據(jù)文件example01.dbf。⑥執(zhí)行表空間恢復命令。RECOVERTABLESPACEEXAMPLE;⑦將表空間聯(lián)機。ALTERTABLESPACEEXAMPLEONLINE;如果數(shù)據(jù)文件損壞時數(shù)據(jù)庫正處于打開狀態(tài),則可以直接執(zhí)行步驟(4)~(7)。41(4)數(shù)據(jù)文件級完全恢復

以數(shù)據(jù)文件D:\oracle\product\10.2.0\oradata\orcl\example01.dbf損壞為例模擬數(shù)據(jù)文件級的完全恢復。數(shù)據(jù)庫處于裝載狀態(tài)下的恢復數(shù)據(jù)庫處于打開狀態(tài)下的恢復42數(shù)據(jù)庫處于裝載狀態(tài)下的恢復如果數(shù)據(jù)庫沒有關閉,則強制關閉數(shù)據(jù)庫。SHUTDOWNABORT利用備份的數(shù)據(jù)文件example01.dbf還原損壞的數(shù)據(jù)文件example01.dbf。將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行數(shù)據(jù)文件恢復命令。RECOVERDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF';將數(shù)據(jù)文件聯(lián)機。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'ONLINE打開數(shù)據(jù)庫。ALTERDATABASEOPEN;43數(shù)據(jù)庫處于打開狀態(tài)下的恢復如果數(shù)據(jù)庫已經(jīng)關閉,則將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT將損壞的數(shù)據(jù)文件設置為脫機狀態(tài)。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'OFFLINE;打開數(shù)據(jù)庫。

ALTERDATABASEOPEN;利用備份的數(shù)據(jù)文件example01.dbf還原損壞的數(shù)據(jù)文件example01.dbf。44執(zhí)行數(shù)據(jù)文件恢復命令。RECOVERDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF';將數(shù)據(jù)文件聯(lián)機。ALTERDATABASEDATAFILE'D:\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF'ONLINE;如果數(shù)據(jù)文件損壞時數(shù)據(jù)庫正處于打開狀態(tài),則可以直接執(zhí)行步驟(2)、(4)~(6)。45(5)數(shù)據(jù)庫完全恢復示例

以SYSTEM表空間的數(shù)據(jù)文件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf損壞為例演示歸檔模式下的完全恢復操作。

首先進行一次歸檔模式下的數(shù)據(jù)庫完整備份。以SYSDBA身份登錄數(shù)據(jù)庫進行下列操作。CREATETABLEtest_rec(IDNUMBERPRIMARYKEY,NAMECHAR(20))TABLESPACESYSTEM;INSERTINTOtest_recVALUES(1,'ZHANGSAN');COMMIT;INSERTINTOtest_recVALUES(2,'LISI');COMMIT;ALTERSYSTEMSWITCHLOGFILE;SELECT*FROMtest_rec;SHUTDOWNABORT;46刪除SYSTEM表空間的數(shù)據(jù)文件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf,以模擬數(shù)據(jù)文件損壞的情形。用備份的數(shù)據(jù)文件D:\oracle\product\10.2.0\oradata\orcl\system01.dbf還原損壞(本文為被刪除)的數(shù)據(jù)文件。執(zhí)行恢復操作。由于SYSTEM表空間不能在數(shù)據(jù)庫打開后進行恢復,因此只能在數(shù)據(jù)庫處于裝載狀態(tài)時進行恢復。STARTUPMOUNTRECOVERDATABASE;ALTERDATABASEOPEN;SELECT*FROMtest_rec;4711.2.5歸檔模式下數(shù)據(jù)庫的不完全恢復數(shù)據(jù)庫不完全恢復概述數(shù)據(jù)文件損壞的數(shù)據(jù)庫不完全恢復的步驟數(shù)據(jù)庫不完全恢復的示例控制文件損壞的數(shù)據(jù)庫不完全恢復48(1)數(shù)據(jù)庫不完全恢復概述概念在歸檔模式下,數(shù)據(jù)庫的不完全恢復主要是指歸檔模式下數(shù)據(jù)文件損壞后,沒有將數(shù)據(jù)庫恢復到故障時刻的狀態(tài)。在進行數(shù)據(jù)庫不完全恢復之前,首先確保對數(shù)據(jù)庫進行了完全備份;在進行數(shù)據(jù)文件損壞的不完全恢復時必須先使用完整的數(shù)據(jù)文件備份將數(shù)據(jù)庫恢復到備份時刻的狀態(tài)。在不完全恢復后,需要使用RESETLOGS選項打開數(shù)據(jù)庫,原來的重做日志文件被清空,新的重做日志文件序列號重新從1開始,因此原來的歸檔日志文件都不再起作用了,應該移走或刪除;打開數(shù)據(jù)庫后,應該及時備份數(shù)據(jù)庫,因為原來的備份都已經(jīng)無效了。49不完全恢復類型:基于時間的不完全恢復:將數(shù)據(jù)庫恢復到備份與故障時刻之間的某個特定時刻。基于撤銷的不完全恢復:數(shù)據(jù)庫的恢復隨用戶輸入CANCEL命令而中止。基于SCN的不完全恢復:將數(shù)據(jù)庫恢復到指定的SCN值時的狀態(tài)。50不完全恢復的語法為RECOVER[AUTOMATIC][FROM'location'][DATABASE][UNTILTIMEtime|CANCEL|CHANGEscn][USINGBACKUPCONTROLFILE]51(2)數(shù)據(jù)文件損壞的數(shù)據(jù)庫不完全恢復的步驟如果數(shù)據(jù)庫沒有關閉,則強制關閉數(shù)據(jù)庫。SHUTDOWNABORT用備份的所有數(shù)據(jù)文件還原當前數(shù)據(jù)庫的所有數(shù)據(jù)文件,即將數(shù)據(jù)庫的所有數(shù)據(jù)文件恢復到備份時刻的狀態(tài)。將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行數(shù)據(jù)文件的不完全恢復命令。RECOVERDATABASEUNTILTIMEtime;(基于時間恢復)RECOVERDATABASEUNTILCANCEL;(基于撤銷恢復)RECOVERDATABASEUNTILCHANGEscn;(基于SCN恢復)可以通過查詢數(shù)據(jù)字典視圖V$LOG_HISTORY獲得時間和SCN的信息。不完全恢復完成后,使用RESETLOGS選項啟動數(shù)據(jù)庫。ALTERDATABASEOPENRESETLOGS;52(3)數(shù)據(jù)庫不完全恢復的示例53(4)控制文件損壞的數(shù)據(jù)庫不完全恢復如果數(shù)據(jù)庫沒有關閉,則強制關閉數(shù)據(jù)庫。SHUTDOWNABORT用備份的所有數(shù)據(jù)文件和控制文件還原當前數(shù)據(jù)庫的所有數(shù)據(jù)文件、控制文件,即將數(shù)據(jù)庫的所有數(shù)據(jù)文件、控制文件恢復到備份時刻的狀態(tài)。將數(shù)據(jù)庫啟動到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行不完全恢復命令。RECOVERDATABASEUNTILTIMEtimeUSINGBACKUPCONTROLFILE;RECOVERDATABASEUNTILCANCELUSINGBACKUPCONTROLFILE;RECOVERDATABASEUNTILCHANGEscnUSINGBACKUPCONTROLFILE;不完全恢復完成后,使用RESETLOGS選項啟動數(shù)據(jù)庫。ALTERDATABASEOPENRESETLOGS;5411.2.6利用OEM進行物理備份與恢復備份與恢復設置備份數(shù)據(jù)庫恢復數(shù)據(jù)庫55(1)備份與恢復設置

565758(2)備份數(shù)據(jù)庫5960616263(3)恢復數(shù)據(jù)庫6465666711.3邏輯備份與恢復邏輯備份與恢復概述使用Expdp導出數(shù)據(jù)使用Impdp導入數(shù)據(jù)使用OEM導出、導入數(shù)據(jù)6811.3.1邏輯備份與恢復概述邏輯備份與恢復的特點數(shù)據(jù)泵技術69(1)邏輯備份與恢復的特點概述邏輯備份是指利用Oracle提供的導出工具,將數(shù)據(jù)庫中選定的記錄集或數(shù)據(jù)字典的邏輯副本以二進制文件的形式存儲到操作系統(tǒng)中。邏輯備份的二進制文件稱為轉(zhuǎn)儲文件,以dmp格式存儲。邏輯恢復是指利用Oracle提供的導入工具將邏輯備份形成的轉(zhuǎn)儲文件導入數(shù)據(jù)庫內(nèi)部,進行數(shù)據(jù)庫的邏輯恢復。與物理備份與恢復不同,邏輯備份與恢復必須在數(shù)據(jù)庫運行的狀態(tài)下進行,因此當數(shù)據(jù)庫發(fā)生介質(zhì)損壞而無法啟動時,不能利用邏輯備份恢復數(shù)據(jù)庫。因此,數(shù)據(jù)庫備份與恢復是以物理備份與恢復為主,邏輯備份與恢復為輔的。70邏輯備份與恢復有以下特點及用途:可以在不同版本的數(shù)據(jù)庫間進行數(shù)據(jù)移植,可以從Oracle數(shù)據(jù)庫的低版本移植到高版本;可以在不同操作系統(tǒng)上運行的數(shù)據(jù)庫間進行數(shù)據(jù)移植,例如可以從WindowsNT系統(tǒng)遷移到Unix系統(tǒng)等;可以在數(shù)據(jù)庫模式之間傳遞數(shù)據(jù),即先將一個模式中的對象進行備份,然后再將該備份導入到數(shù)據(jù)庫其他模式中;數(shù)據(jù)的導出與導入與數(shù)據(jù)庫物理結構沒有關系,是以對象為單位進行的,這些對象在物理上可能存儲于不同的文件中;對數(shù)據(jù)庫進行一次邏輯備份與恢復操作能重新組織數(shù)據(jù),消除數(shù)據(jù)庫中的鏈接及磁盤碎片,從而使數(shù)據(jù)庫的性能有較大的提高;除了進行數(shù)據(jù)的備份與恢復外,還可以進行數(shù)據(jù)庫對象定義、約束、權限等的備份與恢復。71(2)數(shù)據(jù)泵技術概述在Oracle9i及其之前的數(shù)據(jù)庫版本中提供了Export和Import實用程序用于邏輯備份與恢復。在Oracle10g數(shù)據(jù)庫中又推出了數(shù)據(jù)泵技術,即DataPumpExport(Expdp)和DataPumpImport(Impdp)實用程序用于邏輯備份與恢復。需要注意,這兩類邏輯備份與恢復實用程序之間不兼容。使用Export備份的轉(zhuǎn)儲文件,不能使用Impdp進行導入;同樣,使用Expdp備份的轉(zhuǎn)儲文件,也不能使用Import工具進行導入。72兩類邏輯備份與恢復實用程序比較Export和Import是客戶端實用程序,可以在服務器端使用,也可以在客戶端使用;Expdp和Impdp是服務器端實用程序,只能在數(shù)據(jù)庫服務器端使用。利用Expdp,Impdp在服務器端多線程并行地執(zhí)行大量數(shù)據(jù)的導出與導入操作。數(shù)據(jù)泵技術具有重新啟動作業(yè)的能力,即當發(fā)生數(shù)據(jù)泵作業(yè)故障時,DBA或用戶進行干預修正后,可以發(fā)出數(shù)據(jù)泵重新啟動命令,使作業(yè)從發(fā)生故障的位置繼續(xù)進行。73使用數(shù)據(jù)泵技術準備工作在使用Expdp,Impdp程序之前需要創(chuàng)建DIRECTORY對象,并將該對象的READ,WRITE權限授予用戶。例如:CREATEORREPLACEDIRECTORYdumpdirAS'D:\ORACLE\BACKUP';

GRANTREAD,WRITEONDIRECTORYdumpdirTOSCOTT;如果用戶要導出或?qū)敕峭J降膶ο?,還需要具有EXP_FULL_DATABASE和IMP_FULL_DATABASE權限。例如:GRANTEXP_FULL_DATABASE,IMP_FULL_DATABASETOSCOTT;

7411.3.2使用Expdp導出數(shù)據(jù)Expdp調(diào)用接口Expdp導出模式Expdp幫助及參數(shù)Expdp應用實例75(1)Expdp調(diào)用接口

命令行接口(Command-LineInterface):在命令行中直接指定參數(shù)設置。參數(shù)文件接口(ParameterFileInterface):將需要的參數(shù)設置放到一個文件中,在命令行中用PARFILE參數(shù)指定參數(shù)文件。交互式命令接口(Interactive-CommandInterface):用戶可以通過交互命令進行導出操作管理。76(2)Expdp導出模式

全庫導出模式(FullExportMode):通過參數(shù)FULL指定,導出整個數(shù)據(jù)庫。模式導出模式(SchemaMode):通過參數(shù)SCHEMAS指定,是默認的導出模式,導出指定模式中的所有對象。表導出模式(TableMode):通過參數(shù)TABLES指定,導出指定模式中指定的所有表、分區(qū)及其依賴對象。表空間導出模式(TablespaceMode):通過參數(shù)TABLESPACES指定,導出指定表空間中所有表及其依賴對象的定義和數(shù)據(jù)。傳輸表空間導出模式(TransportableTablespace):通過參數(shù)TRANSPORT_TABLESPACES指定,導出指定表空間中所有表及其依賴對象的定義。通過該導出模式以及相應導入模式,可以實現(xiàn)將一個數(shù)據(jù)庫表空間的數(shù)據(jù)文件復制到另一個數(shù)據(jù)庫中。77(3)Expdp幫助及參數(shù)

獲取Expdp幫助信息C:\>expdpHELP=YExpdp參數(shù)78(4)Expdp應用實例

命令行方式導出:表導出模式導出scott模式下的emp表和dept表,轉(zhuǎn)儲文件名稱為emp_dept.dmp,日志文件命名為emp_dept.log,作業(yè)命名為emp_dept_job,導出操作啟動3個進程。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=emp,deptLOGFILE=emp_dept.logJOB_NAME=emp_dept_jobPARALLEL=3命令行方式導出:模式導出模式。導出scott模式下的所有對象及其數(shù)據(jù)。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=scott.dmpLOGFILE=scott.logSCHEMAS=scottJOB_NAME=exp_scott_schema79命令行方式導出:表空間導出模式。導出EXAMPLE,USERS表空間中的所有對象及其數(shù)據(jù)。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tsp.dmpTABLESPACES=example,users命令行方式導出:傳輸表空間導出模式導出EXAMPLE,USERS表空間中數(shù)據(jù)對象的定義信息。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tts.dmpTRANSPORT_TABLESPACES=example,usersTRANSPORT_FULL_CHECK=YLOGFILE=tts.log注意:當前用戶不能使用傳輸表空間導出模式導出自己的默認表空間。80命令行方式導出:數(shù)據(jù)庫導出模式將當前數(shù)據(jù)全部導出,不寫日志文件。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=expfull.dmpFULL=YNOLOGFILE=Y命令行方式導出:按條件查詢導出導出scott.emp表中部門號大于10,且工資大于2000的員工信息。C:\>expdpscott/tigerDIRECTORY=dumpdirDUMPFILE=exp2.dmpTABLES=empQUERY='emp:"WHEREdeptno=10ANDsal>2000"'NOLOGFILE=Y81參數(shù)文件方式導出首先創(chuàng)建一個名為scott.txt的參數(shù)文件,并存放到d:\backup目錄下,其內(nèi)容為:SCHEMAS=scottDUMPFILE=filter.dmpDIRECTORY=dumpdirLOGFILE=filter.logINCLUDE=TABLE:"IN('EMP','DEPT')"INCLUDE=INDEX:"LIKE'EMP%'"INCLUDE=PROCEDURE然后在命令行中執(zhí)行下列命令。C:\>expdpscott/tigerPARFILE=d:\scott.txt

82交互命令方式導出在當前運行作業(yè)的終端中按Ctrl+C組合鍵,進入交互式命令狀態(tài);在另一個非運行導出作業(yè)的終端中,通過導出作業(yè)名稱來進行導出作業(yè)的管理。83示例執(zhí)行一個作業(yè)。C:\>expdpscott/tigerFULL=YDIRECTORY=dumpdirDUMPFILE=fulldb1.dmp,fulldb2.dmpFILESIZE=2GPARALLEL=3LOGFILE=expfull.logJOB_NAME=expfull作業(yè)開始執(zhí)行后,按Ctrl+C組合鍵。在交互模式中輸入導出作業(yè)的管理命令,根據(jù)提示進行操作。

Export>STOP_JOB=IMMEDIATEAreyousureyouwishtostopthisjob([Y]/N):Y8411.3.3使用Impdp導入數(shù)據(jù)Impdp調(diào)用接口Impdp導入模式Impdp幫助及參數(shù)Impdp應用實例85(1)Impdp調(diào)用接口

命令行接口(Command-LineInterface)參數(shù)文件接口(ParameterFileInterface)交互式命令接口(Interactive-CommandInterface)86(2)Impdp導入模式全庫導入模式(FullImportMode)模式導入模式(SchemaMode)表導入模式(TableMode)表空間導入模式(TablespaceMode)傳輸表空間導入模式(TransportableTablespace)87(3)Impdp幫助及參數(shù)

在操作系統(tǒng)的命令提示符窗口中輸入impdpHELP=Y命令,可以查看Impdp程序的使用、關鍵字(參數(shù))、交互命令等介紹。88(4)Impdp應用實例

命令行方式導入:表導入模式使用邏輯備份文件emp_dept.dmp恢復scott模式下的emp表和dept表中數(shù)據(jù)。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=emp,deptNOLOGFILE=YCONTENT=DATA_ONLY如果表結構也不存在了,則應該導入表的定義以及數(shù)據(jù)。

C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=emp,deptNOLOGFILE=Y89命令行方式導入:模式導入模式使用備份文件scott.dmp恢復scott模式。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=scott.dmpSCHEMAS=scottJOB_NAME=imp_scott_schema如果要將一個備份模式的所有對象導入另一個模式中,可以使用REMAP_SCHEMAN參數(shù)設置。例如,將備份的scott模式對象導入oe模式中。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=scott.dmpLOGFILE=scott.logREMAP_SCHEMA=scott:oeJOB_NAME=imp_oe_schema90命令行方式導入:表空間導入模式利用EXAMPLE,USERS表空間的邏輯備份tsp.dmp恢復USERS,EXAMPLE表空間。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tsp.dmpTABLESPACES=example,users如果要將備份的表空間導入另一個表空間中,可以使用REMAP_TABLESPACE參數(shù)設置。例如,將USERS表空間的邏輯備份導入IMP_TBS表空間,命令為C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=tsp.dmpREMAP_TABLESPACE=users:imptbs91命令行方式導入:傳輸表空間導入模式。將表空間USERS導入數(shù)據(jù)庫鏈接source_dblink所對應的遠程數(shù)據(jù)庫中。C:\>impdpscott/tigerDIRECTORY=dumpdirNETWORK_LINK=source_dblinkTRANSPORT_TABLESPACES=usersTRANSPORT_FULL_CHECK=NTRANSPORT_DATAFILES='D:\ORACLE\USERS01.DBF'

92命令行方式導入:數(shù)據(jù)庫導入模式利用完整數(shù)據(jù)庫的邏輯備份恢復數(shù)據(jù)庫。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=expfull.dmpFULL=YNOLOGFILE=Y命令行方式導入:按條件查詢導入C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=emp,deptQUERY='emp:"WHEREdeptno=20ANDsal>2000"'NOLOGFILE=Y93命令行方式導入:追加導入如果表中已經(jīng)存在數(shù)據(jù),可以利用備份向表中追加數(shù)據(jù)。C:\>impdpscott/tigerDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpTABLES=empTABLE_EXISTS_ACTION=APPEND94參數(shù)文件方式導入首先創(chuàng)建一個名為empdept.txt的參數(shù)文件,并存放到d:\backup目錄下,其內(nèi)容為TABLES=emp,deptDIRECTORY=dumpdirDUMPFILE=emp_dept.dmpPARALLEL=3然后在命令行中執(zhí)行下列命令就可以實現(xiàn)數(shù)據(jù)的導入操作。C:\>impdpscott/tigerPARFILE=d:\empdetp.txt95交互命令方式導入與Expdp交互執(zhí)行方式類似,在Impdp命令執(zhí)行作業(yè)導入的過程中,可以使用Impdp的交互命令對當前運行的導入作業(yè)進行控制管理。9611.3.4使用OEM導出、導入數(shù)據(jù)創(chuàng)建目錄對象數(shù)據(jù)導出數(shù)據(jù)導入97(1)創(chuàng)建目錄對象

9899100101(2)數(shù)據(jù)導出

102103104105106107108109(3)數(shù)據(jù)導入110111112113114115總結備份與恢復的重要性和概念備份與恢復的類型數(shù)據(jù)庫的冷備份數(shù)據(jù)庫的熱備份數(shù)據(jù)庫完全恢復數(shù)據(jù)不完全恢復邏輯備份和恢復演講完畢,謝謝觀看!附錄資料:不需要的可以自行刪除?oracle數(shù)據(jù)庫培訓內(nèi)容*基本概念*Oracle的體系結構SQL*Plus的使用及常用命令*SQL*NET的配置和使用數(shù)據(jù)庫的備份(exp/imp)其它常見問題?一、基本概念什么是數(shù)據(jù)庫:是存儲在一起的相關數(shù)據(jù)的集合。這些數(shù)據(jù)無有害或不必要的冗余,為多種應用服務。數(shù)據(jù)的存儲獨立于使用它的應用程序。對數(shù)據(jù)庫插入新數(shù)據(jù)、修改和檢索原有數(shù)據(jù)均能用一種公用的和可控的方法進行。數(shù)據(jù)庫能做什么:數(shù)據(jù)庫的基本功能就是存儲數(shù)據(jù),而且能夠為用戶提供便捷、快速的查找、修改、添加和刪除數(shù)據(jù)等功能。什么是SQL語言:是運用于數(shù)據(jù)庫的語言。它除了具有數(shù)據(jù)庫查詢、插入、刪除、修改等功能外,可以獨立使用,也可以嵌入其它主語言中使用。它的語法類似于英語。?什么是oracle:oracle是以高級結構化查詢語言(SQL)為基礎的大型關系數(shù)據(jù)庫,通俗地講它是用方便邏輯管理的語言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務器(CLIENT/SERVER)體系結構的數(shù)據(jù)庫之一。?二、Oracle的體系結構(1)物理結構

ORACLE數(shù)據(jù)庫在物理上是存儲于硬盤的各種文件。它是活動的,可擴充的,隨著數(shù)據(jù)的添加和應用程序的增大而變化。datafilesredologfilescontrolfilesparameterfile

數(shù)據(jù)文件日志文件控制文件參數(shù)文件

datafilesredologfilescontrolfileparameterfiles*.dbf*.logInitoraid.ora*.ctl?(2)session(連接)

Oracle是多用戶、多任務、可分布式管理的數(shù)據(jù)庫,同

時可有許多個用戶對數(shù)據(jù)庫操作。oracleuseruserusersession……?

ORACLE數(shù)據(jù)庫在邏輯上是由許多表空間構成。主要分為系統(tǒng)表空間和非系統(tǒng)表空間。非系統(tǒng)表空間內(nèi)存儲著各項應用的數(shù)據(jù)、索引、程序等相關信息。我們準備上馬一個較大的ORACLE應用系統(tǒng)時,應該創(chuàng)建它所獨占的表空間,同時定義物理文件的存放路徑和所占硬盤的大小。Oracle數(shù)據(jù)存儲單位a、block數(shù)據(jù)塊:2k最小的I-O單位,伴隨database產(chǎn)生而產(chǎn)生,不可變b、extent一組連續(xù)的數(shù)據(jù)塊:是用戶所能分配存儲的最小單位c、segment段:有共同結構的一個或幾個區(qū)域(extent)d、tablespace表空間:一組物理數(shù)據(jù)的邏輯組合,(象邏輯間數(shù)據(jù)倉庫)e、file文件:屬于某個表空間的物理文件f、database數(shù)據(jù)庫:一組表空間所構成的邏輯的可共享的數(shù)據(jù)。(3)存儲結構?表空間tablespacesystemRBSnosystem把system表空間單獨放在一個硬盤上做成一組鏡像toolsuserstempapplicationdataapplicationindex分開存放減少爭用?segment段的分類data數(shù)據(jù)段存儲對象object(table,view,index,sequence...)index索引段temporary臨時段用做(join,groupby,orderbysorting操作)rollback回滾段用于記錄修改前后信息bootstrap啟動段存儲數(shù)據(jù)字典系統(tǒng)信息不能讀寫,放在系統(tǒng)表空間內(nèi),約占40幾個block?datasegment中可能有十種不同類型的存儲對象(1)table(2)view實為一個select語句(3)index(一個表不多于3個)(4)cluster(簇)(5)sequence序列(6)synonyms用于定義某個遠程數(shù)據(jù)庫同義詞,實現(xiàn)分式數(shù)據(jù)庫管理透明(7)snapsot快照(8)storedprocedure(function)(9)package程序包(10)dbtrigger數(shù)據(jù)觸發(fā)器,處理updata,delete,insert中可能出現(xiàn)的問題?常用的ORACLE的數(shù)據(jù)庫字段類型字段類型中文說明限制條件其它說明CHAR固定長度字符串最大長度2000bytesVARCHAR2可變長度的字符串最大長度4000bytes可做索引的最大長度749DATE日期(日-月-年)LONG超長字符串最大長度2G(231-1)足夠存儲大部頭著作RAW固定長度的二進制數(shù)據(jù)最大長度2000bytes可存放多媒體圖象聲音等LONGRAW可變長度的二進制數(shù)據(jù)最大長度2G同上NUMBER(P,S)數(shù)字類型P為整數(shù)位,S為小數(shù)位INTEGER整數(shù)類型小的整數(shù)FLOAT浮點數(shù)類型NUMBER(38),雙精度REAL實數(shù)類型NUMBER(63),精度更高……?三、SQL*Plus的使用及常用命令進入sql*plus;數(shù)據(jù)查詢操作(select);改變數(shù)據(jù)操作(insert、update、delete);其它常用sql和sql*plus命令(spool、create、drop、desc、connect、grant……)。?數(shù)據(jù)查詢操作簡單查詢select列名1,列名2,列名3……from表名where條件orderby列名1,列名2……;?邏輯運算符>>=<<=<>或!=其它(not)inis(not)betweenandandor單值函數(shù)nvl----空值替換函數(shù)abs---絕對值函數(shù)mod---求模函數(shù)power---求冪函數(shù)sqrt-----平方根函數(shù)exp,ln,log----對數(shù)函數(shù)sin,cos等----三角函數(shù)?唯一性查詢關鍵字:distinctselectdistinct列名from表名where條件;?模糊查詢select列名1,列名2,列名3……from表名where列名1like‘_%mm’orderby列名1,列名2……;關鍵字:(not)like通配符:%_?聯(lián)接查詢select表名1.列名1,表名2.列名2,列名3……from表名1,表名2……where條件orderby表名1.列名1,表名2.列名2……;?子查詢單值子查詢

多值子查詢select列名1,列名2,列名3……from表名1where列名1=(select列名1from表名2where條件)orderby列名1,列名2……;select列名1,列名2,列名3……from表名1where列名1in(select列名1from表名2where條件)orderby列名1,列名2……;?組值函數(shù)avg---平均值函數(shù)count---非空值數(shù)目max---最大值函數(shù)min---最小值函數(shù)sum---求和函數(shù)distinct---唯一性函數(shù)分組查詢select列名1,列名2,sum(列名3)……from表名where條件groupby列名1,列名2……;關鍵字:groupby?改變數(shù)據(jù)操作Insert插入操作insertinto表名1(列名1,列名2……)values(值1,值2……);注意:⑴值表中的數(shù)據(jù)用逗號間隔;⑵字符型和日期型要用單引號括起來;⑶缺省的日期格式為dd-man-yy。insertinto表名1usingselect列名1,列名2……from表名2where條件;?Update修改操作可修改單個字段、修改多行、修改單個列。update表名set列名=值或表達式where條件;?Delete刪除deletefrom表名where條件;注意⑴不能只刪除行的一部分⑵where子句決定哪一行將被刪除。如里省略了where子句,則所有的行都將被刪除。?其它常用sql命令Createtable---創(chuàng)建表;例子Droptable---刪除表,sql同時自動刪除該表上的索引、特權,但并不刪除相關的視圖或同義詞;Grant---授權Connect-----連上Oracle,做最基本操作resource----具有程序開發(fā)最基本的權限dba----------數(shù)據(jù)庫管理員所有權限?@-------運行指定的命令文件,作用等價于start命令;/---------運行sql緩沖區(qū)的命令,與run命令等價;Connect---退出當前賬號,向指定的用戶帳號登錄;Desc-----顯示指定表的結構;Exit-----中止sql*plus,返回操作系統(tǒng);Spool---將屏幕顯示內(nèi)容輸出到一個文件上;Spooloff--輸出文件結束;其它常用sql*plus命令?四、SQL*NET的配置和使用1配置網(wǎng)絡協(xié)議TCP/IP

2測試網(wǎng)絡是否連通3在Windows95上選擇“開始”按鈕,選定“程序”中的“OracleforWindows95”下的“SQL*NetEasyConfiguration”,在“SQL*NetEasyConfiguration”窗口中選擇“AddDatabaseAlias”,在“ChooseDatabaseAlias”對話框中“DatabaseAlias”項中鍵入數(shù)據(jù)庫別名,按“OK”按鈕確認。

在“ChooseTCP/IPHostNameandDatabase”對話框中的TCP/IPHostname項中鍵入SERVER的IP地址,在“DatabaseInstance”項中鍵入Oracle的實例名。在“ConfirmAddingDatabaseAlias”對話框中可以看到你新增加的數(shù)據(jù)庫別名。按“YES”按鈕,按“OK”,退出“SQL*NetEasyConfiguration”。?五、數(shù)據(jù)庫備份(exp/imp)EXPORT將數(shù)據(jù)庫中數(shù)據(jù)備份成一個二進制系統(tǒng)文件稱為“導出轉(zhuǎn)儲文件”(EXPORTDUMPFILE),并將重新生成數(shù)據(jù)庫寫入文件中。它有三種模式:a.用戶模式:導出用戶所有對象以及對象中的數(shù)據(jù);b.表模式:導出用戶所有表或者指定的表;c.整個數(shù)據(jù)庫:導出數(shù)據(jù)庫中所有對象。IMPORT導入:導入的過程是導出的逆過程,這個命令先讀取導出來的導出轉(zhuǎn)儲二進制文件,并運行文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論