在Oracle企業管理服務器(OEMS)中提交作業通常會發生"VNI-2015:驗證錯誤"(如圖1)的失敗情況,本文提供該錯誤的解決辦法。

· 錯誤原因︰目標節點的操作系統用戶身份證明不正確,智能代理驗證並使用這個信息運行作業。
· 解決辦法︰因為作業在目標節點上運行,你的針對這個節點的首選身份證明(存儲在資料檔案庫內)就被用于訪問這個節點。因此只要你使用這個首選身份證明直接登錄到目標節點,就可以從控制台執行任意數量的任務(一個作業可有多個任務按任意順序組合)。在管理員首選身份證明頁中,設置正確的目標節點操作系統用戶身份證明。對于Windows NT用戶來說,智能代理所在節點的首選身份證明設置必須與設置為“作為批處理作業登錄”的Windows NT用戶相同。"作為批處理作業登錄"是Windows NT用戶的操作系統高級權限。
· 使作業系統可用的具體措施︰
為了使Oracle企業管理服務器(OEMS)管理員成功提交作業,必須執行下面幾個步驟︰
1、必須存在一個操作系統用戶帳戶,他具有高級用戶權限,即在管理員計劃提交作業的任何一個運行智能代理的節點機器上有“作為批處理作業登錄”權限。這只適用于智能代理運行在Windows NT 和 Windows 2000平台的情況。詳細的增加或編輯操作系統用戶帳戶的內容,請繼續往下看。
2、必須為所有將要有作業提交的節點設置首選身份證明,用于Windows NT 和 Windows 2000平台的首選身份證明必須和具有高級用戶權限"作為批處理作業登錄"的用戶帳戶相一致。
3、具有高級用戶權限的操作系統用戶帳戶必須具有ORACLE_HOME\NETWORK目錄的讀寫許可,同時具有TEMP目錄或ORACLE_HOME目錄的讀、寫、更新、刪除許可。
注意︰如果你沒有設置"作為批處理作業登錄"的權限,你在節點運行作業時將收到"用戶驗證失敗"的錯誤提示。
如果你即將提交作業的節點操作系統是Windows NT或Windows 2000,那麼你要新建或修改一個Windows NT或Windows 2000用戶帳戶。新建或修改用戶時選項“用戶下次登錄時必須更改密碼”不要選中,用戶名不能與“SYSTEM” 或"system"相同。下面步驟以Windows 2000為例︰
順序在菜單中選擇"開始"、"程序"、"附件"、"管理工具"、"本地安全策略",在"本地安全設置"窗口的左側欄目找到"安全設置"、"本地策略"、"用戶權利指派",在相應的右側欄目里找到"作為批處理作業登錄"策略項(如圖2)。

雙擊"作為批處理作業登錄"策略項,為域用戶"DOMAIN/caofei"定義策略設置(如圖3)。

下面配置Windows NT或Windows 2000域用戶為你的節點的智能代理用戶。這個Windows NT域用戶僅在主機是主域控制器(PDC)時才工作,否則,作業將失敗並提示錯誤信息"VNI-2015"。在所有的非主域控制器環境中,用戶帳戶必須是主機本地帳戶。在OEMS中選擇主菜單"配置"、"首選項",點擊"首選身份證明"選項卡,如圖4所示,設置缺省節點(同數據庫節點)的首選身份證明用戶為Windows NT用戶caofei。

如果你同時擁有相同名稱的本地用戶和域用戶,則本地用戶為首選。如果你正設置這個域用戶,就必須設置域用戶密碼與本地用戶密碼相同,這樣才能在當使用域用戶帳戶提交作業時成功規劃作業的運行。
作業成功運行後,會提示下列信息︰
|
在Sql*plus中提交作業與在OEMS中提交作業有如下區別︰
1、在DBA_JOBS視圖中查找不到在OEMS中提交並添加到庫中的作業,同樣,在OEMS的作業窗口中也不顯示DBA_JOBS視圖中的作業。OEMS中提交的作業在視圖SMP_VIEW_JOBS、SMP_VIEW_JOB_EXECUTIONS、SMP_VIEW_JOB_HISTORY、SMP_VIEW_JOB_STATUS、SMP_VIEW_AGENT_JOBS中存在記錄。
2、在Sql*plus中提交的作業不受OEMS中的諸多限制。
3、盡管作業在OEMS控制台提交,但作業腳本本身卻存儲在目標節點的智能代理中,作業的運行獨立于智能代理。
原因在于在OEMS中從規劃到完成作業順序發生下列步驟︰
1、從作業面板控制台,規劃針對一個或多個節點定做的相同類型的一個或多個任務。
2、OEMS在資料檔案庫中存儲作業信息並檢查目標節點是否運行。如果節點或它的智能代理已經停止,則OEMS把作業列入隊列。
3、一旦聯系上目標節點,OEMS就把作業提交給該節點上的智能代理。作業可以並發地提交到多個節點。
4、智能代理按計劃執行作業。
5、智能代理返回所有的作業相關信息到OEMS的與管理員訪問級別相對應的控制台如果,智能代理不能聯系到OEMS,則把作業相關信息列入隊列。
配置智能代理
在ORACLE_HOME\network\admin路徑下存儲著網絡配置文件,為智能代理生成兩個文件snmp_ro.ora和snmp_rw.ora。前一個文件為只讀,不必修改,只可以修改第二個文件。文件snmp_rw.ora中以"dbsnmpj"為前綴的選項為作業系統設置項。智能代理文件存儲在目錄ORACLE_HOME\network\agent中,所有被智能代理處理的作業和事件都位于此目錄下,文件以".q"為擴展名。智能代理自動發現的服務注冊在services.ora文件中。
發生錯誤"Could not fork or create job process. "或提示下列信息,則問題出在Windows NT下OEMS不能使用在多線程服務器(MTS)數據庫的資料檔案庫,應該使運行資料檔案庫的數據庫運行在獨佔服務器進程(dedicated server process)模式。
|

