用PL/SQL可以導(dǎo)出建表腳本,這個是最方便的,也是可視化的。
高港網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,高港網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為高港成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的高港做網(wǎng)站的公司定做!
如果包含數(shù)據(jù)的話,用exp導(dǎo)出成dmp文件。
1.首先,確認(rèn)oracle服務(wù)器上用oracle紅色標(biāo)記的相關(guān)服務(wù)是否已經(jīng)正常啟動,如下圖。
2.然后關(guān)閉百條PLSQL,讓連接退出,確保斷開到數(shù)據(jù)庫的所有連接,如果數(shù)據(jù)庫是連接到客戶端,備份可能會有異常通知。
3.然后打開CMD命令提示窗口,輸入備份數(shù)據(jù)庫的命令。xp命令后面是用戶名和密碼,如下圖。
4.要有耐心。當(dāng)導(dǎo)出數(shù)據(jù)時,CMD窗口中會出現(xiàn)一個提示,表明數(shù)據(jù)庫備份導(dǎo)出已經(jīng)完成。
5.此時,在計算機中找到步驟4中設(shè)置的文件的保存路徑。在下面的截圖中,您將發(fā)現(xiàn)還有一個DMP文件,它是我們需要的備份文件,如下圖。
如果,備份幾張表的數(shù)據(jù),那么,可以備份到dmp文件中,用命令導(dǎo)出表比較快捷。\x0d\x0a語句如下:\x0d\x0aexp test/test@ora100G file=c:\17.dmp tables=(tb1,tb2,tb3,...)\x0d\x0a開始,運行,在彈出的“運行”框里,粘貼上面的語句,并修改,就可以備份。\x0d\x0a解釋一下這個語句(因為今天是17號,所以,就拿17.dmp作為備份文件的名稱吧?。篭x0d\x0aexp:導(dǎo)出。\x0d\x0atest/test@ora100g:“test/test”是用戶名和密碼;“ora100G”是“網(wǎng)絡(luò)服務(wù)名”。\x0d\x0afile=c:\17.dmp:“c:\17.dmp”是保存到本地的全文件路徑。\x0d\x0atables=(tb1,tb2,tb3,...):“(tb1,tb2,tb3,...)”是你選擇需要備份的那些表的名稱。\x0d\x0a因為,備份的時候一般都寫一個日志備份文檔,以方便以后查找,所以,原語句可以改寫成\x0d\x0aexp test/test@ora100G file=c:\17.dmp tables=(tb1,tb2,tb3,...) log=c:\17.text
Oracle數(shù)據(jù)庫的三種標(biāo)準(zhǔn)的備份方法:
1.導(dǎo)出/導(dǎo)入(EXP/IMP)。
2.熱備份。
3.冷備份。
注釋:導(dǎo)出備件是一種邏輯備份,冷備份和熱備份是物理備份。
一、導(dǎo)出/導(dǎo)入(Export/Import)
利用Export可將數(shù)據(jù)從數(shù)據(jù)庫中提取出來,利用Import則可將提取出來的數(shù)據(jù)送回到Oracle數(shù)據(jù)庫中去。
1、簡單導(dǎo)出數(shù)據(jù)(Export)和導(dǎo)入數(shù)據(jù)(Import)
Oracle支持三種方式類型的輸出:
(1)、表方式(T方式),將指定表的數(shù)據(jù)導(dǎo)出。
(2)、用戶方式(U方式),將指定用戶的所有對象及數(shù)據(jù)導(dǎo)出。
(3)、全庫方式(Full方式),瘵數(shù)據(jù)庫中的所有對象導(dǎo)出。
數(shù)據(jù)導(dǎo)入(Import)的過程是數(shù)據(jù)導(dǎo)出(Export)的逆過程,分別將數(shù)據(jù)文件導(dǎo)入數(shù)據(jù)庫和將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到數(shù)據(jù)文件。
2、增量導(dǎo)出/導(dǎo)入
增量導(dǎo)出是一種常用的數(shù)據(jù)備份方法,它只能對整個數(shù)據(jù)庫來實施,并且必須作為SYSTEM來導(dǎo)出。在進行此種導(dǎo)出時,系統(tǒng)不要求回答任何問題。導(dǎo)出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。
增量導(dǎo)出包括三種類型:
(1)、“完全”增量導(dǎo)出(Complete)
即備份三個數(shù)據(jù)庫,比如:
expsystem/managerinctype=completefile=040731.dmp
(2)、“增量型”增量導(dǎo)出
備份上一次備份后改變的數(shù)據(jù),比如:
expsystem/managerinctype=incrementalfile=040731.dmp
(3)、“累積型”增量導(dǎo)出
累計型導(dǎo)出方式是導(dǎo)出自上次“完全”導(dǎo)出之后數(shù)據(jù)庫中變化了的信息。比如:
expsystem/managerinctype=cumulativefile=040731.dmp
數(shù)據(jù)庫管理員可以排定一個備份日程表,用數(shù)據(jù)導(dǎo)出的三個不同方式合理高效的完成。
比如數(shù)據(jù)庫的被封任務(wù)可以做如下安排:
星期一:完全備份(A)
星期二:增量導(dǎo)出(B)
星期三:增量導(dǎo)出(C)
星期四:增量導(dǎo)出(D)
星期五:累計導(dǎo)出(E)
星期六:增量導(dǎo)出(F)
星期日:增量導(dǎo)出(G)
如果在星期日,數(shù)據(jù)庫遭到意外破壞,數(shù)據(jù)庫管理員可按一下步驟來回復(fù)數(shù)據(jù)庫:
第一步:用命令CREATEDATABASE重新生成數(shù)據(jù)庫結(jié)構(gòu);
第二步:創(chuàng)建一個足夠大的附加回滾。
第三步:完全增量導(dǎo)入A:
impsystem/managerinctype=RESTOREFULL=yFILE=A
第四步:累計增量導(dǎo)入E:
impsystem/managerinctype=RESTOREFULL=YFILE=E
第五步:最近增量導(dǎo)入F:
impsystem/managerinctype=RESTOREFULL=YFILE=F
二、冷備份
冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時會提供給我們一個完整的數(shù)據(jù)庫。冷備份時將關(guān)鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優(yōu)點是:
1、是非??焖俚膫浞莘椒ǎㄖ恍杩轿募?/p>
2、容易歸檔(簡單拷貝即可)
3、容易恢復(fù)到某個時間點上(只需將文件再拷貝回去)
4、能與歸檔方法相結(jié)合,做數(shù)據(jù)庫“最佳狀態(tài)”的恢復(fù)。
5、低度維護,高度安全。
但冷備份也有如下不足:
1、單獨使用時,只能提供到“某一時間點上”的恢復(fù)。
2、再實施備份的全過程中,數(shù)據(jù)庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數(shù)據(jù)庫必須是關(guān)閉狀態(tài)。
3、若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設(shè)備上,速度會很慢。
4、不能按表或按用戶恢復(fù)。
如果可能的話(主要看效率),應(yīng)將信息備份到磁盤上,然后啟動數(shù)據(jù)庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數(shù)據(jù)庫也可以工作)。冷備份中必須拷貝的文件包括:
1、所有數(shù)據(jù)文件
2、所有控制文件
3、所有聯(lián)機REDOLOG文件
4、Init.ora文件(可選)
值得注意的使冷備份必須在數(shù)據(jù)庫關(guān)閉的情況下進行,當(dāng)數(shù)據(jù)庫處于打開狀態(tài)時,執(zhí)行數(shù)據(jù)庫文件系統(tǒng)備份是無效的。
下面是作冷備份的完整例子。
(1)關(guān)閉數(shù)據(jù)庫
sqlplus/nolog
sqlconnect/assysdba
sqlshutdownnormal;
(2)用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數(shù)文件
sqlcpfilebackupdirectory
(3)重啟Oracle數(shù)據(jù)庫
sqlstartup
三、熱備份
熱備份是在數(shù)據(jù)庫運行的情況下,采用archivelogmode方式備份數(shù)據(jù)庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發(fā)生問題時,就可以利用這些資料恢復(fù)更多的信息。熱備份要求數(shù)據(jù)庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數(shù)據(jù)庫運行在archivelog狀態(tài)下,就可以做備份了。熱備份的命令文件由三部分組成:
1.數(shù)據(jù)文件一個表空間一個表空間的備份。
(1)設(shè)置表空間為備份狀態(tài)
(2)備份表空間的數(shù)據(jù)文件
(3)回復(fù)表空間為正常狀態(tài)
2.備份歸檔log文件
(1)臨時停止歸檔進程
(2)log下那些在archiveredelog目標(biāo)目錄中的文件
(3)重新啟動archive進程
(4)備份歸檔的redolog文件
3.用alterdatabasebachupcontrolfile命令來備份控制文件
熱備份的優(yōu)點是:
1.可在表空間或數(shù)據(jù)庫文件級備份,備份的時間短。
2.備份時數(shù)據(jù)庫仍可使用。
3.可達到秒級恢復(fù)(恢復(fù)到某一時間點上)。
4.可對幾乎所有數(shù)據(jù)庫實體做恢復(fù)
5.恢復(fù)是快速的,在大多數(shù)情況下愛數(shù)據(jù)庫仍工作時恢復(fù)。
熱備份的不足之處:
1.不能出錯,否則后果不堪設(shè)想。
2.假如熱備份不成功,所得結(jié)果則不能用于時間點的恢復(fù)。
3.因為難于維護,所以需要特別仔細小心,不允許在操作時半途而廢。
關(guān)于Oracle數(shù)據(jù)庫的備份方式就為大家講解到這里,以后大家需要進行數(shù)據(jù)庫備份工作時可以參照上文中講解的,從上文中任選一種,就可以完成Oracle數(shù)據(jù)庫的備份,希望上文中涉及到的內(nèi)容對大家能夠有所幫助。
備份分為3種:
備份的方法
ORACLE數(shù)據(jù)庫有三種標(biāo)準(zhǔn)的備份。導(dǎo)出/導(dǎo)入(EXPORT/IMPORT) 、冷備份、熱備份。
導(dǎo)出備份是一種邏輯備份,這種方法包括讀取一系列的數(shù)據(jù)庫日志,并寫入文件中,這些日志的讀取與其所處位置無關(guān)。
冷備份和熱備份是物理備份(也稱低級備份),它涉及到組成數(shù)據(jù)庫的文件,但不考慮邏輯內(nèi)容。
我們分別介紹一下這三種備份方法及其特點:
(一)、導(dǎo)出/導(dǎo)入(EXPORT/IMPORT)
EXPORT/IMPORT是用來將ORACLE中數(shù)據(jù)移出/移入數(shù)據(jù)庫。
1、EXPORT將數(shù)據(jù)庫中數(shù)據(jù)備份成一個二進制系統(tǒng)文件稱為“導(dǎo)出轉(zhuǎn)儲文件”(EXPORT DUMP FILE),并將重新生成數(shù)據(jù)庫寫入文件中。
它有三種模式:
a.用戶模式:導(dǎo)出用戶所有對象以及對象中的數(shù)據(jù);
b.表模式:導(dǎo)出用戶所有表或者指定的表;
c.整個數(shù)據(jù)庫:導(dǎo)出數(shù)據(jù)庫中所有對象。
它的備份有三種類型:
a.完全型(COMPLETE EXPORT):備份整個數(shù)據(jù)庫;
b.積累型(COMULATIVE ERPORT):備份上一次積累型備份所改變的數(shù)據(jù);
c.增量型(INCREAMENTAL EXPORT):備份上一次備份后改變的數(shù)據(jù)。
EXPORT 的命令可以交互式進行,各參數(shù)的具體含義見附錄。
在進行導(dǎo)出備份時我們要考慮一點問題,那就是導(dǎo)出的一致性,在導(dǎo)出過程 中導(dǎo)出每讀一次就讀取一個表,因而盡管導(dǎo)出是在一個特點時自己開始的,但不同的表讀取的時間不同,因此,導(dǎo)出開始讀一個表時,此時表中的數(shù)據(jù)才是導(dǎo)出的數(shù)據(jù),這樣當(dāng)大多數(shù)表按內(nèi)部關(guān)鍵字和外部關(guān)鍵字相互聯(lián)系時,在導(dǎo)出過程中這些相關(guān)聯(lián)表的改變就會導(dǎo)致導(dǎo)出的不一致性,要避開這個,我們可以將導(dǎo)出過程安排在不對表操作的時候進行。另外,當(dāng)ORACLE中RESTRICTEP CONSISTENT 選項就可以保證導(dǎo)出數(shù)據(jù)一致性。
2、IMPORT導(dǎo)入:
導(dǎo)入的過程是導(dǎo)出的逆過程,這個命令先讀取導(dǎo)出來的導(dǎo)出轉(zhuǎn)儲二進制文件,并運行文件,恢復(fù)對象用戶和數(shù)據(jù)。
IMPORT命令執(zhí)行的方法和EXPORT方案有關(guān)。
1、如果EXPORT所實施的是完全型方案(FULL)則在IMPORT時所有的數(shù)據(jù)對象,包括表空間,數(shù)據(jù)文件,用戶都會在導(dǎo)入時創(chuàng)建,但考慮到數(shù)據(jù)庫中的物理布局,預(yù)先創(chuàng)建表空間和用戶是有用的。
2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,則需要預(yù)先設(shè)置好表空間、用戶、數(shù)據(jù)文件。
(二):冷備份
冷備份發(fā)生在數(shù)據(jù)庫已經(jīng)正常關(guān)閉的情況下,當(dāng)正常關(guān)閉時會提供給我們一個完整的數(shù)據(jù)庫。
數(shù)據(jù)庫使用的每個文件都被備份下來,這些文件包括:
☆所有數(shù)據(jù)文件
☆所有控制文件
☆所有聯(lián)機REDO LOG 文件
☆I(lǐng)NIT.ORA文件(可選)
值得注意的是冷備份必須是數(shù)據(jù)庫關(guān)閉的情況下完成,當(dāng)數(shù)據(jù)庫開著的時候,執(zhí)行數(shù)據(jù)庫文件系統(tǒng)備份無效。
作冷備份一般步驟是:
1:正常關(guān)閉要備份的實例(instance);
2: 備份整個數(shù)據(jù)庫到一個目錄
3:啟動數(shù)據(jù)庫
1: SQLDBAconnect internal
SQLDBAshutdown normal
2: SQLDBA! cp
或
SQLDBA!tar cvf /dev/rmt/0 /wwwdg/oracle
3: SQLDBAstartup
(三)熱備份(ACHIRELOG)
數(shù)據(jù)庫需要二十四小時運行,而且隨時有新的數(shù)據(jù)加入.數(shù)據(jù)丟失將影響整個公司.采用archivelog mode物理備份.