oracle例項,其實就是oracle instance,在oracle資料庫體系結構中,是組成oracle伺服器的重要部分。那為什麼需要這個instance呢?專業上的一種說法是說oracle instance是用於和作業系統進行聯絡的標識,也就是資料庫和作業系統之間的互動使用的是資料庫例項。換句話說,我們使用者,是通過」作業系統-》資料庫例項-》資料庫」和」作業系統《-資料庫例項《-資料庫」這樣的流程來和oracle資料庫打交道的(儘管現在這樣說有點不完整,因為其中還有各種工具什麼的)。也就是說,如果沒有oracle instance,我們使用者就無法和資料庫打交道,也談不上管理oracle資料庫了。
那麼,什麼是oracle例項管理呢?
粗略來說,包括了:
先說說所謂的引數
引數檔案
存放引數的檔案分為兩類,一種是靜態的正文檔案pfile,一般檔名為initsid.ora,另一種是動態的二進位制檔案spfile,一般檔名為spfilesid.ora(sid為例項名,如果沒有,預設使用init.ora)。它們的位置都在$oracle_home/dbs下,在啟動資料庫時,使用者可以自定義用哪種檔案啟動資料庫。而以pfile啟動資料庫和以spfile啟動資料庫時有區別的:
初始化引數檔案的內容
引數檔案的內容,毫無疑問就是引數了,這些引數包含有哪些資訊呢?
按引數檔案(個人覺得這裡會讓人誤解,不過沒找到好詞)分
sql> startup
這樣子啟動,可以看出,是優先使用spfile,也就是動態引數檔案。
sql> startup pfile=檔名 #注意,檔名要加上路徑,且不需要引號
按啟動狀態分sql> startup nomount
解釋:只啟動例項但不開啟資料庫中任何檔案
適用場景:只有在建立資料庫時或重建控制檔案時使用
工作:啟動所需的全部後台程序;開啟報警檔案alertsid.ora和追蹤檔案trace
sql> startup mount
解釋:啟動例項並且開啟控制檔案
適用場景:特殊的維護期間,如系統表空間的恢復,修改資料檔名,移動資料檔案等
工作:將一資料庫與已啟動的例項關聯起來;利用初始化引數檔案中的說明鎖定並開啟控制檔案;讀控制檔案以獲取資料檔案和重做日誌檔案的名字和狀態資訊,但不檢查其是否存在
sql> startup
上下相同效果
sql> startup open
解釋:啟動例項,開啟控制檔案,開啟資料庫
適用場景:正常狀態
工作:包括上面兩種所有工作;開啟所有聯機資料檔案;開啟所有聯機重做日誌檔案
按讀寫許可權分
sql> alter database open read only;
#可做的事情:
#將資料檔案離線和聯機,但不能對錶空間進行這樣的操作
#執行資料檔案和表空間的離線恢復
#使用本地管理的表空間來執行磁碟排序
#執行查詢
sql> alter database open
read
write;
進入該模式的命令sql> startup restrict
#如果資料庫還沒執行
sql> alter system enable restricted session; #如果資料庫執行了
適用場景
特點由於資料庫是允許多個會話,多個事務,過個使用者連線,並且做的事情有時和檢查點有關,所以在關閉乙個資料庫時,這些因素必須考慮。根據oracle給出的關閉方式,我們也不難看出這種「級別」關係。所有的關閉方式有乙個共性——都是禁止新的鏈結的。
normal
#等待所有會話和事務結束,並且會強制檢查點和關閉檔案
sql> shutdown normal
transactional#等待事務結束,並且會強制檢查點和關閉檔案,但是不會等所有會話結束
sql> shutdown transactional
immediate#會強制檢查點和關閉檔案 但是不會等待所有事務和會話結束
sql> shutdown immediate
#沒提交的資料將自動回滾,重新啟動不需要恢復,但使用者需要重新輸入那些沒有提交的資料
abort#什麼都不等,直接關了
sql> shutdown abort
步驟:
我們可以做個實驗,利用xshell建立兩個會話連線到虛擬機器上的linux上,並且登入進去oracle資料庫,然後乙個以sys登入,乙個以scott登入,然後我們試著kill掉scott使用者程序
診斷檔案可以獲取資料庫的很多有用資訊,特別是當你在管理資料庫時,遇到各種報錯,無從下手時,通常看一下診斷檔案,可以有所幫助。通常有3種主要的診斷檔案:報警檔案altersid.log;後台程序跟蹤檔案background trace files;使用者程序跟蹤檔案user trace files
報警檔案altersid.log
後台程序跟蹤檔案background trace files
使用者程序跟蹤檔案user trace files
在會話一級需要關閉時,需要
同樣可以在例項一級需要開啟或關閉,就修改初始化引數檔案的引數來完成
注意,開啟這個系統開銷會變大
大小:由max_dump_file_size決定
除了上面提到的檢視檔案位置的辦法外,其實有乙個方法會更直接
ORACLE訂單管理(例項
create table stock icode varchar2 20 primary key,idescrip varchar2 50 pqty number 4 create table input iid varchar2 20 icode varchar2 20 idescrip varc...
啟動oracle例項
windows中 系統服務中有乙個服務叫 oracleservice sid sid是你安裝oracle時候的例項名,如果你沒有改預設的是 orcl 所以找到 oracleserviceorcl 這個服務,啟動它就ok了。不過一般裝完oracle後它都是啟動的,而且是開機自動啟動。linux下面 o...
Oracle例項恢復
例項恢復會在資料庫沒有安全關閉的情況下會發生,在資料庫shutdown abort和資料庫異常 down 掉,或者斷電會發生例項恢復。例項恢復的原因就是,在資料庫 down 掉那一刻,有部分修改過的資料沒有寫到磁碟上面,雖然資料在記憶體裡面丟掉了,但是 redo 寫到磁碟上面了,所以例項恢復用 re...