oracle network

wzz123snow發表於2014-05-15
1.admin\資料庫名字\script\CreateDB.sql--建立資料庫的指令碼在這下面
  listener(server)net manager
  linux/unix:netmgr
2.監聽就像樓的保安一樣,想要拜訪某個部門某個人的話,需要登記,電話確認下。
  計算機工作的基本原理是程式和程式的通訊。
  在配置監聽當中,SID和全域性資料庫名字不要寫錯了,切記儲存一下。
  oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下生成listener.ora和tnsnames.ora
  11g中增加了監聽的日誌資訊,在listener.ora中
  監聽配置完成後,需要啟動LISTENER的服務。
  lsnrctl start,win7 可能建立不上這個服務。首次啟動的時候會報錯,因為此時沒有這個服務,會建立。
  lsnrctl start/stop/status/reload
  沒有監聽,資料庫連不上
  在伺服器上配置監聽,在客戶端配置服務命名。一旦連上了,監聽停掉了,沒有任何影響,影響的是那些還要連的。
  
  在配置監聽的時候,global name也可以不寫資料庫名字,寫啥都可以,在實驗當中,寫成了a。
  10g之前的版本,客戶端和伺服器端軟體都在一起,10g之後分開啦。比如8i.
  配置TNSNAMES.ORA的服務名寫啥,要看監聽的狀態,監聽對應的服務後面“a”的東西都可以。--這裡的a和之前的全域性資料庫名a對應。
  
  
  共享伺服器,輪流服務。ORACLE的目的是想省資源這樣就有延遲,忙不過來的時候,就需要等。效果很不好。效能顯著下降。和下飯店的原理一樣。
  專用伺服器,程式比較多。
  dispatcher 排程
  都配置好之後,就可以連線資料庫啦。
  
 
  例項的狀態UNKNOWN和READY有啥區別呢?
  資料庫的資訊要記錄在監聽當中。有兩種方式把資料庫的的資訊註冊在監聽當中,動態的和靜態的。
  服務“a”,靜態註冊的監聽,對應的例項狀態是unknown,能否連上資料庫不一定,如果test1是啟動的,可能能連上。就像某個部門放假了,保安不知道,能


否拜訪某個部門的某個人,不知道。狀態是unknown,就是靜態的。通過靜態註冊的監聽能否連上資料庫,監聽不知道,就是unknown。靜態註冊的時候,明明白


白用的是sid,不是instance_name
  服務“test”,狀態READY,一定可以連上資料庫,因為資料庫起來的時候,ORACLE資料庫的一個程式會自動從資料庫的引數裡讀出這些資訊註冊到監聽中。數


據庫如果停了,就沒有READY了。哪些引數呢,show parameter instance_name(例項名),show parameter service_name(服務名)。讀取這兩個引數來動態注


冊監聽。
  監聽當中的服務名,對應的其實是service_names。service_names可以修改,用來分擔負載,連線資料庫。pmon會讀取這兩個引數。
  不管我的服務名修改成什麼,ORACLE始終會資料庫名和例項名來註冊。始終會使用資料庫名和例項名來動態註冊。
  靜態和動態同時存在,ORACLE優先使用動態的。


  小結下:動態註冊監聽,用的是引數,service_names和instance_name,但始終會使用資料庫名和instance_name來註冊。
          靜態註冊監聽,全域性資料庫名寫啥都可以,sid必須是sid,不是instance_name。


service_names,可以通過不同的service_names把負載分擔開來。可以看看哪部分業務系統負載重。






 
1.database
dbf,ctl,redo
db_name
dbid
select * from v$database
2.instance
select * from v$instance--這裡的instance_name其實是sid
sga
pga
background process
--======================
instance_name
system identifier(sid)




sql server:
instance->db


oracle:
instance-db

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26084062/viewspace-1161879/,如需轉載,請註明出處,否則將追究法律責任。

相關文章