【新炬網路名師大講堂】oracle application server之核心技術opmn
最近研究了一下oas的核心技術opmn,藉此機會和大家分享。Opmn是oracle application server的核心,Oas10.1.3以前的版本,oc4j在opmn.xml中只能是單獨的例項,如:
Oas10.1.3.1以上的版本測支援例項組,如:
在一個例項組中,所有例項使用相同的配置。
什麼是opmn
Opmn是安裝和配置每一個oracle application sverver(oas)所必須的。
Opmn具有以下功能:
? 提供一個控制和監視單個或多個oas 元件和例項程式的命令列介面
? 提供一套整合的管理oas元件的方法
? 能夠管理oas子部件和子子部件
? 提供不同oas元件之間的通訊管道
? 解決了oas部件例項之間啟動與停止順序的依賴性
? 透過事件指令碼實現自定義功能
? 收集主機和oas程式狀態和任務資訊
? 當oas程式被ping機制或者通知機制斷定為無響應、以外終止或不可訪問狀態時,自動重啟程式
? 提供了程式死亡狀態的自動檢測
? Opmn的啟動不再依賴任何其他oas元件
? 透過修改opmn.xml控制oc4j例項
? 允許透過修改組配置而更改組內所有例項成員的配置
Opmn 如何工作
Opmn包含三個核心元件在各個opmn server之間翻譯並傳輸指令。
三個核心元件:Oracle Notification Server、Oracle Process Manager、PM Modules
Ons是oas元件間失敗、恢復、啟動等關聯資訊的傳輸裝置。
它的運轉依靠一個釋出協議模型,這個模型是oas的一個元件,它接受每一個可靠的資訊並傳送給ons,ons再將資訊傳送給其他相關的元件。
Pm是oas的集中程式管理器,用來管理oas程式。Pm影響每一個程式的啟動、重啟、關閉指令,並且監控程式狀態。Pm處理所有傳送給opmn的請求,包括控制指令與獲取程式資訊,以及程式死亡檢測、自動重啟。Oas程式的配置資訊都指定在opmn.xml檔案中。
這張圖是從oracle 的官方文件上截下來的,個人感覺畫的不好,並沒有把三個核心元件之間的關係很好的描述出來,大家湊合看吧。
Opmn server有兩個程式,
第一個程式:在必要的時候啟動第二個程式。
第二個程式:該程式處理所有的請求,如果該程式被停掉,第一個程式將重啟第二個程式。
在Windows環境下,當第二個程式意外終止時,第一個程式不會重啟第二個程式,相反地,第一個程式也會自動結束,而需要手工啟動它們。
PM Modules,The Oracle Process Manager Modules 實現oas 程式管理的功能。
1. 處理所有執行元件的通訊資訊。
2. 建立oas元件具體指令(如何啟動、停止、重啟元件。)
3. 檢測oas元件執行狀態。
handle any communications originating from the running component.
construct Oracle Application Server component specific control information (how
to start, stop, restart the component).
test responsiveness in an Oracle Application Server component specific manner to
determine if a component is responding to requests.
Opmn.xml檔案
Opmn.xml是opmn的主配置檔案,它位於oracle_home/opmn/conf/,包括pm和oas元件的配置資訊,並向你展示所有被管理的oas元件。
有幾個配置元素提供了靈活的配置資訊,可以應用到整個oas元件或者其中一個。
ons也在opmn.xml定義,例如:
Opmn.xml檔案中可定義的內容:
1.oc4j例項組
在oc4j10.1.3.1.0以上的版本,可以建立oc4j例項組,在
例如:
在同一個組下的oc4j例項可以同時進行如下操作:
? 修改組內所有oc4j例項的配置
? 啟動和停止組內所有oc4j例項
? 部署、解除安裝或重新發布組內例項上的應用程式
? 執行jdbc的管理操作,如建立、修改、刪除jdbc data source和connection pools
? 執行jms管理操作,如建立、刪除jms 目標,建立、修改、刪除jms連線工廠。
2.自動重啟
Opmn為我們提供了自動程式死亡檢測狀態並且重啟程式;我們可以配置屬性,取消自動重啟。
3.事件指令碼
可以自定義一些事件指令碼,配置opmn,當程式啟動、停止、crash時,執行這些指令碼,指令碼的觸發包括以下幾種情況:
? Pre-start:當所有已配置的相關檢測條件透過後,opmn將執行
? Pre-start指令碼,之後執行啟動命令
? Pre-stop:opmn將在停止程式之前先執行Pre-stop指令碼,它可以幫助我們在停止oc4j程式之前收集一些jvm資訊。
? Post-crash:當檢測到oas例項意外終止後,ipmn將執行post-crash指令碼。
4.啟動順序關聯:一些oas例項的啟動要求其他例項必須是running狀態,opmn可以配置預設的啟動順序。
5.配置log檔案
6.安全配置:opmn 本地監聽埠使用ons,pm管理程式也不使用ssl安全加密,而使用兩個其他機制確保訪問安全:
7.ipv6支援:10.1.3以後的版本支援ipv4和ipv6
Opmnctl 命令
Opmnctl可以向所有oas例項或某個特定的例項執行控制和監控命令。常用命令如下:
? Start:啟動opmn程式
? Startall:啟動opmn和受管程式
? Stopall:停止opmn和受管程式
? Shutdown:強制關閉opmn和受管程式
? Startproc
? Stopproc
? Restartproc
? Status:返回受管程式狀態。
配置oracle http server
http server配置也是在opmn.xml中,
? 每一個oracle_home只能配置一個http server
? Oas10.1.3.1.0以上的版本http server使用apache1.3
Apache安裝目錄在oracle_home/apache,主配置檔案在oracle_home/Apache/Apache/conf/httpd.conf,
http server的主要屬性包括埠、連線超時時間、最大連線數等,其中最大連線數直接影響系統效能。
總結
瞭解oas的核心工作原理對我們進一步學習oas很有幫助,它是oas最底層的技術。萬丈高樓平地起,學習opmn是我們建設“萬丈高樓”的奠基石。希望看了上面的文章,對預研究oas的兄弟有所幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1368315/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【新炬網路名師大講堂】SOA套件介紹套件
- 【新炬網路名師大講堂】weblogic整合ejbWeb
- 【新炬網路名師大講堂】總結和結論
- 【新炬網路名師大講堂】Oracle Database 12c 新特性總結OracleDatabase
- 【新炬網路名師大講堂】Oracle中的回收站(Recycle Bin)Oracle
- 【新炬網路名師大講堂】clone oracle 12c pluggable databasesOracleDatabase
- 【新炬網路名師大講堂】Oracle 11g rac 刪除節點Oracle
- 【新炬網路名師大講堂】svn在linux下的使用Linux
- 【新炬網路名師大講堂】關於LOG FILE SYNC的解惑
- 【新炬網路名師大講堂】Oracle小知識- Oracle KILLED會話的釋放Oracle會話
- 【新炬網路名師大講堂】Data Guard–物理主備庫切換
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路一UX
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路二UX
- 【新炬網路名師大講堂】初識mysql的體系結構MySql
- 【新炬網路名師大講堂】cursor: pin S wait on X模擬AI
- 【新炬網路名師大講堂】關於IMSI/MSISDN/IMEI的介紹
- 【新炬網路名師大講堂】關於Oracle 12c Flex ASM特性的理解OracleFlexASM
- 【新炬網路名師大講堂】12c新特性:備份CDBs和PDBs
- 【新炬網路名師大講堂】12c新特性:使用RMAN連線CDB
- 【新炬網路名師大講堂】AIX上的配置網路調優引數AI
- 【新炬網路名師大講堂】j2ee與weblogic簡介Web
- 【新炬網路名師大講堂】GoldenGate的ADD SCHEMATRANDATA命令研究Go
- 【新炬網路名師大講堂】DATABASE REPLAY加壓播放引數之SCALE_UP_MULTIPLIERDatabase
- 【新炬網路名師大講堂】RAC環境下SYSDATE返回錯誤時間
- 【新炬網路名師大講堂】不同資料庫取前幾條記錄資料庫
- 【新炬網路名師大講堂】MySQL複製與監控系列文章(1)——篇首MySql
- 【新炬網路名師大講堂】WAS控制檯資料來源資訊無故丟失
- 【新炬網路名師大講堂】有限條件下怎樣做好恢復演練
- 【新炬網路名師大講堂】理解TimesTen錯誤日誌資訊”waiting for latch”AI
- 【新炬網路名師大講堂】CBO中”與NULL在cardinality計算上的差別Null
- 【新炬網路名師大講堂】12c高可用新特性what-if command evaluation介紹
- 【新炬網路名師大講堂】TimesTen記憶體碎片(高水位)回收步驟詳解記憶體
- 【新炬網路名師大講堂】軟體測試中常見問題與解決辦法
- 【新炬網路大師講堂】CMMI/敏捷方法入門敏捷
- 【新炬網路名師大講堂】記一次打PSU遇到的Copy failed的問題AI
- 【新炬網路名師大講堂】讓業務飛起來,應用效能端到端最佳化
- 【新炬網路名師大講堂】11gR203 RAC一個比較嚴重的bug
- 【新炬網路名師大講堂】O2O同步實施涉及的變更V1.0