[ORACLE實例與數據庫詳解]:
在實際的開發應用中,關于Oracle數據庫,經常聽見有人說建立一個數據庫,建立一個Instance,啟動一個
Instance之類的話。 其實問他們什么是數據庫,什么是Instance,很可能他們給的答案就是數據庫就是
Instance,Instance就是數據庫啊,沒有什么區別。在這里,只能說雖然他們Oracle用了可能有了一定的經
驗,不過基礎的概念還是不太清楚。
什么是數據庫,其實很簡單,數據庫就是存儲數據的一種媒介。比如常用的文件就是一種,在Oracle10G中,
數據的存儲有好幾種。第一種是文件形式,也就是在你的磁盤中創建一批文件,然后在這些文件中存儲信息
。第二種就是磁盤陣列形式,這個是什么意思呢,這個就是說明數據庫不是存放為某個文件,而是把一個或
者多個磁盤格式化成Oracle的一種格式了,等于整個磁盤就是存放Oracle數據庫的,不能作為別的用途。這
樣的優點是存儲性能高,因為不再借助別的文件格式了,而是把整個磁盤都成為Oracle最適應的文件系統格
式。當然還可能有別的形式,比如網絡什么的。不過我們最常用的還是文件格式的,在文件格式中,數據庫
指的就是那些數據文件,控制文件以及REDO文件等等一系列文件。
而什么是Instance呢,Instance其實就是指的操作系統中一系列的進程以及為這些進程所分配的內存塊。在
Oracle中,我們可以新建一個Oracle的Instance,這個時候雖然有了進程還有SGA等一系列的內存快,但是這
個時候并沒有把數據庫文件讀取進來。所以只是一個實例,在后來,你可以通過命令手動或者自動地把數據
庫文件加載進我們的數據庫Instance中,這個時候的數據庫才可以讓我們真正的開始訪問操作。
所以說,數據庫的應用如果想實現,數據庫和數據庫Instance是缺一不可的,如果只有數據庫的那些文件,
那么,只能代表數據在這個文件中,但是我們無法直接進行操作。而如果只有數據庫Instance,那么我們雖
然可以急性操作,但是也不知道操作哪些數據,操作生成的數據也無法保存等等。所以,當一個Oracle
Instance真正Load了一個Oracle Database了以后,數據庫才可以被我們使用。
在這里要注意一點的是,Oracle的實例在啟動以后,只能load一次數據庫,如果想把數據庫與Instance斷開
,然后再重新掛在一個數據庫Instance,那么就需要你首先把數據庫Instance進程結束,然后重新建立這個
instance的一個進程,再load另外一個數據庫。否則肯定要拋除ORA-16169錯誤,說數據庫已經被打開。因為
一個數據庫Instance在其生存期中最多只能load和打開一個instance。
ORACLE實例 = 進程 + 進程所使用的內存(SGA)實例是一個臨時性的東西,你也可以認為它代表了數據庫某一
時刻的狀態!
數據庫 = 重做文件 + 控制文件 + 數據文件 + 臨時文件數據庫是永久的,是一個文件的集合。
ORACLE實例和數據庫之間的關系
1. 臨時性和永久性
2. 實例可以在沒有數據文件的情況下單獨啟動 startup nomount , 通常沒什么意義
3. 一個實例在其生存期內只能裝載(alter database mount)和打開(alter database open)一
個數據庫
4. 一個數據庫可被許多實例同時裝載和打開(即RAC),RAC環境中實例的作用能夠得到充分的體現!
[ORACLE實例與數據庫啟動方式]:
1、AIX5.3用oracle用戶登陸。
2、登陸sqlplus。
$sqlplus /nolog
3、鏈接數據庫實例hrbhouse。
SQL> conn sys/vhfs@hrbhouse
as sysdba
Connected to an idle instance.
#查看狀態
SQL> show instance
instance "local"
SQL> show sga
ORA-01034: ORACLE not available
#數據庫為啟動
4、啟動實例hrbhouse下的數據庫。
SQL> startup
ORACLE instance started.
Total System Global Area 935329792 bytes
Fixed Size 2025304 bytes
Variable Size 247466152 bytes
Database Buffers 683671552 bytes
Redo Buffers 2166784 bytes
Database mounted.
Database opened.
#停止實例hrbhouse下的數據庫
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/allenky/archive/2009/03/10/3975346.aspx
posted on 2009-10-25 21:57
零全零美 閱讀(390)
評論(0) 編輯 收藏 所屬分類:
oracle