Oracle 數據庫實例和數據庫


本文參考自oracle數據庫實例,數據庫的理解,純屬讀書筆記,用於加深記憶。

先看Tom關於這二者的解釋:

1、數據庫

物理操作系統文件或磁盤的集合(我覺得可以理解為數據文件等)。使用Oracle 10g 的自動存儲管理(Automatic Storage Management,ASM)或RAW 分區時,數據庫可能不作為操作系統中單獨的文件,但定義仍然不變。

2、實例

一組Oracle 后台進程/線程以及一個共享內存區,這些內存由同一個計算機上運行的線程/進程所共享。這里可以維護易失的、非持久性內容(有些可以刷新輸出到磁盤)。就算沒有磁盤存儲,數據庫實例也能存在。也許實例不能算是世界上最有用的事物,不過你完全可以把它想成是最有用的事物,這有助於對實例和數據庫划清界線。

3、RAC集群數據庫模式

一般來說,我們的一個數據庫對應一個實例,但在集群RAC情況下,共享數據庫文件時,一個數據庫是可以被多個實例同時使用的。

4、實例的作用

實例是我們向數據庫讀寫數據或讀數據的媒介,在Oracle單實例數據庫中,只有一個實例,只能通過當前實例訪問數據庫,但是在RAC數據庫中,一個數據庫可以產生多個實例,當前數據庫就能被所有的當前的實例所打開,並且當一個實例掛掉,其他實例也能正常的運行,從而保證了數據庫的穩定。

安裝oracle時,通常會安裝一個實例——數據庫對(當然可以裝多對),而且他們的名字相同(也就是實例和數據庫名字相同),他們的名字當然可以不同,不管相不相同,他們的聯系是通過xxx/pfile/init.ora初始化文件聯系的。因為xxx就是實例的名字,而xxx.ora中的db_name,則記錄相應數據庫的名字。

 

下面演示啟動xxx實例,掛接數據庫,打開數據庫,關閉數據庫、卸載數據庫、關閉實例的過程。

  1、為了能進行以上操作,oracle的監聽必須首先啟動,這樣,我們才有機會連接到oracle服務器端。可以通過如下命令進行:lsnrctl start;

  2、oracle啟動,windows下通常在服務里啟動oracle,一般情況下同時啟動相關實例,但也可以設置啟動oracle時,不啟動任何指定實例,這樣oracle的啟動速度相當快。

  3、設定我們需要啟動的相關實例。在console窗口中,輸入 set oracle_sid=xxx (unix環境下用export命令)

  4、用/nolog方式,進入sqlplus。 在console窗口中,輸入 sqlplus /nolog ,然后回車,則進入sqlplus環境。

  5、輸入命令 connect sys as sysdba 回車后,提示輸入口令,直接回車,則以sysdba的角色連接到oracle的空閑實例。

  6、輸入命令 startup nomount 回車,則啟動了xxx實例,由set oracle_sid=xxx設置。

  7、輸入命令 alter database mount 回車,則將相應的數據庫掛接到xxx實例。

  8、輸入命令 alter database open 回車,則打開了相應數據庫。

  9、輸入命令 shutdown,則關閉數據庫、卸載數據庫、關閉實例。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM