




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Oracle數據庫實例的創建、刪除、修改以 SUSE10SP2、Oracle10gR2 為例。本文中的數據庫實例這一稱謂應該換做數據庫更為準確,數據庫可以理解為是一個物理的靜態概念, 主要包括一些物理存在的數據庫文件,而數據庫實例則是一個動態概念,包括一些內存區域以及若干進程,數據庫實例是對數據庫進行操作的執行者。(20090714修改)安裝完Oracle數據庫系統的安裝后,需要創建數據庫實例才能真正開始使用Oracle數據庫服務。總結起來,Oracle有三種創建數據庫實例的方法。第一種,最常用也最簡單,那就是通過DBCA(Database Configuration Assistant) ,
2、這是 Oralce提供的一個圖形界面的數據庫實例配置工具,通過它可以創建、刪除和修改數據庫實例,它的使用也比較簡單、 易懂,交互式的圖形界面操作,非常準確有效的提示與配置,是一個比較方便的創建數據庫實例的方式。按照DBCA給出的提示,很容易創建一個新數據庫實例。在創建數據庫的時候,DBCA還提供了兩個選項,讓你可以根據剛剛設置好的參數生成一個數據庫實例模板和一份數據庫實例創建腳本。這兩個東西是非常好,非常有用的東西,數據庫模板由Oracle自己管理維護,已經創建好的數據庫實例模板可以在DBCA圖形程序新建數據庫實例時作為模板來使用,另外在DBCA使用responseFile 文件或者命令行參數
3、創建數據庫時也需要用到(見后面介紹);數據庫創建腳本是一組腳本,包括shell腳本和sql腳本,這些腳本共同實現一個功能,那就是按照你之前在 DBCA中設置好的那樣創建一個數據庫實例(后面也會有介紹),你需要做的只是將這些腳本在你的代碼中調用起來。當然,你也可以選擇只生成數據庫模板或者數據庫腳本,而不用去創建一個真的數據庫(這通常很費時間)。*5e ect 口itafeis銀旺呼忝陽訂7匚確-宰白/汨:越誕報Hf|pl I Back ypKiMhl*5hDBCA是一個非常強大的工具,上面看到的只是DBCA最常用的創建一個數據庫實例的使用,其實DBCA還提供另外兩種使用方法,分別是 respon
4、seFile和命令行帶參調用。先說DBCA的responseFile 使用方法,responseFile 這個東東并不陌生,前文講的Oracle自動安裝就是使用responseFile 完成的,DBCA的responseFile 使用方法和 Oracle安裝程序的responseFile 使用 方法基本一致。但DBCA的responseFile的來源只能是 Oracle安裝包中提供的模板文件,而不能向Oracle安裝程序的responseFile 一樣,先自己record 一個,然后再用這個 record去指導Oracle的自動安裝。從 Oracle安裝包中獲取到 DBCA的responseF
5、ile模板文件后,你可以根據自己的需要編輯修改該模板文件, 以完成對數據庫實例的某些參數設置(DBCA圖形界面所提供的參數設置,responseFile中都可以設置,而且該responseFile模板文件的注釋寫的很好,你完全不用擔心無法搞定那些繁雜的數據庫實例參數設置, 贊Oralce 個!)。該模板文件在 Oracle安裝包中的位置一般在 $ORACLE_PACKAGE/response 目錄下。有了 responseFile之后,你只需在調用 DBCA的時候指定responseFile的位置和另外一些參數:dbca -silent|-progressOnly -responseFile
6、responseFile 名稱其中-silent|-progressOnly 選項意義和Oracle安裝程序命令行參數中的同名選項一樣,表示完全字符 界面自動安裝或者帶圖形提示界面的半自動化安裝。responseFile名稱當然就是responseFile 的具體位置了。但是,有一點不是很好,那就是使用DBCA的responseFile方式創建Oracle數據庫實例,需要事先已經存在一個數據庫實例模板了,在responseFile中再指定該數據庫實例模板名,然后DBCA再依據這個已有的數據庫實例模板完成新數據庫實例的創建,所以就會有前面講到的DBCA圖形界面創建數據庫實例時提供生成數據庫實例模
7、板的選項(數據庫實例模板也可以從一個已有數據庫實例生成),就是在這要用到的。從上面調用 DBCA使用responseFile的命令中,應該已經看到了DBCA是提供一些命令行參數選項的,其實DBCA提供的命令行參數選項遠比你想象的強大,甚至可以這么說,所有DBCA圖形界面和responseFile能夠辦到的事,通過DBCA豐富的命令行參數選項都可以辦到。你在DBCA圖形界面上設置的參數或者在responseFile中指定的參數值都可以通過DBCA的命令行參數選項來進行設置,所以你完全可以只通過DBCA的命令行帶參調用來完成一個數據庫實例的創建(當然也包括刪除、修改數據庫實例等 所有DBCA圖形界
8、面所能提供的功能)。其實,我更愿意這樣認為,DBCA的responseFile 應用也是一種DBCA命令行帶參調用的使用。需要注意的是,當DBCA的命令行參數和responseFile同時設置一個參數時,命令行參數的優先級是比responseFile要高的。另外,使用DBCA命令行帶參調用新建數據庫實例和使用responseFile新建數據庫實例一樣,也是需要事先已經存在一個數據庫實例模板,才能完成新數據庫 實例的創建。一份非常詳細的DBCA所有命令行參數選項列表,你可以通過執行dbca -help獲得。到現在你可能已經發現,DBCA圖形界面、DBCA的responseFile使用以及DBCA
9、的命令行帶參調用,其實是三個分別具備完全數據庫實例設置功能的工具或者接口,分別對應不同的應用場景,它們可以滿足你幾乎所有的應用需求 (使用這樣的工具來幫助構建自己的軟件真是非常愜意的一件事情,再贊Oracle 個!)。第二種是通過腳本(是否稱為命令行方式更合適,下文描述的腳本方式其實都是命令行方式的非交互式方法,或者說命令行的自動化方式,但其實所有腳本方式都可以將shell腳本或sql腳本中的shell命令、sqlplus命令拆分出來,手工在shell中或者sqlplus界面中進行交互式的輸入執行,這可以稱為命令行的手工方式)來完成數據庫實例的代碼中自動創建。這里說的腳本包括shell腳本和s
10、ql腳本,這種方式可以說是最適合與編程結合的,因為這些shell腳本或者sql腳本都可以直接在 shell命令中調用執行,所以可以很好與shell編程相結合。而這其實是基于一個非常重要的事實,即Oracle提供了一個交互式的命令行工具sqlplus (類似與DB2的db2cmd),這個工具可以認為是一個Oracle數據庫管理工具,通過它可以執行一些Oracle的數據庫管理命令,來完成一些數據庫管理工作(這當然就包括數據庫實例的創建),同時你也可以把它當作一個 SQL語句執行器,直接在里邊執行你想要執行的SQL語句或者存儲過程等,并獲取執行結果。并且,更重要的是,sqlplus可以直接在shel
11、l命令行中進行非交互式的調用執行(通常是調用執行一段sqlplus語句,或者是一個由一些 sqlplus語句組成的sql腳本,我所說的sqlplus語句包括Oracle 數據庫管理維護命令、SQL語句和存儲過程等),這就為在shell編程中使用sqlplus完成數據庫實例自動 創建工作提供了可能。shell命令行中非交互式調用 sqlplus執行一段sqlplus語句是利用shell編程中重定向命令的一個特性, 即分隔符重定向輸入。一般用法如下:command*任意自定義分隔符> (換行)內容> (換行)內容>自定義分隔符shell中遇到 << 則會自動將下一個單
12、詞認作分隔符,并將分隔符后面的文本當作command命令執行的內容傳遞給command依次全部執行直至遇到下一個分隔符單詞才結束。這里的分隔符可以是任意自定義 的單詞,通常使用 EOF,舉例:sqlplus / as sysdba«EOFstartup nomount;select * from v$version;shutdown immediate;exit;EOF這段shell程序調用sqlplus執行了若干sqlplus語句,用來啟動數據庫實例,查詢數據庫版本信息, 然后關閉數據庫實例,退出sqlplus。shell命令行中非交互式調用sqlplus執行一個sql腳本是利用s
13、qlplus本身提供的命令行參數。在sqlplus界面中可以通過start命令和命令來執行一個sql腳本,兩者功效相同,用法如下:SQL>start sql腳本絕對路徑;SQL>sql腳本絕對路徑;而在shell命令行中可以使用 來完成sqlplus對sql腳本的調用執行,舉例:sqlplus / as sysdba ./MySQL.sql以上命令會調用sqlplus執行當前目錄下的MySQL.sql腳本。使用腳本來完成數據庫實例的創建工作,也分為兩種情況。一種是誠如前文所述的那樣,在使用DBCA圖形工具創建數據庫實例的同時生成一份數據庫實例創建腳本(包括若干shell腳本和sql
14、腳本),那么你就可以使用這份腳本,在shell中進行調用,完成數據庫實例的代碼自動創建。使用這份數據庫實例創建腳本創建的新數據庫實例和原數據庫實例是完全一樣,當然,你可以將生成的腳本進行修改,以完成你對數據庫實例的某些設置,但是請在你對腳本內容已經足夠了解,并且知道你自己在干什么的情況下修改腳本,否則你很有可能使用修改后的腳本無法正確創建數據庫實例。這種方法中shell腳本對sqlplus的使用,更多的是使用 sqlplus來執行一些Oracle生成的sql腳本(這些 sql腳本的內容是就是一些sqlplus語句的集合,它們的任務就是完成數據庫實例的創建以及設置)。另一種情況則是不依靠DBCA
15、生成的腳本,完全由自己來編寫實現一份shell腳本,在腳本中你可以調用sqlplus執行一段sqlplus語句或者其它一些sql腳本,以完成數據庫實例的創建和設置,這完全取決 于你的實現;而最常用的用來創建數據庫實例的一個方法就是在sqlplus中使用create database語句,create database語句提供了許多豐富的選項和參數設置,確保你能完全創建一個自己所需要的數據庫實例。當然,還有一些其它方法可以創建數據庫實例,比如調用執行oracle提供某些存儲過程等。至于 create database 語句的詳纟細介紹可以參考 oracle 的sql reference。第三種嚴
16、格來說不能算作一種創建Oracle數據庫實例的方法,它是通過已有的數據庫實例為基礎來完成新數據庫實例的創建的。這種方法是首先通過第一種或者第二種方法來創建好一個數據庫實例,然后將 該數據庫實例的物理文件進行備份,然后直接使用備份的物理文件恢復出一個與原數據庫實例完全一樣新 的數據庫實例,所以這種方法需要和第一、二種方法相配合才能使用。這種方法其實已經屬于Oracle數據備份與恢復的范疇了, 就是Oracle數據備份恢復方式中的物理備份恢復,所以這種方法可以叫做物理恢復法。簡單介紹物理恢復法,首先將一個已經存在數據庫實例(最好已關閉)進行物理備份,所謂物理備份其實就是復制該數據庫實例所使用的操作
17、系統文件,這些文件主要包括 DataFiles、RedoLogs、ControlFiles和UndoFiles (這些文件一般存在于$ORACLE_HOME/oradata 目錄下),進行數據庫實例恢復的時候只需 將備份的操作系統文件復制到新的oradata目錄下即可,可以直接啟動使用恢復后的該數據庫實例。不難看出,這種備份恢復是依賴于操作系統平臺的。詳纟細的物理備份和恢復介紹可以參考oracle 的backup and recovery basics 以及 backup and recoveryadvanced user' s guide。說完了數據庫實例的創建,現在來說說數據庫實例
18、的刪除和修改。其實介紹完了數據庫實例的創建, 數據庫實例的刪除和修改就非常簡單了。基本和前文數據庫實例創建的內容相一致,且比較而言更簡單。數據庫實例的刪除從上文中數據庫實例的創建不難得到,大致有兩種方法,DBCA工具和命令行方式。DBCA工具除了能夠用來創建數據庫實例,當然也能夠用來刪除數據庫實例了,且同樣可以用使用 responseFile或者命令行帶參調用等方法來完成數據庫實例的刪除,請參考數據庫實例創建部分。命令行刪除數據庫實例的方式,嚴格來講,是使用一組sqlplus命令來完成數據庫實例的刪除,這組sqlplus命令可以組織在一個 sql腳本中,然后在shell命令行中調用sqlplus程序來執行該sql腳本,或者 直接在shell命令行中利用shell程序重定向
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國人民大學綜合服務中心招聘筆試真題2024
- 2024年曲靖市會澤縣消防救援大隊專職消防員招聘考試真題
- 紡織設備智能監控與故障預警系統考核試卷
- 文化用品租賃市場競爭對手跟蹤分析考核試卷
- 電機在輻射防護設備中的應用考核試卷
- 客服崗實習總結及收獲(8篇)
- 煤炭行業的智慧城市與智慧能源考核試卷
- 環境保護與城市垃圾分類處理考核試卷
- 大連市運輸代理協議(6篇)
- 云南省楚雄彝族自治州2024-2025學年高二下學期3月月考生物試題無答案
- 2025年甘肅西北永新集團招聘11人筆試參考題庫附帶答案詳解
- 江蘇省鎮江市2024-2025學年下學期七年級數學期中試卷(原卷版+解析版)
- 第一章+動量守恒定律+章末復習高二上學期物理人教版(2019)選擇性必修第一冊
- 學校崗位安全手冊指南
- 2025-2030體外診斷儀器行業市場深度分析及發展策略研究報告
- 五方股權投資合作協議書合同協議范本模板8篇
- 幼兒園大班建構游戲中幼兒自主學習行為的研究
- 《特斯拉汽車供應鏈管理》課件
- 內河船舶船員基本安全知識考試題庫300題(含答案)
- 無人機操控 教學設計公開課教案教學設計課件
- 《瑞幸咖啡財務造假案例分析》8400字(論文)
評論
0/150
提交評論