




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、異常的優(yōu)點(diǎn)如果沒有異常,在程序中,應(yīng)當(dāng)檢查每個(gè)命令的成功還是失敗,如BEGINSELECT .- check for no data found errorSELECT .- check for no data found errorSELECT .- check for no data found error這種實(shí)現(xiàn)的方法缺點(diǎn)在于錯(cuò)誤處理沒有與正常處理分開,可讀性差,使用異常,可以方便處理錯(cuò)誤,而且異常處理程序與正常的事務(wù)邏輯分開,提高了可讀性,如BEGINSELECT .SELECT .SELECT .EXCEPTIONWHEN NO_DATA_FOUND THEN - catches
2、 all no data found errors2、異常的分類有兩種類型的異常,一種為內(nèi)部異常,一種為用戶自定義異常,內(nèi)部異常是執(zhí)行期間返回到PL/SQL塊的ORACLE錯(cuò)誤或由PL/SQL代碼的某操作引起的錯(cuò)誤,如除數(shù)為零或內(nèi)存溢出的情況。用戶自定義異常由開發(fā)者顯示定義,在PL/SQL塊中傳遞信息以控制對(duì)于應(yīng)用的錯(cuò)誤處理。每當(dāng)PL/SQL違背了ORACLE原則或超越了系統(tǒng)依賴的原則就會(huì)隱式的產(chǎn)生內(nèi)部異常。因?yàn)槊總€(gè)ORACLE錯(cuò)誤都有一個(gè)號(hào)碼并且在PL/SQL中異常通過名字處理,ORACLE提供了預(yù)定義的內(nèi)部異常。如SELECT INTO 語句不返回行時(shí)產(chǎn)生的ORACLE異常NO_DATA_
3、FOUND。對(duì)于預(yù)定義異常,現(xiàn)將最常用的異常列舉如下:exceptionoracleerror sqlcode value conditionno_data_found ora-01403 +100 select into 語句沒有符合條件的記錄返回too_many_rows ora-01422 -1422 select into 語句符合條件的記錄有多條返回dup_val_on_index ora-00001 -1 對(duì)于數(shù)據(jù)庫表中的某一列,該列已經(jīng)被限制為唯一索引,程序試圖存儲(chǔ)兩個(gè)重復(fù)的值value_error ora-06502 -6502 在轉(zhuǎn)換字符類型,截取或長(zhǎng)度受限時(shí),會(huì)發(fā)生該異常,
4、如一個(gè)字符分配給一個(gè)變量,而該變量聲明的長(zhǎng)度比該字符短,就會(huì)引發(fā)該異常storage_error ora-06500 -6500 內(nèi)存溢出zero_divide ora-01476 -1476 除數(shù)為零case_not_found ora-06592 -6530 對(duì)于選擇case語句,沒有與之相匹配的條件,同時(shí),也沒有else語句捕獲其他的條件cursor_already_open ora-06511 -6511 程序試圖打開一個(gè)已經(jīng)打開的游標(biāo)timeout_on_resource ora-00051 -51 系統(tǒng)在等待某一資源,時(shí)間超時(shí)如果要處理未命名的內(nèi)部異常,必須使用OTHERS異常處理
5、器或PRAGMA EXCEPTION_INIT 。PRAGMA由編譯器控制,或者是對(duì)于編譯器的注釋。PRAGMA在編譯時(shí)處理,而不是在運(yùn)行時(shí)處理。EXCEPTION_INIT告訴編譯器將異常名與ORACLE錯(cuò)誤碼結(jié)合起來,這樣可以通過名字引用任意的內(nèi)部異常,并且可以通過名字為異常編寫一適當(dāng)?shù)漠惓L幚砥?。在子程序中使用EXCEPTION_INIT的語法如下:PRAGMA EXCEPTION_INIT(exception_name, -Oracle_error_number);在該語法中,異常名是聲明的異常,下例是其用法:DECLAREdeadlock_detected EXCEPTION;PRA
6、GMA EXCEPTION_INIT(deadlock_detected, -60);BEGIN. - Some operation that causes an ORA-00060 errorEXCEPTIONWHEN deadlock_detected THEN- handle the errorEND;對(duì)于用戶自定義異常,只能在PL/SQL塊中的聲明部分聲明異常,異常的名字由EXCEPTION關(guān)鍵字引入:reserved_loaned Exception產(chǎn)生異常后,控制傳給了子程序的異常部分,將異常轉(zhuǎn)向各自異常控制塊,必須在代碼中使用如下的結(jié)構(gòu)處理錯(cuò)誤:ExceptionWhen exc
7、eption1 thenSequence of statements;When exception2 thenSequence of statements;When others then3、異常的拋出由三種方式拋出異常1 通過PL/SQL運(yùn)行時(shí)引擎2. 使用RAISE語句3. 調(diào)用RAISE_APPLICATION_ERROR存儲(chǔ)過程當(dāng)數(shù)據(jù)庫或PL/SQL在運(yùn)行時(shí)發(fā)生錯(cuò)誤時(shí),一個(gè)異常被PL/SQL運(yùn)行時(shí)引擎自動(dòng)拋出。異常也可以通過RAISE語句拋出RAISEexception_name;顯式拋出異常是程序員處理聲明的異常的習(xí)慣用法,但RAISE不限于聲明了的異常,它可以拋出任何任何異常。例如
8、,你希望用TIMEOUT_ON_RESOURCE錯(cuò)誤檢測(cè)新的運(yùn)行時(shí)異常處理器,你只需簡(jiǎn)單的在程序中使用下面的語句:RAISETIMEOUT_ON_RESOUCE;比如下面一個(gè)訂單輸入的例子,若當(dāng)訂單小于庫存數(shù)量,則拋出異常,并且捕獲該異常,處理異常DECLAREinventory_too_low EXCEPTION;-其他聲明語句BEGINIF order_rec.qtyinventory_rec.qty THENRAISEinventory_too_low;END IFEXCEPTIONWHEN inventory_too_low THENorder_rec.staus:=backorder
9、ed;END;RAISE_APPLICATION_ERROR內(nèi)建函數(shù)用于拋出一個(gè)異常并給異常賦予一個(gè)錯(cuò)誤號(hào)以及錯(cuò)誤信息。自定義異常的缺省錯(cuò)誤號(hào)是+1,缺省信息是User_Defined_Exception。RAISE_APPLICATION_ERROR函數(shù)能夠在pl/sql程序塊的執(zhí)行部分和異常部分調(diào)用,顯式拋出帶特殊錯(cuò)誤號(hào)的命名異常。 Raise_application_error(error_number,message,true,false)錯(cuò)誤號(hào)的范圍是-20,000到-20,999。錯(cuò)誤信息是文本字符串,最多為2048字節(jié)。TRUE和FALSE表示是添加(TRUE)進(jìn)錯(cuò)誤堆(ERRO
10、R STACK)還是覆蓋(overwrite)錯(cuò)誤堆(FALSE)。缺省情況下是FALSE。如下代碼所示:IF product_not_found THENRAISE_APPLICATION_ERROR(-20123,Invald product code TRUE);END IF;4、異常的處理PL/SQL程序塊的異常部分包含了程序處理錯(cuò)誤的代碼,當(dāng)異常被拋出時(shí),一個(gè)異常陷阱就自動(dòng)發(fā)生,程序控制離開執(zhí)行部分轉(zhuǎn)入異常部分,一旦程序進(jìn)入異常部分就不能再回到同一塊的執(zhí)行部分。下面是異常部分的一般語法:EXCEPTIONWHEN exception_name THENCode for handing
11、 exception_nameWHEN another_exception THENCode for handing another_exceptionWHEN others THENcode for handing any other exception.用戶必須在獨(dú)立的WHEN子串中為每個(gè)異常設(shè)計(jì)異常處理代碼,WHEN OTHERS子串必須放置在最后面作為缺省處理器處理沒有顯式處理的異常。當(dāng)異常發(fā)生時(shí),控制轉(zhuǎn)到異常部分,ORACLE查找當(dāng)前異常相應(yīng)的WHEN.THEN語句,捕捉異常,THEN之后的代碼被執(zhí)行,如果錯(cuò)誤陷阱代碼只是退出相應(yīng)的嵌套塊,那么程序?qū)⒗^續(xù)執(zhí)行內(nèi)部塊END后面的語句。如
12、果沒有找到相應(yīng)的異常陷阱,那么將執(zhí)行WHEN OTHERS。在異常部分WHEN 子串沒有數(shù)量限制。EXCEPTIONWHEN inventory_too_low THENorder_rec.staus:=backordered;replenish_inventory(inventory_nbr=inventory_rec.sku,min_amount=order_rec.qty-inventory_rec.qty);WHEN discontinued_item THEN-code for discontinued_item processingWHEN zero_divide THEN-cod
13、e for zero_divideWHEN OTHERS THEN-code for any other exceptionEND;當(dāng)異常拋出后,控制無條件轉(zhuǎn)到異常部分,這就意味著控制不能回到異常發(fā)生的位置,當(dāng)異常被處理和解決后,控制返回到上一層執(zhí)行部分的下一條語句。BEGINDECLAREbad_credit exception;BEGINRAISEbad_credit;-發(fā)生異常,控制轉(zhuǎn)向;EXCEPTIONWHEN bad_credit THENdbms_output.put_line(bad_credit);END;-bad_credit異常處理后,控制轉(zhuǎn)到這里EXCEPTIONWHE
14、N OTHERS THEN-控制不會(huì)從bad_credit異常轉(zhuǎn)到這里-因?yàn)閎ad_credit已被處理END;當(dāng)異常發(fā)生時(shí),在塊的內(nèi)部沒有該異常處理器時(shí),控制將轉(zhuǎn)到或傳播到上一層塊的異常處理部分。BEGINDECLARE -內(nèi)部塊開始bad_credit exception;BEGINRAISEbad_credit;-發(fā)生異常,控制轉(zhuǎn)向;EXCEPTIONWHEN ZERO_DIVIDE THEN -不能處理bad_credite異常dbms_output.put_line(divide by zero error);END -結(jié)束內(nèi)部塊-控制不能到達(dá)這里,因?yàn)楫惓]有解決;-異常部分EXC
15、EPTIONWHEN OTHERS THEN-由于bad_credit沒有解決,控制將轉(zhuǎn)到這里END;5、異常的傳播沒有處理的異常將沿檢測(cè)異常調(diào)用程序傳播到外面,當(dāng)異常被處理并解決或到達(dá)程序最外層傳播停止。在聲明部分拋出的異常將控制轉(zhuǎn)到上一層的異常部分。BEGINexecutable statementsBEGINtoday DATE:=SYADATE; -ERRRORBEGIN -內(nèi)部塊開始dbms_output.put_line(this line will not execute);EXCEPTIONWHEN OTHERS THEN-異常不會(huì)在這里處理END;-內(nèi)部塊結(jié)束EXCEPTIO
16、NWHEN OTHERS THEN處理異常END-處理oracle系統(tǒng)自動(dòng)生成系統(tǒng)異常外,可以使用raise來手動(dòng)生成錯(cuò)誤。lRaise exception;lRaise package.exception;lRaise;以上是raise的三種使用方法。第一種用于生成當(dāng)前程序中定義的異?;蛟趕tandard中的系統(tǒng)異常。DeclareInvalid_id exception;Id_values varchar(2);BeginId_value:=id_for(smith);If substr(id_value,1,1)!=xThenRaise invalid_id;End if;Excepti
17、onWhen invalid_idThenDbms_output.put_line(this is an invalid id!);End;這是一個(gè)生成自定義異常的例子,當(dāng)然也可以生成系統(tǒng)異常:declareemployee_id_in number;BeginSelect employee_id into employee_id_in from employ_list where employee_name=&n;If employee_id_in=0ThenRaise zero_devided;End if;ExceptionWhen zero_devidedThenDbms_output
18、.put_line(wrong!);End;有一些異常是定義在非標(biāo)準(zhǔn)包中的,如UTL_FILE,DBMS_SQL以及程序員創(chuàng)建的包中異常??梢允褂胷aise的第二種用法來生成異常。If day_overdue(isbn_in, browser_in) 365ThenRaise overdue_pkg.book_is_lostEnd if;在最后一種raise的形式中,不帶任何參數(shù)。這種情況只出現(xiàn)在希望將當(dāng)前的異常傳到外部程序時(shí)。ExceptionWhen no_data_foundThenRaise;End;Pl.sql使用raise_application_error過程來生成一個(gè)有具體描述
19、的異常。當(dāng)使用這個(gè)過程時(shí),當(dāng)前程序被中止,輸入輸出參數(shù)被置為原先的值,但任何DML對(duì)數(shù)據(jù)庫所做的改動(dòng)將被保留,可以在之后用rollback命令回滾。下面是該過程的原型:Procedure raise_application_error(Num binary_integer;Msg varchar2;Keeperrorstack Boolean default false)其中num是在-20999到-20000之間的任何數(shù)字(但事實(shí)上,DBMS_OUPUT和DBMS_DESCRIBLE包使用了-20005到-20000的數(shù)字);msg是小于2K個(gè)字符的描述語,任何大于2K的字符都將被自動(dòng)丟棄;
20、keeperrorstack默認(rèn)為false,是指清空異常棧,再將當(dāng)前異常入棧,如果指定true的話就直接將當(dāng)前異常壓入棧中。CREATE OR REPLACE PROCEDURE raise_by_language (code_in IN PLS_INTEGER)ISl_message error_table.error_string%TYPE;BEGINSELECT error_stringINTO l_messageFROM error_table, v$nls_parameters vWHERE error_number = code_inAND string_language= v.
21、VALUEAND v.parameter = NLS_LANGUAGE;RAISE_APPLICATION_ERROR (code_in, l_message);END;ORACL內(nèi)部異常:ORA-00001: 違反唯一約束條件 (.)ORA-00017: 請(qǐng)求會(huì)話以設(shè)置跟蹤事件ORA-00018: 超出最大會(huì)話數(shù)ORA-00019: 超出最大會(huì)話許可數(shù)ORA-00020: 超出最大進(jìn)程數(shù) ()ORA-00021: 會(huì)話附屬于其它某些進(jìn)程;無法轉(zhuǎn)換會(huì)話ORA-00022: 無效的會(huì)話 ID;訪問被拒絕ORA-00023: 會(huì)話引用進(jìn)程私用內(nèi)存;無法分離會(huì)話ORA-00024: 單一進(jìn)程模式下不
22、允許從多個(gè)進(jìn)程注冊(cè)O(shè)RA-00025: 無法分配ORA-00026: 丟失或無效的會(huì)話 IDORA-00027: 無法刪去當(dāng)前會(huì)話ORA-00028: 您的會(huì)話己被刪去ORA-00029: 會(huì)話不是用戶會(huì)話ORA-00030: 用戶會(huì)話 ID 不存在。ORA-00031: 標(biāo)記要?jiǎng)h去的會(huì)話ORA-00032: 無效的會(huì)話移植口令ORA-00033: 當(dāng)前的會(huì)話具有空的移植口令ORA-00034: 無法在當(dāng)前 PL/SQL 會(huì)話中ORA-00035: LICENSE_MAX_USERS 不能小于當(dāng)前用戶數(shù)ORA-00036: 超過遞歸 SQL () 級(jí)的最大值ORA-00037: 無法轉(zhuǎn)換到屬于
23、不同服務(wù)器組的會(huì)話ORA-00038: 無法創(chuàng)建會(huì)話: 服務(wù)器組屬于其它用戶ORA-00050: 獲取入隊(duì)時(shí)操作系統(tǒng)出錯(cuò)ORA-00051: 等待資源超時(shí)ORA-00052: 超出最大入隊(duì)資源數(shù) ()ORA-00053: 超出最大入隊(duì)數(shù)ORA-00054: 資源正忙,要求指定 NOWAITORA-00055: 超出 DML 鎖的最大數(shù)ORA-00056: 對(duì)象 . 上的 DDL 鎖以不兼容模式掛起ORA-00057: 超出臨時(shí)表鎖的最大數(shù)ORA-00058: DB_BLOCK_SIZE 必須為才可安裝此數(shù)據(jù)庫 (非 )ORA-00059: 超出 DB_FILES 的最大值ORA-00060:
24、等待資源時(shí)檢測(cè)到死鎖ORA-00061: 另一個(gè)例程設(shè)置了不同的 DML_LOCKSORA-00062: 無法獲得 DML 全表鎖定;DML_LOCKS 為 0ORA-00063: 超出 LOG_FILES 的最大數(shù)ORA-00064: 對(duì)象過大以至無法分配在此 O/S (,)ORA-00065: FIXED_DATE 的初始化失敗ORA-00066: LOG_FILES 為 但需要成為 才可兼容ORA-00067: 值 對(duì)參數(shù) 無效;至少必須為ORA-00068: 值 對(duì)參數(shù) 無效,必須在 和 之間ORA-00069: 無法獲得鎖定 - 禁用了表鎖定ORA-00070: 命令無效ORA-00
25、071: 進(jìn)程號(hào)必須介于 1 和 之間ORA-00072: 進(jìn)程不活動(dòng)ORA-00073: 命令 介于 和 個(gè)參數(shù)之間時(shí)使用ORA-00074: 未指定進(jìn)程ORA-00075: 在此例程未找到進(jìn)程 ORA-00076: 未找到轉(zhuǎn)儲(chǔ)ORA-00077: 轉(zhuǎn)儲(chǔ) 無效ORA-00078: 無法按名稱轉(zhuǎn)儲(chǔ)變量ORA-00079: 未找到變量ORA-00080: 層次 指定的全局區(qū)域無效ORA-00081: 地址范圍 ,) 不可讀ORA-00082: 的內(nèi)存大小不在有效集合 1, 2, 4 之內(nèi)ORA-00083: 警告: 可能損壞映射的 SGAORA-00084: 全局區(qū)域必須為 PGA, SGA 或
26、 UGAORA-00085: 當(dāng)前調(diào)用不存在ORA-00086: 用戶調(diào)用不存在ORA-00087: 命令無法在遠(yuǎn)程例程上執(zhí)行ORA-00088: 共享服務(wù)器無法執(zhí)行命令ORA-00089: ORADEBUG 命令中無效的例程號(hào)ORA-00090: 未能將內(nèi)存分配給群集數(shù)據(jù)庫 ORADEBUG 命令ORA-00091: LARGE_POOL_SIZE 至少必須為ORA-00092: LARGE_POOL_SIZE 必須大于 LARGE_POOL_MIN_ALLOCORA-00093: 必須介于 和 之間ORA-00094: 要求整數(shù)值ORA-00096: 值 對(duì)參數(shù) 無效,它必須來自 之間OR
27、A-00097: 使用 Oracle SQL 特性不在 SQL92 級(jí)中ORA-00099: 等待資源時(shí)發(fā)生超時(shí),可能是 PDML 死鎖所致ORA-00100: 未找到數(shù)據(jù)ORA-00101: 系統(tǒng)參數(shù) DISPATCHERS 的說明無效ORA-00102: 調(diào)度程序無法使用網(wǎng)絡(luò)協(xié)議ORA-00103: 無效的網(wǎng)絡(luò)協(xié)議;供調(diào)度程序備用ORA-00104: 檢測(cè)到死鎖;全部公用服務(wù)器已鎖定等待資源ORA-00105: 未配置網(wǎng)絡(luò)協(xié)議 的調(diào)度機(jī)制ORA-00106: 無法在連接到調(diào)度程序時(shí)啟動(dòng)/關(guān)閉數(shù)據(jù)庫ORA-00107: 無法連接到 ORACLE 監(jiān)聽器進(jìn)程ORA-00108: 無法設(shè)置調(diào)度程
28、序以同步進(jìn)行連接ORA-00111: 由于服務(wù)器數(shù)目限制在 , 所以沒有啟動(dòng)所有服務(wù)器ORA-00112: 僅能創(chuàng)建多達(dá) (最多指定) 個(gè)調(diào)度程序ORA-00113: 協(xié)議名 過長(zhǎng)ORA-00114: 缺少系統(tǒng)參數(shù) SERVICE_NAMES 的值ORA-00115: 連接被拒絕;調(diào)度程序連接表已滿ORA-00116: SERVICE_NAMES 名過長(zhǎng)ORA-00117: 系統(tǒng)參數(shù) SERVICE_NAMES 的值超出范圍ORA-00118: 系統(tǒng)參數(shù) DISPATCHERS 的值超出范圍ORA-00119: 系統(tǒng)參數(shù) 的說明無效ORA-00120: 未啟用或安裝調(diào)度機(jī)制ORA-00121:
29、 在缺少 DISPATCHERS 的情況下指定了 SHARED_SERVERSORA-00122: 無法初始化網(wǎng)絡(luò)配置ORA-00123: 空閑公用服務(wù)器終止ORA-00124: 在缺少 MAX_SHARED_SERVERS 的情況下指定了 DISPATCHERSORA-00125: 連接被拒絕;無效的演示文稿ORA-00126: 連接被拒絕;無效的重復(fù)ORA-00127: 調(diào)度進(jìn)程 不存在ORA-00128: 此命令需要調(diào)度進(jìn)程名ORA-00129: 監(jiān)聽程序地址驗(yàn)證失敗 ORA-00130: 監(jiān)聽程序地址 無效ORA-00131: 網(wǎng)絡(luò)協(xié)議不支持注冊(cè) ORA-00132: 語法錯(cuò)誤或無法解
30、析的網(wǎng)絡(luò)名稱 ORA-00150: 重復(fù)的事務(wù)處理 IDORA-00151: 無效的事務(wù)處理 IDORA-00152: 當(dāng)前會(huì)話與請(qǐng)求的會(huì)話不匹配ORA-00153: XA 庫中的內(nèi)部錯(cuò)誤ORA-00154: 事務(wù)處理監(jiān)視器中的協(xié)議錯(cuò)誤ORA-00155: 無法在全局事務(wù)處理之外執(zhí)行工作ORA-00160: 全局事務(wù)處理長(zhǎng)度 超出了最大值 ()ORA-00161: 事務(wù)處理的分支長(zhǎng)度 非法 (允許的最大長(zhǎng)度為 )ORA-00162: 外部 dbid 的長(zhǎng)度 超出了最大值 ()ORA-00163: 內(nèi)部數(shù)據(jù)庫名長(zhǎng)度 超出了最大值 ()ORA-00164: 在分布式事務(wù)處理中不允許獨(dú)立的事務(wù)處理O
31、RA-00165: 不允許對(duì)遠(yuǎn)程操作進(jìn)行可移植分布式自治轉(zhuǎn)換ORA-00200: 無法創(chuàng)建控制文件ORA-00201: 控制文件版本 與 ORACLE 版本 不兼容ORA-00202: 控制文件: ORA-00203: 使用錯(cuò)誤的控制文件ORA-00204: 讀控制文件時(shí)出錯(cuò) (塊 ,# 塊 )ORA-00205: 標(biāo)識(shí)控制文件出錯(cuò),有關(guān)詳情,請(qǐng)檢查警告日志ORA-00206: 寫控制文件時(shí)出錯(cuò) (塊 ,# 塊 )ORA-00207: 控制文件不能用于同一數(shù)據(jù)庫ORA-00208: 控制文件的名稱數(shù)超出限制ORA-00209: 控制文件塊大小不匹配,有關(guān)詳情,請(qǐng)檢查警告日志ORA-00210:
32、 無法打開指定的控制文件ORA-00211: 控制文件與先前的控制文件不匹配ORA-00212: 塊大小 低于要求的最小大小 ( 字節(jié))ORA-00213: 不能重新使用控制文件;原文件大小為 ,還需ORA-00214: 控制文件 版本 與文件 版本 不一致ORA-00215: 必須至少存在一個(gè)控制文件ORA-00216: 無法重新調(diào)整從 8.0.2 移植的控制文件大小ORA-00217: 從 9.0.1 進(jìn)行移植無法重新調(diào)整控制文件的大小ORA-00218: 控制文件的塊大小 與 DB_BLOCK_SIZE () 不匹配ORA-00219: 要求的控制文件大小 超出了允許的最大值ORA-00
33、220: 第一個(gè)例程未安裝控制文件,有關(guān)詳情,請(qǐng)檢查警告日志ORA-00221: 寫入控制文件出錯(cuò)ORA-00222: 操作將重新使用當(dāng)前已安裝控制文件的名稱ORA-00223: 轉(zhuǎn)換文件無效或版本不正確ORA-00224: 控制文件重設(shè)大小嘗試使用非法記錄類型 ()ORA-00225: 控制文件的預(yù)期大小 與實(shí)際大小 不同ORA-00226: 備用控制文件打開時(shí)不允許進(jìn)行操作ORA-00227: 控制文件中檢測(cè)到損壞的塊: (塊 ,# 塊 )ORA-00228: 備用控制文件名長(zhǎng)度超出了最大長(zhǎng)度ORA-00229: 操作不允許: 已掛起快照控制文件入隊(duì)ORA-00230: 操作不允許: 無法
34、使用快照控制文件入隊(duì)ORA-00231: 快照控制文件未命名ORA-00232: 快照控制文件不存在, 已損壞或無法讀取ORA-00233: 控制文件副本已損壞或無法讀取ORA-00234: 標(biāo)識(shí)或打開快照或復(fù)制控制文件時(shí)出錯(cuò)ORA-00235: 控制文件固定表因并發(fā)更新而不一致ORA-00236: 快照操作不允許: 掛上的控制文件為備份文件ORA-00237: 快照操作不允許: 控制文件新近創(chuàng)建ORA-00238: 操作將重用屬于數(shù)據(jù)庫一部分的文件名ORA-00250: 未啟動(dòng)存檔器ORA-00251: LOG_ARCHIVE_DUPLEX_DEST 不能是與字符串 相同的目的地ORA-00
35、252: 日志 在線程 上為空,無法存檔ORA-00253: 字符限制在 以內(nèi),歸檔目的字符串 超出此限制ORA-00254: 存檔控制字符串 時(shí)出錯(cuò)ORA-00255: 存檔日志 (線程 , 序列 # ) 時(shí)出錯(cuò)ORA-00256: 無法翻譯歸檔目的字符串ORA-00257: 存檔器錯(cuò)誤。在釋放之前僅限于內(nèi)部連接ORA-00258: NOARCHIVELOG 模式下的人工存檔必須標(biāo)識(shí)日志ORA-00259: 日志 (打開線程 ) 為當(dāng)前日志,無法存檔ORA-00260: 無法找到聯(lián)機(jī)日志序列 (線程 )ORA-00261: 正在存檔或修改日志 (線程 )ORA-00262: 當(dāng)前日志 (關(guān)閉
36、線程 ) 無法切換ORA-00263: 線程 沒有需要存檔的記錄ORA-00264: 不要求恢復(fù)ORA-00265: 要求例程恢復(fù),無法設(shè)置 ARCHIVELOG 模式ORA-00266: 需要存檔日志文件名ORA-00267: 無需存檔日志文件名ORA-00268: 指定的日志文件不存在 ORA-00269: 指定的日志文件為線程 的一部分 (非 )ORA-00270: 創(chuàng)建存檔日志 時(shí)出錯(cuò)ORA-00271: 沒有需要存檔的日志ORA-00272: 寫存檔日志 時(shí)出錯(cuò)ORA-00273: 未記錄的直接加載數(shù)據(jù)的介質(zhì)恢復(fù)ORA-00274: 非法恢復(fù)選項(xiàng)ORA-00275: 已經(jīng)開始介質(zhì)恢復(fù)
37、ORA-00276: CHANGE 關(guān)鍵字已指定但未給出更改編號(hào)ORA-00277: UNTIL 恢復(fù)標(biāo)志 的非法選項(xiàng)ORA-00278: 此恢復(fù)不再需要日志文件 ORA-00279: 更改 (在 生成) 對(duì)于線程 是必需的ORA-00280: 更改 對(duì)于線程 是按序列 # 進(jìn)行的ORA-00281: 不能使用調(diào)度進(jìn)程執(zhí)行介質(zhì)恢復(fù)ORA-00282: UPI 調(diào)用不被支持,請(qǐng)使用 ALTER DATABASE RECOVERORA-00283: 恢復(fù)會(huì)話因錯(cuò)誤而取消ORA-00284: 恢復(fù)會(huì)話仍在進(jìn)行ORA-00285: TIME 未作為字符串常數(shù)給出ORA-00286: 無可用成員,或成員
38、無有效數(shù)據(jù)ORA-00287: 未找到指定的更改編號(hào) (在線程 中)ORA-00288: 要繼續(xù)恢復(fù),請(qǐng)鍵入 ALTER DATABASE RECOVER CONTINUEORA-00289: 建議:ORA-00290: 操作系統(tǒng)出現(xiàn)存檔錯(cuò)誤。請(qǐng)參閱下面的錯(cuò)誤ORA-00291: PARALLEL 選項(xiàng)要求數(shù)字值ORA-00292: 未安裝并行恢復(fù)功能ORA-00293: 控制文件與重做日志不同步ORA-00294: 無效的存檔日志格式標(biāo)識(shí) ORA-00295: 數(shù)據(jù)文件號(hào) 無效,必須介于 1 與 之間ORA-00296: 已超出 RECOVER DATAFILE LIST 的最大文件數(shù) ()
39、ORA-00297: 必須在 RECOVER DATAFILE START 之前指定 RECOVER DATAFILE LISTORA-00298: 丟失或無效的 TIMEOUT 間隔ORA-00299: 必須在數(shù)據(jù)文件 上使用文件級(jí)介質(zhì)恢復(fù)ORA-00300: 指定的重做日志塊大小 非法 - 超出限制ORA-00301: 添加日志文件 時(shí)出錯(cuò) - 無法創(chuàng)建文件ORA-00302: 日志超出限制ORA-00303: 無法處理多次中斷的重做ORA-00304: 請(qǐng)求的 INSTANCE_NUMBER 在使用中ORA-00305: 日志 (線程 ) 不一致;屬于另一個(gè)數(shù)據(jù)庫ORA-00306: 此
40、數(shù)據(jù)庫中的例程限制ORA-00307: 請(qǐng)求的 INSTANCE_NUMBER 超出限制,最大為ORA-00308: 無法打開存檔日志 ORA-00309: 日志屬于錯(cuò)誤的數(shù)據(jù)庫ORA-00310: 存檔日志包含序列 ;要求序列ORA-00311: 無法從存檔日志讀取標(biāo)題ORA-00312: 聯(lián)機(jī)日志 線程 : ORA-00313: 無法打開日志組 (線程 ) 的成員ORA-00314: 日志 (線程 ),預(yù)計(jì)序號(hào) 與 不匹配ORA-00315: 日志 (線程 ),標(biāo)題中的線程 # 錯(cuò)誤ORA-00316: 日志 (線程 ),標(biāo)題中的類型 不是日志文件ORA-00317: 標(biāo)題中的文件類型 不
41、是日志文件ORA-00318: 日志 (線程 ),預(yù)計(jì)文件大小 與 不匹配ORA-00319: 日志 (線程 ) 具有錯(cuò)誤的日志重置狀態(tài)ORA-00320: 無法從日志 (線程 ) 讀取文件標(biāo)題ORA-00321: 日志 (線程 ),無法更新日志文件標(biāo)題ORA-00322: 日志 (線程 ) 不是當(dāng)前副本ORA-00323: 線程 的當(dāng)前日志不可用而所有其它日志均需要存檔ORA-00324: 日志文件 的翻譯名 太長(zhǎng), 字符超出 限制ORA-00325: 已歸檔線程 的日志,標(biāo)題中的線程 # 錯(cuò)誤ORA-00326: 日志在更改 開始,需要更早的更改ORA-00327: 日志 (線程 ),實(shí)際
42、大小 小于需要的ORA-00328: 歸檔日志在更改 結(jié)束,需要稍后的更改ORA-00329: 歸檔日志在更改 開始,需要更改ORA-00330: 歸檔日志在更改 結(jié)束,需要更改ORA-00331: 日志版本 與 ORACLE 版本 不兼容ORA-00332: 歸檔日志過小 - 可能未完全歸檔ORA-00333: 重做日志讀取塊 計(jì)數(shù) 出錯(cuò)ORA-00334: 歸檔日志: ORA-00335: 聯(lián)機(jī)日志 : 沒有此編號(hào)的日志,日志不存在ORA-00336: 大小為 的日志文件塊數(shù)小于最小 塊數(shù)ORA-00337: 日志文件 不存在且未指定大小ORA-00338: 日志 (線程 ) 比控制文件更
43、新ORA-00339: 歸檔日志未包含任何重做ORA-00340: 處理聯(lián)機(jī)日志 (線程 ) 時(shí)出現(xiàn) I/O 錯(cuò)誤ORA-00341: 日志 (線程 ),標(biāo)題中的日志 # 錯(cuò)誤ORA-00342: 歸檔日志在上一個(gè) RESETLOGS 之前創(chuàng)建程序包ORA-00343: 錯(cuò)誤過多,已關(guān)閉日志成員ORA-00344: 無法重新創(chuàng)建聯(lián)機(jī)日志 ORA-00345: 重做日志寫入塊 計(jì)數(shù) 出錯(cuò)ORA-00346: 日志成員標(biāo)記為 STALEORA-00347: 日志 (線程 ),預(yù)計(jì)塊大小 與 不匹配ORA-00348: 單一進(jìn)程重做失?。槐仨氈兄估蘋RA-00349: 無法獲得 的塊大小ORA-0
44、0350: 日志 (線程 ) 中需要?dú)w檔ORA-00351: recover-to 時(shí)間無效ORA-00352: 線程 的所有日志均需要?dú)w檔 - 無法啟用ORA-00353: 日志損壞接近塊 更改 時(shí)間ORA-00354: 損壞重做日志塊標(biāo)題ORA-00355: 更改編號(hào)無次序ORA-00356: 更改說明中的長(zhǎng)度不一致ORA-00357: 日志文件指定了過多成員,最大為ORA-00358: 指定了過多文件成員,最大為ORA-00359: 日志文件組 不存在ORA-00360: 非日志文件成員:ORA-00361: 無法刪除最后一個(gè)日志成員 (組 )ORA-00362: 組成組 中的有效日志文
45、件要求輸入成員ORA-00363: 日志不是歸檔版本ORA-00364: 無法將標(biāo)題寫入新日志成員ORA-00365: 指定日志不是正確的下一個(gè)日志ORA-00366: 日志 (線程 ),文件標(biāo)題中的校驗(yàn)和錯(cuò)誤ORA-00367: 日志文件標(biāo)題中的校驗(yàn)和錯(cuò)誤ORA-00368: 重做日志塊中的校驗(yàn)和錯(cuò)誤ORA-00369: 線程 的當(dāng)前日志不可用且其它日志已被清除ORA-00370: Rcbchange 操作過程中可能出現(xiàn)死鎖ORA-00371: 共享池內(nèi)存不足ORA-00372: 此時(shí)無法修改文件ORA-00373: 聯(lián)機(jī)日志版本 與 ORACLE 版本 不兼容ORA-00374: 參數(shù) d
46、b_block_size = 無效; 它必須是 的倍數(shù), 范圍為 .ORA-00375: 無法獲得默認(rèn) db_block_sizeORA-00376: 此時(shí)無法讀取文件ORA-00377: 文件 的頻繁備份導(dǎo)致寫操作延遲ORA-00378: 無法按指定創(chuàng)建緩沖池ORA-00379: 緩沖池 中無法提供 K 塊大小的空閑緩沖區(qū)ORA-00380: 無法指定 db_k_cache_size, 因?yàn)?K 是標(biāo)準(zhǔn)塊大小ORA-00381: 無法將新參數(shù)和舊參數(shù)同時(shí)用于緩沖區(qū)高速緩存的大小說明ORA-00382: 不是有效的塊大小, 有效范圍為 .ORA-00383: DEFAULT 高速緩存的塊大小
47、不能減少至零ORA-00384: 沒有足夠的內(nèi)存來增加高速緩存的大小ORA-00385: cannot enable Very Large Memory with new buffer cache parametersORA-00390: 日志 (線程 ) 正被清除,無法成為當(dāng)前日志ORA-00391: 所有線程必須同時(shí)轉(zhuǎn)換為新的日志格式ORA-00392: 日志 (線程 ) 正被清除,不允許操作ORA-00393: 脫機(jī)數(shù)據(jù)文件的恢復(fù)需要日志 (線程 )ORA-00394: 在嘗試存檔時(shí)重新使用聯(lián)機(jī)日志ORA-00395: 克隆 數(shù)據(jù)庫的聯(lián)機(jī)日志必須重命名ORA-00396: 錯(cuò)誤 需要退回
48、到單次遍歷恢復(fù)ORA-00397: 對(duì)于文件 (塊 ), 檢測(cè)到寫入丟失情況ORA-00398: 由于重新配置而中止了線程恢復(fù)ORA-00399: 重做日志中的更改說明已損壞ORA-00400: 無效的版本值 (對(duì)于參數(shù) )ORA-00401: 此版本不支持參數(shù) 的值ORA-00402: 版本 的數(shù)據(jù)庫更改無法用于版本ORA-00403: () 不同于其它例程 ()ORA-00404: 未找到轉(zhuǎn)換文件: ORA-00405: 兼容類型ORA-00406: COMPATIBLE 參數(shù)需要為 或更大ORA-00407: 不允許從版本 . 到 . 滾動(dòng)升級(jí)ORA-00408: 參數(shù) 設(shè)置為 TRUE
49、ORA-00409: COMPATIBLE 必須是 或更高值才能使用 AUTO SEGMENT SPACE MANAGEMENTORA-00436: 沒有 ORACLE 軟件使用權(quán),請(qǐng)與 Oracle 公司聯(lián)系獲得幫助ORA-00437: 沒有 ORACLE 軟件功能使用權(quán),請(qǐng)與 Oracle 公司聯(lián)系獲得幫助ORA-00438: 未安裝 選項(xiàng)ORA-00439: 未啟用特性:ORA-00443: 背景進(jìn)程 未啟動(dòng)ORA-00444: 背景進(jìn)程 啟動(dòng)時(shí)失敗ORA-00445: 背景進(jìn)程 在 秒之后仍沒有啟動(dòng)ORA-00446: 背景進(jìn)程意外啟動(dòng)ORA-00447: 背景進(jìn)程出現(xiàn)致命錯(cuò)誤ORA-
50、00448: 背景進(jìn)程正常結(jié)束ORA-00449: 背景進(jìn)程 因錯(cuò)誤 異常終止ORA-00470: LGWR 進(jìn)程因錯(cuò)誤而終止ORA-00471: DBWR 進(jìn)程因錯(cuò)誤而終止ORA-00472: PMON 進(jìn)程因錯(cuò)誤而終止ORA-00473: ARCH 進(jìn)程因錯(cuò)誤而終止ORA-00474: SMON 進(jìn)程因錯(cuò)誤而終止ORA-00475: TRWR 進(jìn)程因錯(cuò)誤而終止ORA-00476: RECO 進(jìn)程因錯(cuò)誤而終止ORA-00477: SNP* 進(jìn)程因錯(cuò)誤而終止ORA-00478: SMON 進(jìn)程由于 錯(cuò)誤終止ORA-00480: LCK* 進(jìn)程因錯(cuò)誤而終止ORA-00481: LMON 進(jìn)程因錯(cuò)誤而終止ORA-00482: LMD* 進(jìn)程因錯(cuò)誤而終止ORA-00483: 關(guān)閉進(jìn)程過程中異常終止ORA-00484: LMS* 進(jìn)程因錯(cuò)誤而終止ORA-00485: DIAG 進(jìn)程由于 錯(cuò)誤終止ORA-00486: 功能不可用ORA-00568: 超出中斷處理程序的最大數(shù)ORA-00574: osndnt: $CANCEL 失敗 (中斷)ORA-00575: osndnt: $QIO 失敗 (發(fā)送 out-of-band 中斷)ORA-00576: 帶內(nèi)中斷協(xié)議錯(cuò)誤ORA-00577: 帶外中斷協(xié)議錯(cuò)誤ORA-00578: 重置協(xié)議錯(cuò)誤ORA-00579: osndnt: 服務(wù)器收到連
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞務(wù)分包企業(yè)合同范本
- 華萊士加盟合同范例
- 勞務(wù)合同范本遷戶口
- 單位食堂承攬合同范本
- 個(gè)人農(nóng)業(yè)養(yǎng)殖合同范本
- 加盟合同范本李慶亮
- 出售公司房屋合同范本
- 人壽第三方代理合同范本
- 勞動(dòng)用工合同范本范本
- 企業(yè)策劃標(biāo)準(zhǔn)合同范本
- 高新技術(shù)企業(yè)認(rèn)定申請(qǐng)書樣例與說明
- 數(shù)據(jù)結(jié)構(gòu)英文教學(xué)課件:chapter6 Tree
- 高壓氧科工作總結(jié)高壓氧科個(gè)人年終總結(jié).doc
- 《政治學(xué)概論》教學(xué)大綱
- 橋梁缺陷與預(yù)防
- 食品生物化學(xué)習(xí)題謝達(dá)平(動(dòng)態(tài))
- 新蘇教版小學(xué)科學(xué)三年級(jí)下冊(cè)全冊(cè)教案(2022年春修訂)
- 保安員工入職登記表
- 睿達(dá)RDCAM激光雕刻切割軟件V5.0操作說明書
- 機(jī)械設(shè)計(jì)基礎(chǔ)平面連桿機(jī)構(gòu)課件
- 人力資源部經(jīng)理崗位說明書
評(píng)論
0/150
提交評(píng)論