http://doc.linuxpk.com/1198.html
執行個體 就是管理相關庫的記憶體結構的名字(由SGA、PGA、伺服器處理序、使用者進程、後台進程等組成)
資料庫 就是實際的磁碟上的檔案(資料檔案、記錄檔、控制檔案等),負責儲存資料,但由對應的執行個體來操作它的資料
服務名 就是對外公布的名稱,為網路監聽服務
其實,在我們傳統的概念裡,資料庫是一個統稱的名字,在Oracle中,你可以把“資料庫”理解成一個大概念,也要把它理解成一個小概念
1、一個Oracle資料庫系統中可以同時安裝幾個資料庫,每一個資料庫對應一個唯
一的執行個體,但是OPS系統除外,可以多個執行個體同時對一個資料庫操作,稱為並行服務
器
2、只是一個名字,SID即是INSTANCE_NAME,SERVICE_NAMES主要用在監聽器中,
為了方便吧,有些是為了傳統習慣的延續,有些是為了更方便的使用
3、NET EASY CONFIG操縱的應該是主機字串,是為用戶端服務的
一個資料庫可以對外公布多個服務名(SERVICE_NAMES)
一個用戶端也可以用多個主機字串串連到同一個資料庫伺服器上
4、一個OS上可以裝多個Oracle資料庫(小的概念),每個庫可以對外公布多個服
務名,都通過init.ora和listener.ora來實現
今天運氣真好,竟碰到了高手。
我得抓緊時間。
那麼再問:
如果按你的解釋,主機字串,資料庫服務名,資料庫別名應該是同一個概念吧?
不太一樣
service_names是對外的服務名,是伺服器端使用的,一個庫可以設定多個對外服
務名,以實現不同的目的
“主機字串”的叫法主要在SQL*Plus中使用,是在用戶端使用,
“資料庫別名”主要用在一些開發工具串連Oracle伺服器時使用,是通俗叫法
還有像配置ODBC時的Data Source的Service Name,
它們都是一個道理,指向的都是用戶端tnsnames.ora檔案中的一小段文本
差不多明白了。
但我還要問:
1。在SQL/PLUS中的登陸中,用USER/PWD@***,那麼,這個***是什麼呢?是主機字
符串還是服務名呢?
2。在設定ODBC時的使用者和密碼是不是一定要是ORACLE中的合法使用者和密碼?
3。 若要向ORACLE代理商購買ORACLE,是以使用者數來算錢的。
那麼,這個“使用者”跟我們在ORACLE中通過CREATE USER USERNAME IDENTIFIED
BY PASSWORD建立的使用者是一個概念嗎?若不是一樣的話,他們有什麼區別?
還有,ORCLE是通過什麼機制來控制使用者的最大數量的?要是我買了8個使用者的,我
能開12個使用者嗎?
能給我的EMAIL嗎?
1、主機字串
2、是的,但不輸也行,引用ODBC名時再給出也可以
3、不是,“使用者數”指的是並發訪問使用者數
(我理解是同時間訪問同一個記憶體位址的進程數)
買8個使用者,建幾十、上百個使用者也沒問題,只要峰值達不到並發數就可以了
(這裡的使用者數不是Oracle內部的自己建立的那種使用者,應該是進程數)
(多台機器,每個Oracle內部使用者多次調用,開多個進程)