ORACLEserver實例DB的概念學習理解與總結,邊學習邊總結 ...
個人原創,轉自請在文章開頭顯眼位置註明出處:https://www.cnblogs.com/sunshine5683/p/10048824.html
一、以後看一個oracleserver,可以使用如下語句
1、ps -ef|grep ora_|uniq : 查看oracle實例後臺進程
2、ps -ef|grep ora_|cut -d '_' -f3|uniq :過濾
3、ps -ef|grep ora_|cut -d '_' -f3|sort|uniq :過濾排序
實例:存儲的是記憶體結構與後臺進程, 實例和後臺進程是資料庫啟動的時候才配,實例處理oracle資料庫的大部分操作,訪問實例,v$instance,資料庫是由物理文件和構造物理文件的邏輯文件做組成的,訪問資料庫V$database,一個實例對應並訪問一個資料庫:
可以看到上面的實例orcl訪問了下麵的資料庫ORCL,只要能看到以上兩個名字,就說明oracleserver是個完整的oracleserver,但是如果將oracle啟動到nomount階段,這時候來查詢實例名,再查詢庫名,會發現實例名正常查到,但是庫名報如下錯誤:(下麵將資料庫強制關閉然後啟動到nomount階段)
將資料庫啟動到mount階段,發現資料庫名也可以查詢,這個時候資料庫物理結構是正常的,即部分結構正常,但是其邏輯結構是不正常的,下圖可以看到,其物理結構是正常的
這個時候由於其邏輯結構是不正常的,我們訪問一些資源是不能訪問的,比如訪問某個用戶下麵的資源,下麵連接scott用戶可以看到,是不能夠連接的
要alter到open階段,這個時候才是正常的,可以看到是可以連接的,也就是說完整的資料庫是將其完全打開,即open,但是要改變其物理結構,必須要在mount階段才可以。
這些就是oracleserver中的一些查看操作,當然在生產環境中實例名和庫名是可以不一樣,在oracle集群環境中中可以使用gv$instance查看實例名和庫名(後續總結中詳細解釋)。