Oracle數(shù)據(jù)庫實例的創(chuàng)建刪除修改_第1頁
Oracle數(shù)據(jù)庫實例的創(chuàng)建刪除修改_第2頁
Oracle數(shù)據(jù)庫實例的創(chuàng)建刪除修改_第3頁
Oracle數(shù)據(jù)庫實例的創(chuàng)建刪除修改_第4頁
Oracle數(shù)據(jù)庫實例的創(chuàng)建刪除修改_第5頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、Oracle數(shù)據(jù)庫實例的創(chuàng)建、刪除、修改以 SUSE10SP2、Oracle10gR2 為例。本文中的數(shù)據(jù)庫實例這一稱謂應(yīng)該換做數(shù)據(jù)庫更為準(zhǔn)確,數(shù)據(jù)庫可以理解為是一個物理的靜態(tài)概念,主要 包括一些物理存在的數(shù)據(jù)庫文件,而數(shù)據(jù)庫實例則是一個動態(tài)概念,包括一些內(nèi)存區(qū)域以及若干進(jìn)程,數(shù) 據(jù)庫實例是對數(shù)據(jù)庫進(jìn)行操作的執(zhí)行者。(20090714修改)安裝完Oracle數(shù)據(jù)庫系統(tǒng)的安裝后,需要創(chuàng)建數(shù)據(jù)庫實例才能真正開始使用 Oracle數(shù)據(jù)庫服務(wù)??偨Y(jié)起來,Oracle有三種創(chuàng)建數(shù)據(jù)庫實例的方法。第一種,最常用也最簡單,那就是通過 DBCA(DatabaseConfigurationAssistant)

2、,這是Oralce 提供的一個圖形界面的數(shù)據(jù)庫實例配置工具,通過它可以創(chuàng)建、刪除和修改數(shù)據(jù)庫實例,它的使用也比較簡單、易懂,交互式的圖形界面操作,非常準(zhǔn)確有效的提示與配置,是一個比較方便的創(chuàng)建數(shù)據(jù)庫實例的方式。按照DBCA給出的提示,很容易創(chuàng)建一個新數(shù)據(jù)庫實例。在創(chuàng)建數(shù)據(jù)庫的時候,DBCA還提供了兩個選項,讓你可以根據(jù)剛剛設(shè)置好的參數(shù)生成一個數(shù)據(jù)庫實例模板和一份數(shù)據(jù)庫實例創(chuàng)建腳本。這兩個東西是非常好, 非常有用的東西,數(shù)據(jù)庫模板由Oracle自己管理維護(hù),已經(jīng)創(chuàng)建好的數(shù)據(jù)庫實例模板可以在DBCA圖形程序新建數(shù)據(jù)庫實例時作為模板來使用,另外在DBCA使用responseFile 文件或者命令行參

3、數(shù)創(chuàng)建數(shù)據(jù)庫時也需要用到(見后面介紹);數(shù)據(jù)庫創(chuàng)建腳本是一組腳本,包括shell腳本和sql腳本,這些腳本共同實現(xiàn)一個功能,那就是按照你之前在 DBCA中設(shè)置好的 那樣創(chuàng)建一個數(shù)據(jù)庫實例(后面也會有介紹),你需要做的只是將這些腳本在你的代碼中調(diào)用起來。當(dāng)然,你也可以選擇只生成數(shù)據(jù)庫模板或者數(shù)據(jù)庫腳本,而不用去創(chuàng)建一個真的數(shù)據(jù)庫(這通常很費時間)。DBCA是一個非常強(qiáng)大的工具,上面看到的只是DBCA最常用的創(chuàng)建一個數(shù)據(jù)庫實例的使用,其實DBCA還提供另外兩種使用方法,分別是responseFile和命令行帶參調(diào)用。先說DBCA的responseFile 使用方法,responseFile 這個東

4、東并不陌生, 前文講的 Oracle自動安裝就是 使用responseFile 完成的,DBCA的responseFile 使用方法和Oracle安裝程序的responseFile 使用方 法基本一致。但DBCA的responseFile 的來源只能是 Oracle安裝包中提供的模板文件, 而不能向Oracle 安裝程序的responseFile 一樣,先自己record 一個,然后再用這個 record去指導(dǎo)Oracle的自動安裝。從Oracle安裝包中獲取到DBCA的responseFile模板文件后,你可以根據(jù)自己的需要編輯修改該模板文 件,以完成對數(shù)據(jù)庫實例的某些參數(shù)設(shè)置( DBCA圖

5、形界面所提供的參數(shù)設(shè)置,responseFile中都可以設(shè) 置,而且該responseFile模板文件的注釋寫的很好,你完全不用擔(dān)心無法搞定那些繁雜的數(shù)據(jù)庫實例參數(shù)設(shè)置,贊 Oralce 個?。T撃0逦募?Oracle安裝包中的位置一般在 $ORACLE_PACKAGE/response目錄下。有了 responseFile 之后,你只需在調(diào)用 DBCA的時候指定responseFile 的位置和另外一些參數(shù):dbca-silent|-progressOnly-responseFileresponseFile名稱其中-silent|-progressOnly選項意義和Oracle安裝程序命

6、令行參數(shù)中的同名選項一樣,表示完全字符界面自動安裝或者帶圖形提示界面的半自動化安裝。responseFile 名稱當(dāng)然就是 responseFile 的具體位置了。但是,有一點不是很好,那就是使用DBCA的responseFile 方式創(chuàng)建Oracle數(shù)據(jù)庫實例,需要事先已經(jīng)存在一個數(shù)據(jù)庫實例模板了,在responseFile 中再指定該數(shù)據(jù)庫實例模板名,然后DBCA再依據(jù)這個已有的數(shù)據(jù)庫實例模板完成新數(shù)據(jù)庫實例的創(chuàng)建,所以就會有前面講到的DBCA圖形界面創(chuàng)建數(shù)據(jù)庫實例時提供生成數(shù)據(jù)庫實例模板的選項(數(shù)據(jù)庫實例模板也可以從一個已有數(shù)據(jù)庫實例生成),就是在這要用到的。從上面調(diào)用DBCA使用res

7、ponseFile 的命令中,應(yīng)該已經(jīng)看到了DBCA是提供一些命令行參數(shù)選項的,其實DBCA提供的命令行參數(shù)選項遠(yuǎn)比你想象的強(qiáng)大,甚至可以這么說,所有DBCA圖形界面和responseFile 能夠辦到的事,通過 DBCA豐富的命令行參數(shù)選項都可以辦到。你在DBCA圖形界面上設(shè)置的參數(shù)或者在responseFile 中指定的參數(shù)值都可以通過DBCA的命令行參數(shù)選項來進(jìn)行設(shè)置,所以你完全可以只通過DBCA的命令行帶參調(diào)用來完成一個數(shù)據(jù)庫實例的創(chuàng)建(當(dāng)然也包括刪除、修改數(shù)據(jù)庫實 例等所有DBCA圖形界面所能提供的功能)。其實,我更愿意這樣認(rèn)為,DBCA的responseFile 應(yīng)用也是一種DBC

8、A命令行帶參調(diào)用的使用。需要注意的是,當(dāng) DBCA的命令行參數(shù)和responseFile 同時設(shè)置一 個參數(shù)時,命令行參數(shù)的優(yōu)先級是比responseFile要高的。另外,使用DBCA命令行帶參調(diào)用新建數(shù)據(jù)庫實例和使用responseFile新建數(shù)據(jù)庫實例一樣,也是需要事先已經(jīng)存在一個數(shù)據(jù)庫實例模板,才能完成新數(shù)據(jù)庫實例的創(chuàng)建。一份非常詳細(xì)的DBCA所有命令行參數(shù)選項列表,你可以通過執(zhí)行dbca-help 獲得。 到現(xiàn)在你可能已經(jīng)發(fā)現(xiàn),DBCA圖形界面、DBCA的responseFile 使用以及DBCA的命令行帶參調(diào)用,其實是三個分別具備完全數(shù)據(jù)庫實例設(shè)置功能的工具或者接口,分別對應(yīng)不同的應(yīng)

9、用場景,它們可以滿足 你幾乎所有的應(yīng)用需求(使用這樣的工具來幫助構(gòu)建自己的軟件真是非常愜意的一件事情,再贊Oracle一個!)。第二種是通過腳本(是否稱為命令行方式更合適,下文描述的腳本方式其實都是命令行方式的非交互式方 法,或者說命令行的自動化方式,但其實所有腳本方式都可以將shell腳本或sql腳本中的shell命令、sqlplus命令拆分出來,手工在 shell中或者sqlplus界面中進(jìn)行交互式的輸入執(zhí)行,這可以稱為命令行的 手工方式)來完成數(shù)據(jù)庫實例的代碼中自動創(chuàng)建。這里說的腳本包括shell腳本和sql腳本,這種方式可以說是最適合與編程結(jié)合的,因為這些shell腳本或者sql腳本都

10、可以直接在shell命令中調(diào)用執(zhí)行,所以可以很好與shell編程相結(jié)合。而這其實是基于一個非常重要的事實,即Oracle提供了一個交互式的命令行工具sqlplus (類似與DB2的db2cmd ),這個工具可以認(rèn)為是一個Oracle數(shù)據(jù)庫管理工具,通過它可以執(zhí)行一些Oracle的數(shù)據(jù)庫管理命令,來完成一些數(shù)據(jù)庫管理工作(這當(dāng)然就包括數(shù)據(jù)庫實例的創(chuàng)建),同時你也可以把它當(dāng)作一個SQL語句執(zhí)行器,直接在里邊執(zhí)行你想要執(zhí)行的SQL語句或者存儲過程等,并獲取執(zhí)行結(jié)果。并且,更重要的是,sqlplus可以直接在shell命令行中進(jìn)行非交互式的調(diào)用執(zhí)行(通常是調(diào)用執(zhí)行一段sqlplus語句,或者是一個由一

11、些 sqlplus語句組成的sql腳本,我所說的sqlplus語句包括 Oracle數(shù)據(jù)庫管理維護(hù)命令、SQL語句和存儲過程等),這就為在shell編程中使用sqlplus完成數(shù)據(jù)庫實 例自動創(chuàng)建工作提供了可能。shell命令行中非交互式調(diào)用sqlplus執(zhí)行一段sqlplus語句是利用shell編程中重定向命令的一個特性,即分隔符重定向輸入。一般用法如下:command*任意自定義分隔符> (換行)內(nèi)容> (換行)內(nèi)容>自定義分隔符shell中遇到 << 則會自動將下一個單詞認(rèn)作分隔符,并將分隔符后面的文本當(dāng)作command 命令執(zhí)行的內(nèi)容傳遞給command依

12、次全部執(zhí)行直至遇到下一個分隔符單詞才結(jié)束。這里的分隔符可以是任意自定義的單詞,通常使用EOF,舉例:sqlplus/assysdbavvEOFstartupnomount;select*fromv$version;shutdownimmediate;exit;EOF這段shell程序調(diào)用sqlplus執(zhí)行了若干sqlplus語句,用來啟動數(shù)據(jù)庫實例,查詢數(shù)據(jù)庫版本信息,然后關(guān)閉數(shù)據(jù)庫實例,退出 sqlplus。shell命令行中非交互式調(diào)用 sqlplus執(zhí)行一個sql腳本是利用sqlplus本身提供的命令行參數(shù)。在sqlplus 界面中可以通過start命令和命令來執(zhí)行一個sql腳本,兩者功

13、效相同,用法如下:SQL>startsql腳本絕對路徑;SQL>sql腳本絕對路徑;而在shell命令行中可以使用 來完成sqlplus對sql腳本的調(diào)用執(zhí)行,舉例:sqlplus/assysdba./MySQL.sql以上命令會調(diào)用sqlplus執(zhí)行當(dāng)前目錄下的 MySQL.sql腳本。使用腳本來完成數(shù)據(jù)庫實例的創(chuàng)建工作,也分為兩種情況。一種是誠如前文所述的那樣,在使用DBCA圖形工具創(chuàng)建數(shù)據(jù)庫實例的同時生成一份數(shù)據(jù)庫實例創(chuàng)建腳本(包括若干shell腳本和sql腳本),那么你就可以使用這份腳本,在shell中進(jìn)行調(diào)用,完成數(shù)據(jù)庫實例的代碼自動創(chuàng)建。使用這份數(shù)據(jù)庫實例創(chuàng)建腳本創(chuàng)建的

14、新數(shù)據(jù)庫實例和原數(shù)據(jù)庫實例是完全一樣,當(dāng)然, 你可以將生成的腳本進(jìn)行修改,以完成你對數(shù)據(jù)庫實例的某些設(shè)置,但是請在你對腳本內(nèi)容已經(jīng)足夠了解,并且知道你自己在干什么的情況下修改腳本,否則你很有可能使用修改后的腳本無法正確創(chuàng)建數(shù)據(jù)庫實例。這種方法中shell腳本對sqlplus的使用,更多的是使用 sqlplus來執(zhí)行一些 Oracle生成的sql腳本(這 些sql腳本的內(nèi)容是就是一些sqlplus語句的集合,它們的任務(wù)就是完成數(shù)據(jù)庫實例的創(chuàng)建以及設(shè)置)。另一種情況則是不依靠 DBCA生成的腳本,完全由自己來編寫實現(xiàn)一份shell腳本,在腳本中你可以調(diào)用sqlplus執(zhí)行一段sqlplus語句或者

15、其它一些 sql腳本,以完成數(shù)據(jù)庫實例的創(chuàng)建和設(shè)置,這完全取決于你 的實現(xiàn);而最常用的用來創(chuàng)建數(shù)據(jù)庫實例的一個方法就是在sqlplus中使用createdatabase 語句,createdatabase語句提供了許多豐富的選項和參數(shù)設(shè)置,確保你能完全創(chuàng)建一個自己所需要的數(shù)據(jù)庫實例。當(dāng)然,還有一些其它方法可以創(chuàng)建數(shù)據(jù)庫實例,比如調(diào)用執(zhí)行oracle提供某些存儲過程等。至于createdatabase 語句的詳纟細(xì)介紹可以參考o(jì)racle 的sqlreference 。第三種嚴(yán)格來說不能算作一種創(chuàng)建Oracle數(shù)據(jù)庫實例的方法,它是通過已有的數(shù)據(jù)庫實例為基礎(chǔ)來完成新數(shù)據(jù)庫實例的創(chuàng)建的。這種方法是

16、首先通過第一種或者第二種方法來創(chuàng)建好一個數(shù)據(jù)庫實例,然后將該數(shù) 據(jù)庫實例的物理文件進(jìn)行備份,然后直接使用備份的物理文件恢復(fù)出一個與原數(shù)據(jù)庫實例完全一樣新的數(shù) 據(jù)庫實例,所以這種方法需要和第一、二種方法相配合才能使用。 這種方法其實已經(jīng)屬于 Oracle數(shù)據(jù)備份與恢復(fù)的范疇了,就是 Oracle數(shù)據(jù)備份恢復(fù)方式中的物理備份恢復(fù),所以這種方法可以叫做物理恢復(fù)法。簡單介紹物理恢復(fù)法,首先將一個已經(jīng)存在數(shù)據(jù)庫實例(最好已關(guān)閉)進(jìn)行物理備份,所謂物理備份其實就是復(fù)制該數(shù)據(jù)庫實例所使用的操作系統(tǒng)文件,這些文件主要包括DataFiles、RedoLogs、ControlFiles和UndoFiles (這些

17、文件一般存在于 $ORACLE_HOME/oradata 目錄下),進(jìn)行數(shù)據(jù)庫實例恢復(fù)的時候只 需將備份的操作系統(tǒng)文件復(fù)制到新的oradata目錄下即可,可以直接啟動使用恢復(fù)后的該數(shù)據(jù)庫實例。不難看出,這種備份恢復(fù)是依賴于操作系統(tǒng)平臺的。詳細(xì)的物理備份和恢復(fù)介紹可以參考 oracle 的 backupandrecoverybasics 以及 backupandrecoveryadvanceduser'sguide。說完了數(shù)據(jù)庫實例的創(chuàng)建,現(xiàn)在來說說數(shù)據(jù)庫實例的刪除和修改。其實介紹完了數(shù)據(jù)庫實例的創(chuàng)建,數(shù)據(jù) 庫實例的刪除和修改就非常簡單了。基本和前文數(shù)據(jù)庫實例創(chuàng)建的內(nèi)容相一致,且比較而言更簡單。數(shù)據(jù)庫實例的刪除從上文中數(shù)據(jù)庫實例的創(chuàng)建不難得到,大致有兩種方法,DBCA工具和命令行方式。DBCA工具除了能夠用來創(chuàng)建數(shù)據(jù)庫實例,當(dāng)然也能夠用來刪除數(shù)據(jù)庫實例了,且同樣可以用使用 responseFile或者命令行帶參調(diào)用等方法來完成數(shù)據(jù)庫實例的刪除,請參考數(shù)據(jù)庫實例創(chuàng)建部分。命令行刪除數(shù)據(jù)庫實例的方式,嚴(yán)格來講,是使用一組sqlplus命令來完成數(shù)據(jù)庫實例的刪除,這組sqlplus 命令可以組織在一個 sql腳本中,然后在shell命令行中調(diào)用sqlplus程序來執(zhí)行該sql腳本,或者直接在 shell命令行中利用shell程序重定向特

溫馨提示

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

評論

0/150

提交評論