?? oracle webserver
字號(hào):
作者:孤獨(dú)求敗
日期:00-1-14 3:57:45
當(dāng)Web Agent試圖判斷調(diào)用哪些過(guò)程,它將不能分辨二者并生成錯(cuò)誤。
這個(gè)限制受HTML-表格數(shù)據(jù)類型較少的影響,但不會(huì)有明顯的限制,PL/SQL類型VARCHAR2作為最大的PL/SQL數(shù)據(jù)類型,最大長(zhǎng)度限制為32767字節(jié)。值在存儲(chǔ)過(guò)程里被
顯式地轉(zhuǎn)換到NUMBER, DATE,或LONG。(使用TO_NUMBER或TO_DATE-LONG不需轉(zhuǎn)換)。
存取CGI環(huán)境變量
Oracle Web Listener遵守通用網(wǎng)關(guān)接口(CGI)1.1說(shuō)明書。因此,所有此說(shuō)明書包含
的CGI環(huán)境變量Oracle Web Listener都將傳遞給Web Agent。Web Agent也讓PL/SQL訪
問(wèn)所有的相關(guān)變量。
Web Agent有效的CGI環(huán)境變量見表3 - 2.
Variable 變量 Variable Meaning 變量意義
AUTH_TYPE Method used to validate user
校驗(yàn)用戶的類型。
GATEWAY_INTERFACE The revision of the CGI specification to which the server complies
服務(wù)器兼容的CGI說(shuō)明書的版本。
HTTP_USER_AGENT The browser the client is using to send the request
客戶端用來(lái)發(fā)送請(qǐng)求的瀏覽器。
PATH_INFO Extra path information given by the client
客戶端給出的額外的路徑信息。
PATH_TRANSLATED Translated version of PATH_INFO provided by server for mapping. This consists of the document root concatenated to the PATH_INFO.
服務(wù)器提供的映射用的PATH_INFO的翻譯版本。
REMOTE_HOST Hostname making the request if it can be determined
發(fā)出請(qǐng)求的主機(jī)名,如果它可以判斷的話
REMOTE_ADDR IP address of the remote host making the request
發(fā)出請(qǐng)求的遠(yuǎn)程主機(jī)IP地址
REMOTE_USER Used to authenticate user
用于鑒別用戶
REMOTE_IDENT Set to the remote username retrieved from the server
設(shè)置由服務(wù)器檢索出的遠(yuǎn)程用戶名
SERVER_PROTOCOL Name and revision of the information protocol used in the request
請(qǐng)求使用的信息協(xié)議的名稱和版本
SERVER_SOFTWARE Name and version of information server software answering the request
回答請(qǐng)求的信息服務(wù)器軟件的名稱和版本。
SERVER_NAME The server's hostname, or IP address
主機(jī)名或IP地址
SERVER_PORT Port number on which the server is running
服務(wù)器所運(yùn)行的端口
SCRIPT_NAME Virtual path to the script being executed, used for self-referencing URL
將執(zhí)行腳本的虛擬路徑,用于自引用URL。
表 3 - 2. CGI 環(huán)境變量
這些環(huán)境變量可在PL/SQL里用函數(shù)owa_util.get_cgi_env獲得。參見,"The Oracle WebServer Developer's Toolkit".
Oracle Web Agent 錯(cuò)誤處理
Oracle Web Agent處理的錯(cuò)誤有兩種:
application errors 應(yīng)用錯(cuò)誤
system errors 系統(tǒng)錯(cuò)誤
應(yīng)用錯(cuò)誤
應(yīng)用錯(cuò)誤特指PL/SQL應(yīng)用。程序員寫的所有應(yīng)用在生成相應(yīng)輸出的PL/SQL過(guò)程中應(yīng)包
括他們的例外處理。
因?yàn)镺racle Web Agent不讀HTML輸出來(lái)判斷它的內(nèi)容,所以錯(cuò)誤處理是透明的。Web
Agent 所關(guān)心的是是否PL/SQL生成HTML輸出,操作是否成功。用戶必須知道如何處理
PL/SQL過(guò)程的例外信息。
系統(tǒng)錯(cuò)誤
系統(tǒng)錯(cuò)誤是由Oracle Web Agent自己檢測(cè)到的。這些錯(cuò)誤當(dāng)Web Agent不能啟動(dòng)PL/SQL
過(guò)程,或有存儲(chǔ)過(guò)程未處理的PL/SQL例外,導(dǎo)致例外作為一個(gè)系統(tǒng)錯(cuò)誤傳播給Web
Agent時(shí)發(fā)生。這導(dǎo)致一個(gè)標(biāo)準(zhǔn)HTML錯(cuò)誤文檔被返給瀏覽器。
例如,如果Oracle Web gent不能連接到Oracle7服務(wù)器,PL/SQL過(guò)程不能運(yùn)行,發(fā)生
一個(gè)系統(tǒng)錯(cuò)誤。Web Agent有HTTP服務(wù)器返回一個(gè)缺省報(bào)錯(cuò)頁(yè)面到瀏覽器,或者返回
一個(gè)用戶化的HTML報(bào)錯(cuò)頁(yè)面(如果在配置Web Agent服務(wù)時(shí)指定了OWA_ERR_PAGE
參數(shù)的話)。
Web Agent 如何知道生成什么報(bào)錯(cuò)頁(yè)面
Web Agent檢查OWA服務(wù)的配置的報(bào)錯(cuò)頁(yè)面字段。如果在那里發(fā)現(xiàn)了值,Web Agent即
在文件系統(tǒng)中尋找指定的頁(yè)面。如果發(fā)現(xiàn),頁(yè)面被返回到Web客戶端。如果尋找失敗,
缺省的報(bào)錯(cuò)信息被返回到Web客戶端。
Creating Error Pages建立報(bào)錯(cuò)頁(yè)面
Oracle WebServer允許管理員建立自定義的報(bào)錯(cuò)頁(yè)面,用于一旦Web Agent遇到系統(tǒng)錯(cuò)誤
就返回該頁(yè)。自定義報(bào)錯(cuò)頁(yè)面的目的是告訴用戶采取什么動(dòng)作。
當(dāng)Web Agent遇到系統(tǒng)錯(cuò)誤時(shí),每個(gè)服務(wù)只能返回一個(gè)自定義報(bào)錯(cuò)頁(yè)面。
用任何你喜歡的文本或HTML編輯器來(lái)建立自定義的HTML報(bào)錯(cuò)頁(yè)面。
以下是一個(gè)用戶自定義的系統(tǒng)錯(cuò)誤的HTML報(bào)錯(cuò)頁(yè)面的例子:
<HTML>
<HEAD>
<TITLE>ERROR</TITLE>
</HEAD>
<BODY>
<HR>
<H1>Your Request Failed</H1>
<HR>
Bob's Big Bulldozer Company could not process your request. Please try again later, or call us at 1-800-TRACTOR.
Thanks, Bob
</BODY>
</HTML>
自定義的HTML報(bào)錯(cuò)頁(yè)面建立以后,Web Agent服務(wù)配置文件里的OWA error page項(xiàng)必須
反映新HTML報(bào)錯(cuò)頁(yè)面的存儲(chǔ)位置。使用Web Service管理頁(yè)面來(lái)插入或更改OWA error
page項(xiàng)。
必須為自定義的HTML報(bào)錯(cuò)頁(yè)面指定完全路徑。如果未指定路徑,Web Agent將在Web
Agent執(zhí)行程序的目錄下尋找。
詳細(xì)信息見"建立和維護(hù)Web Agent 服務(wù),", "Oracle WebServer管理工具"。
Error Log File 出錯(cuò)日志文件
Oracle Web Agent保留了一個(gè)由OWA服務(wù)名和該服務(wù)的OWA Log目錄值定義的錯(cuò)誤
日志文件。文件名為service_name.err。一旦Oracle Web Agent遇到一個(gè)錯(cuò)誤,此文
件中便增加一項(xiàng)。此錯(cuò)誤日志記錄了所有相關(guān)信息,例如日期,錯(cuò)誤號(hào)和URL。
記住,每個(gè)Web Agent服務(wù)只有一個(gè)錯(cuò)誤日志。然而如果Web Agent不能得出服務(wù)的名
字,又未配置OWA_DEFAULT_SERVICE,則將錯(cuò)誤寫入缺省日志目錄下的OWA.err文
件中。
下面是一個(gè)錯(cuò)誤日志的例子,以及文件中每一行的相應(yīng)的意義:
Wed Jun 28 08:14:27 1995 /*時(shí)間戳*/
OWS-05100: Agent : unable to connect due to Oracle error 1017
ORA-01017: invalid username/password; logon denied /*錯(cuò)誤棧*/
OWA SERVICE: HR /*Web Agent Service*/
PROCEDURE: hrinfo.emp /*調(diào)用的PL/SQL過(guò)程*/
PARAMETERS: /*過(guò)程使用的參數(shù)*/
============
ENAME:
RayBorque
Oracle Web Agent 版本號(hào)
找出什么版本的Oracle Web Agent 安裝在你的操作系統(tǒng),可用以下過(guò)程:
在命令行輸入: (僅UNIX)
$ORACLE_HOME/ows/bin/owa -v
命令將返回如下結(jié)果(你的結(jié)果可能不同):
Oracle Web Agent Release 1.0.0.0.0
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -