Bahay / Balita / Mga tampok ng error handling ng Oracle database server. Mga error sa Oracle: mga error sa database, paliwanag at mga opsyon sa pagbubukod sa oracle ng pagkilos na remedial

Mga tampok ng error handling ng Oracle database server. Mga error sa Oracle: mga error sa database, paliwanag at mga opsyon sa pagbubukod sa oracle ng pagkilos na remedial

Exception Handling sa PL/SQL

Sa anumang wikang pamamaraan, mahalagang tandaan na ang mga programa ay isang kumpleto at hiwalay na entity mula sa database. Samakatuwid, sa tuwing humihiling ang programa ng mga hilera mula sa database, dapat tiyakin ng programmer na matagumpay na nakumpleto ang kahilingan.

Sa mga relational database, ang database ay palaging magpapasa ng isang espesyal na variable na tinatawag na SQLCODE pabalik sa anumang programa sa pagtawag. Ang SQLCODE na ibinalik mula sa reach call mula sa programa patungo sa database ay isinalin ng Oracle sa isang pinangalanang Boolean variable (Tingnan ang talahanayan sa ibaba).

PL/SQL Exception Variable

ACCESS_INTO_NULL

COLLECTION_IS_NULL

CURSOR_ALREADY_OPEN

DUP_VAL_ON_INDEX

ROWTYPE_MISMATCH

SUBSCRIPT_BEYOND_COUNT

SUBSCRIPT_OUTSIDE_LIMIT

SYS_INVALID_ROWID

TIMEOUT_ON_RESOURCE

Halimbawa, kung ang database ay nagbabalik ng SQLCODE=100, ang PL/SQL variable NO_DATA_FOUND ay itatakda sa TRUE.

Nang walang pagbubukod, ang lahat ng PL/SQL program ay dapat gawin upang i-abort kapag ang isang hindi inaasahang SQLCODE ay ibinalik ng database ng Oracle.

Ito ay maaaring magkaroon ng masamang epekto sa database, lalo na kapag ang PL/SQL ay naglo-load ng data sa mga talahanayan batay sa maling lugar. Upang maiwasan ang trahedyang ito, nagbibigay ang Oracle ng variable na WHEN OTHERS, na nakatakda sa TRUE kung anumang hindi inaasahang SQLCODE ang ibabalik mula sa database ng Oracle.

Halimbawa, isaalang-alang ang sumusunod na code:

MAGPAHAYAG
err_num NUMBER;
err_msg VARCHAR2(100);
MAGSIMULA
...
EXCEPTION
...
KAPAG ANG IBA NOON
err_num:= SQLCODE;
err_msg:= SUBSTR(SQLERRM, 1, 100);
INSERT INTO errors VALUES (err_num, err_msg);
WAKAS;

Dito makikita natin na ang ating exception handling ay may EXCEPTIONS area testing WHEN OTHERS. Kung TOTOO ang variable na WHEN OTHERS Boolean, kinukuha ng PL/SQL code ang SQLCODE at ang nauugnay na mensahe ng error (SQLERRM), at iniimbak ang mga halagang ito sa isang espesyal na talahanayan ng mga error sa Oracle.

Oracle Exception Handling

Ang mga developer ay madalas na nag-flag ng mga kundisyon ng error at pinangangasiwaan ang mga ito gamit ang Oracle exception handling at ang paggamit ng IF-THEN logic.

Oracle exception handling gamit ang IF-THEN logic para mag-flag ng mga error

Ang halimbawa sa itaas ay naglalarawan sa Oracle exception handling gamit ang boolean variable bAidAmountOk upang subaybayan ang isang kondisyon sa buong pagproseso ng bawat talaan ng mag-aaral.

Ang paggamit na ito ng Oracle exception handling ay may epekto sa performance. Gumagamit ang Oracle exception handling ng maraming tagubilin upang subukan ang kundisyon ng error. Ang bawat Oracle exception handling instruction ay nangangailangan ng mga cycle ng CPU upang makumpleto. Ang isang mas mahusay na diskarte ay kinabibilangan ng paggamit ng Oracle exception handling upang maiwasan ang pag-aaksaya ng mga cycle ng CPU, tulad ng nakikita sa ibaba:

Paggamit ng Oracle exception handler para mapabuti ang performance.

Sa halimbawang ito ng Oracle exception handling, ang xAID_AMOUNT_OK ang exception ay tahasang itinaas sa loob ng loop. Nagbibigay-daan ito sa execution na laktawan ang mga tagubilin na nagaganap pagkatapos suriin ang GPA ng mag-aaral, na binabawasan ang cpu na ginamit sa paghawak ng exception sa Oracle.

Ang paghawak sa pagbubukod ng Oracle ay lubos na mahusay sa pagganap. Kapag ang isang Oracle exception ay itinaas, lahat ng kasunod na mga tagubilin sa loob ng block ay na-bypass upang ang exception ay maaaring pangasiwaan ng isang Oracle exception handler. Maaaring gamitin ang paghawak sa pagbubukod ng Oracle upang makabuluhang mapalakas ang pagganap.

Ang Burleson ay ang American Team

Tandaan: Ang dokumentasyon ng Oracle na ito ay nilikha bilang suporta at sanggunian sa pagsasanay ng Oracle para magamit ng aming mga propesyonal sa pagkonsulta sa pag-tune ng pagganap ng DBA. Huwag mag-atubiling magtanong sa aming Oracle forum.

I-verify karanasan! Ang sinumang nagsasaalang-alang sa paggamit ng mga serbisyo ng isang dalubhasa sa suporta sa Oracle ay dapat na independiyenteng magsiyasat sa kanilang mga kredensyal at karanasan, at hindi umasa sa mga ad at nagpapakilalang kadalubhasaan. Ang lahat ng mga lehitimong eksperto sa Oracle ay naglalathala ng kanilang .

Errata? pag-ayos ng performance


Copyright 1996 - 2017

Lahat ng karapatan ay nakalaan sa Burleson

® ay ang rehistradong trademark ng Oracle Corporation.

Remote Emergency Support na ibinigay ng Conversational

Sa kabanatang ito, tatalakayin natin ang Mga Pagbubukod sa PL/SQL. Ang isang pagbubukod ay isang kondisyon ng error sa panahon ng pagpapatupad ng programa. Sinusuportahan ng PL/SQL ang mga programmer upang mahuli ang mga ganitong kundisyon gamit EXCEPTION harangan sa programa at isang naaangkop na aksyon ang gagawin laban sa kundisyon ng error. Mayroong dalawang uri ng mga pagbubukod −

  • Mga pagbubukod na tinukoy ng system
  • Mga pagbubukod na tinukoy ng user

Syntax para sa Exception Handling

Ang pangkalahatang syntax para sa paghawak ng exception ay ang mga sumusunod. Dito maaari mong ilista ang maraming mga pagbubukod hangga't maaari mong pangasiwaan. Ang default na exception ay hahawakan gamit KAPAG ang iba NOON

MAGPAHAYAG MAGSIMULA EXCEPTION WHEN exception1 THEN exception1-handling-statements KAPAG exception2 THEN exception2-handling-statements KAPAG exception3 THEN exception3-handling-statements ........ KAPAG ang iba TAPOS ang exception3-handling-statements;

halimbawa

Sumulat tayo ng isang code upang ilarawan ang konsepto. Gagamitin namin ang talahanayan ng MGA CUSTOMER na aming ginawa at ginamit sa mga nakaraang kabanata −

IDEKLARA ang c_id customers.id%type:= 8; c_name customerS.Name%type; c_addr customers.address%type; MAGSIMULA PUMILI ng pangalan, address SA c_name, c_addr MULA sa mga customer WHERE id = c_id; DBMS_OUTPUT.PUT_LINE("Pangalan: "|| c_name); DBMS_OUTPUT.PUT_LINE("Address: " || c_addr); EXCEPTION WHEN no_data_found THEN dbms_output.put_line("Walang ganyang customer!"); KAPAG ang iba TAPOS dbms_output.put_line("Error!"); WAKAS; /

Walang ganyang customer! Matagumpay na nakumpleto ang pamamaraan ng PL/SQL.

Ang programa sa itaas ay nagpapakita ng pangalan at address ng isang customer na ang ID ay ibinigay. Dahil walang customer na may ID value 8 sa aming database, itinataas ng program ang run-time exception NO_DATA_FOUND, na nakunan sa EXCEPTION block.

Pagtaas ng mga Exception

Awtomatikong itinataas ng database server ang mga eksepsiyon sa tuwing mayroong anumang panloob na error sa database, ngunit ang mga eksepsiyon ay maaaring tahasang itaas ng programmer sa pamamagitan ng paggamit ng command. ITAAS. Ang sumusunod ay ang simpleng syntax para sa pagtataas ng exception −

IDEKLARA ang exception_name EXCEPTION; MAGSIMULA KUNG kundisyon SAKA ITAAS ANG exception_name; TAPUSIN KUNG; EXCEPTION WHEN exception_name THEN statement; WAKAS;

Maaari mong gamitin ang syntax sa itaas sa pagtaas ng pamantayang pagbubukod ng Oracle o anumang pagbubukod na tinukoy ng gumagamit. Sa susunod na seksyon, bibigyan ka namin ng isang halimbawa sa pagpapataas ng exception na tinukoy ng user. Maaari mong itaas ang mga karaniwang exception ng Oracle sa katulad na paraan.

Mga Exception na tinukoy ng user

Binibigyang-daan ka ng PL/SQL na tukuyin ang iyong sariling mga eksepsiyon ayon sa pangangailangan ng iyong programa. Ang isang eksepsiyon na tinukoy ng gumagamit ay dapat ideklara at pagkatapos ay tahasang itaas, gamit ang alinman sa isang pahayag ng RAISE o ang pamamaraan DBMS_STANDARD.RAISE_APPLICATION_ERROR.

Ang syntax para sa pagdedeklara ng exception ay −

IDEKLARA ang my-exception EXCEPTION;

halimbawa

Ang sumusunod na halimbawa ay naglalarawan ng konsepto. Ang program na ito ay humihingi ng isang customer ID, kapag ang user ay nagpasok ng isang di-wastong ID, ang pagbubukod invalid_id ay naitaas.

IDEKLARA ang c_id customers.id%type:= &cc_id; c_name customerS.Name%type; c_addr customers.address%type; -- tinukoy ng user ang exception ex_invalid_id EXCEPTION; MAGSIMULA KUNG c_id<= 0 THEN RAISE ex_invalid_id; ELSE SELECT name, address INTO c_name, c_addr FROM customers WHERE id = c_id; DBMS_OUTPUT.PUT_LINE ("Name: "|| c_name); DBMS_OUTPUT.PUT_LINE ("Address: " || c_addr); END IF; EXCEPTION WHEN ex_invalid_id THEN dbms_output.put_line("ID must be greater than zero!"); WHEN no_data_found THEN dbms_output.put_line("No such customer!"); WHEN others THEN dbms_output.put_line("Error!"); END; /

Kapag ang code sa itaas ay naisakatuparan sa SQL prompt, ito ay gumagawa ng sumusunod na resulta −

Maglagay ng value para sa cc_id: -6 (hayaan "magpasok ng value -6) old 2: c_id customers.id%type:= &cc_id; new 2: c_id customers.id%type:= -6; ID ay dapat na mas malaki kaysa sa zero !Matagumpay na nakumpleto ang pamamaraan ng PL/SQL.

Mga Paunang Natukoy na Pagbubukod

Nagbibigay ang PL/SQL ng maraming paunang natukoy na mga pagbubukod, na isinasagawa kapag ang anumang panuntunan sa database ay nilabag ng isang programa. Halimbawa, ang paunang natukoy na pagbubukod na NO_DATA_FOUND ay itataas kapag ang isang SELECT INTO na pahayag ay hindi nagbabalik ng mga row. Ang sumusunod na talahanayan ay naglilista ng ilan sa mahahalagang paunang natukoy na mga pagbubukod −

Exception Error sa Oracle SQLCODE Paglalarawan
ACCESS_INTO_NULL 06530 -6530 Itinataas ito kapag ang isang null na bagay ay awtomatikong itinalaga ng isang halaga.
CASE_NOT_FOUND 06592 -6592 Itinataas ito kapag wala sa mga pagpipilian sa WHEN clause ng isang CASE statement ang napili, at walang ELSE clause.
COLLECTION_IS_NULL 06531 -6531 Itinataas ito kapag sinubukan ng isang programa na maglapat ng mga paraan ng pagkolekta maliban sa EXISTS sa isang hindi inisyal na nested table o varray, o sinubukan ng program na magtalaga ng mga value sa mga elemento ng isang uninitialized na nested table o varray.
DUP_VAL_ON_INDEX 00001 -1 Itinataas ito kapag ang mga duplicate na halaga ay tinangka na maimbak sa isang column na may natatanging index.
INVALID_CURSOR 01001 -1001 Itinataas ito kapag ginawa ang mga pagtatangka na gumawa ng operasyon ng cursor na hindi pinapayagan, tulad ng pagsasara ng hindi nabuksang cursor.
DI-WASTONG NUMERO 01722 -1722 Itinataas ito kapag nabigo ang conversion ng string ng character sa isang numero dahil hindi kumakatawan ang string ng wastong numero.
LOGIN_DENIED 01017 -1017 Itinataas ito kapag sinubukan ng isang programa na mag-log on sa database gamit ang isang hindi wastong username o password.
NO_DATA_FOUND 01403 +100 Ito ay itataas kapag ang isang SELECT INTO statement ay hindi nagbabalik ng mga row.
NOT_LOGGED_ON 01012 -1012 Ito ay itataas kapag ang isang database na tawag ay ibinigay nang hindi nakakonekta sa database.
PROGRAM_ERROR 06501 -6501 Itinataas ito kapag may internal na problema ang PL/SQL.
ROWTYPE_MISMATCH 06504 -6504 Itinataas ito kapag ang isang cursor ay kumukuha ng halaga sa isang variable na may hindi tugmang uri ng data.
SELF_IS_NULL 30625 -30625 Ito ay itataas kapag ang isang paraan ng miyembro ay tinawag, ngunit ang halimbawa ng uri ng bagay ay hindi nasimulan.
STORAGE_ERROR 06500 -6500 Itinataas ito kapag naubusan ng memory ang PL/SQL o nasira ang memorya.
TOO_MANY_ROWS 01422 -1422 Itinataas ito kapag ang isang SELECT INTO na pahayag ay nagbabalik ng higit sa isang row.
VALUE_ERROR 06502 -6502 Itinataas ito kapag may nangyaring error sa aritmetika, conversion, truncation, o sizeconstraint.
ZERO_DIVIDE 01476 1476 Itinataas ito kapag sinubukang hatiin ang isang numero sa zero.

Ph.D. Vladimir Likhachev, Kaluga Pedagogical University na pinangalanang K.E. Tsiolkovsky

Para sa mga programang nagtatrabaho sa mga database, mahalaga hindi lamang na wastong pangasiwaan ang kanilang mga error, kundi pati na rin upang makabuo ng mga mensaheng nagbibigay-kaalaman tungkol sa mga error na ito. Ang pagkakaroon ng mga naturang mensahe ay nagbibigay-daan sa iyo upang mabilis na matukoy ang mga sanhi at iwasto ang mga pagkakamali. Ito ay totoo lalo na kapag nagtatrabaho sa programa ng end user, dahil sa karamihan ng mga kaso hindi niya alam hindi lamang ang istraktura ng isang partikular na database, kundi pati na rin ang mga teoretikal na pundasyon ng mga relational na database.

Kakatwa, ang sitwasyon sa pagbuo ng mga mensahe ng error sa mga programa ay madalas na naiiba mula sa pagproseso ng mga error mismo. Kapag humahawak ng mga error, kadalasan ay posible na bumuo ng isang karaniwang diskarte, na nagbibigay-daan sa iyo upang i-localize ang kanilang pagproseso sa isa o higit pang mga function. Ang isang katulad na diskarte para sa mga mensahe ng error ay maaaring ipatupad sa batayan na sa mensahe ng error ang Oracle server ay nagpapahiwatig ng uri ng error at ang database object na sanhi nito. Ang mga naturang bagay ay karaniwang mga hadlang, tulad ng pangunahin, natatangi at dayuhang mga susi, mga natatanging index, "hindi null" na mga hadlang, atbp. Ang detalyadong impormasyon tungkol sa mga hadlang na ito ay maaaring makuha mula sa mga talahanayan ng system at mga view ng database at ang mga halaga na maaaring baguhin at mababago ay maaaring matukoy. humantong sa isang error. Ngunit ang problema ay ang pagpapatupad ng naturang mekanismo para sa pagbuo ng mga mensahe ng error sa mga totoong application ay nakakaranas ng maraming mga paghihirap:

  • Ang pag-asa ng mensahe ng error sa layunin ng programa. Kahit na para sa mga program na gumagana sa parehong database, maaaring kailanganin na bumuo ng iba't ibang mga mensahe tungkol sa parehong error. Halimbawa, sa isang programa para sa pag-edit ng data ng user, ang mensahe ay dapat na: "Ang isang produkto na may ganitong pangalan ay nakarehistro na! Tingnan ang pangalan ng produkto!". Ngunit sa programa ng pag-import ng data, ang isang mensahe na may ganap na naiibang nilalaman ay kinakailangan: "Ang na-import na data ay nadoble - suriin ang petsa kung saan ang data ay ini-import!".
  • Kahirapan sa pagbuo ng mga mensahe para sa ilang mga error na dulot ng mga limitasyon sa database. Halimbawa, ang CHECK na mga hadlang sa mga talahanayan ay maaaring gumamit ng medyo kumplikadong mga query at kundisyon. Samakatuwid, ang pagbuo ng mga mensahe batay sa kanilang pagsusuri ay maaaring maging isang mahirap na gawain.
  • Paggamit ng mga custom na pangalan ng mga talahanayan at column sa mga programa ng kliyente na iba sa kanilang mga pangalan sa database. Halimbawa, ang talahanayan ay may pangalang "GOODS", at sa client application, ang data ng talahanayang ito ay maaaring ipakita sa direktoryo bilang "Mga Produkto" o "Mga Produkto".

Ang kumbinasyon ng mga salik na ito ay karaniwang humahantong sa katotohanan na ang pagbuo ng mga mensahe kahit na tungkol sa parehong uri ng mga error ay ipinapatupad nang paisa-isa para sa bawat transaksyon. Bilang resulta, ang code para sa pagbuo ng mga mensahe ng error ay ipinamamahagi sa buong application, na nagpapalubha sa pagpapanatili nito. Dahil sa pangangailangang magsulat ng code para sa halos lahat ng posibleng error, ang ilan sa mga error na alam ng developer ay lumabas na walang katumbas na mensahe sa user. Bilang resulta, ang mga sapat na impormasyong mensahe para sa end user ay nabuo lamang para sa ilan sa mga error, sa ibang mga kaso, kailangan niyang maging kontento, sa pinakamahusay, sa mga mensahe mula sa database server mismo. Ang pagiging informative ng naturang mga mensahe para sa karaniwang gumagamit sa karamihan ng mga kaso ay hindi sapat upang matukoy ang sanhi ng problema at maalis ito.

Ang paraan ng pagbuo ng mga mensahe ng error na nagbibigay-kaalaman para sa gumagamit na isinasaalang-alang sa artikulo ay medyo unibersal; maaari itong ipatupad pareho sa mga aplikasyon ng kliyente at sa bahagi ng server ng Oracle. Maaari itong magamit sa iba't ibang uri ng mga programa, tulad ng:

  • Mga program na gumagamit ng isang espesyal na interface upang ipasok at baguhin ang data ng database. Sa karamihan ng mga kaso, ang mga mensahe ng error na nagbibigay-kaalaman ay maaaring makuha mula sa pagsusuri ng istraktura ng database. Ipapaalam nito sa user ang tungkol sa kanilang layunin nang may kaunting pagsisikap sa bahagi ng mga developer at software.
  • Mga program na may kakayahang bumuo ng mga arbitrary na query sa SQL ng user. Ang pagbuo ng mga mensahe batay sa pagsusuri ng istraktura ng database ay maaaring maging partikular na may kaugnayan para sa mga programa na naka-target sa isang malawak na hanay ng mga gumagamit, kabilang ang mga may mababang antas ng kaalaman sa lugar na ito. Gagawin nitong mas mauunawaan ng user ang mga mensahe ng error sa mga query sa SQL.
  • mga platform ng paksa. Ang paggamit ng mga pamamaraan na inilarawan sa artikulo ay magbibigay-daan sa mismong platform ng paksa na makabuo ng mga impormasyong mensahe ng error sa database batay sa pagsusuri ng istraktura nito. Gagawin nitong posible na paikliin ang code ng wika ng platform na ginagamit upang pangasiwaan ang mga sitwasyon ng error. At ang mga error na nangangailangan ng mga espesyal na mensahe, ngunit naging wala ang mga ito, ay magiging sapat na kaalaman upang gawing mas madaling matukoy ang kanilang dahilan.

Ang mga problema sa pagbuo ng mensahe na inilarawan sa itaas ay malulutas kung ang mga mensahe ng error ay karaniwang nahahati sa dalawang grupo:

  • mga pangkalahatang mensahe na nabuo batay sa pagsusuri ng istraktura ng database;
  • mga espesyal na mensahe na isa-isang tinukoy para sa bawat error.

Ang paraan ng pagbuo ng mga mensahe ng error sa database na inilarawan sa artikulo ay maaaring ilapat sa maraming relational database server. Ang isang halimbawa ng paggamit nito para sa mga database ng server ng Firebird ay tinalakay sa artikulo. Kung ang client application ay binuo sa Object Pascal (Delphi, Kylix, Free Pascal), kung gayon ang mga kakayahan ng JEDI library ay maaaring maging kapaki-pakinabang upang matukoy ang mga sanhi ng hindi inaasahang mga error.

1. Mga pangkalahatang mensahe ng error na dulot ng mga paghihigpit sa database

Tulad ng nabanggit sa itaas, ang pangunahing ideya ng paglikha ng mga unibersal na mensahe ay upang bumuo ng isang mensahe na sapat na nagbibigay-kaalaman at naiintindihan para sa end user batay sa data mula sa mensahe ng error mula sa Oracle at ang istraktura ng database. Ipagpalagay natin na sa talahanayang "GOODS" (script 1.1) sinusubukan ng user na magdagdag ng isang produkto na may pangalan (column "TITLE"), na nasa talahanayan na.

GUMAWA NG TABLE DEMO.GOODS (CODE INTEGER NOT NULL , TITLE VARCHAR2(50 byte) NOT NULL , PRICE NUMBER(16, 2) NOT NULL , CONSTRAINT CK_PRICE CHECK (PRICE > 0), CONSTRAINT PK_GOODS PRIMARY KEY (CODE)); COMMENT SA TABLE DEMO.GOODS ay "Goods"; COMMENT SA COLUMN DEMO.GOODS.CODE ay "Product Code"; COMMENT SA COLUMN DEMO.GOODS.TITLE ay "Title"; COMMENT SA COLUMN DEMO.GOODS.PRICE ay "Price"; GUMAWA NG NATATANGING INDEX DEMO.IDX_GOODS_TITLE SA DEMO.GOODS(TITLE);

Iskrip 1.1. Paglikha ng talahanayan ng "GOODS".

Ang server ay bubuo ng error sa kasong ito, dahil ang column na "TITLE", na nag-iimbak ng pangalan ng produkto, ay kasama sa natatanging index na "DEMO.IDX_GOODS_TITLE":

Sa halip, maaaring mabuo ang isang mensahe para sa user, halimbawa, isa sa mga mensahe:

  • Ang halaga ng field na "Pangalan" sa talahanayan ng "Mga Produkto" ay dapat na natatangi!
  • Nakarehistro na ang isang produkto na may ganitong pangalan! Suriin ang pangalan ng produkto!
  • Ang mga produkto na may parehong pangalan ay hindi maaaring nasa direktoryo ng produkto!

Bagama't naiiba ang mga mensaheng ito, ang lahat ng ito ay nagpapahiwatig ng impormasyon tungkol sa bagay kung saan nilalabag ang limitasyon sa pagiging natatangi - ito ang field na "Pangalan" ng talahanayang "Mga Produkto."

Ang isa sa mga problema sa pagbuo ng ganitong uri ng mensahe ay ang custom na field at mga pangalan ng talahanayan ay iba sa mga pangalan ng talahanayan at column sa database. Upang maunawaan ng user ang mensahe ng error, dapat itong gumamit ng mga custom na pangalan. Maaaring gumamit ng hiwalay na talahanayan o mga komento para sa mga talahanayan at column upang itugma ang mga pangalan ng talahanayan at field at ang kanilang mga custom na pangalan. Ang huling opsyon ay maaaring ituring na mas kanais-nais, dahil pinapayagan ka nitong idokumento ang database nang sabay. Kaya naman sa script 1.1, ang mga pangalan na tinukoy ng user ay ibinibigay bilang mga komento para sa talahanayan at mga column nito. Kung ihahambing natin ang mga mensahe at komento sa itaas para sa talahanayan at mga column, makikita natin na ang pagbuo ng unang mensahe ay ang pinakasimpleng opsyon. Upang mabuo ang iba pang dalawang mensahe, maaaring kailanganin ang lexical synthesis, ngunit ito ay isang hiwalay na gawain. Nais kong iguhit ang iyong pansin sa katotohanan na sa hinaharap sa artikulo ay isa lamang sa mga posibleng pagpipilian sa mensahe para sa bawat kaso ng error ang ibibigay. Sa pagsasagawa, ang pagpili ng istilo ng mensahe at nilalaman ay maaaring nakadepende sa ilang salik at matutukoy ng taga-disenyo ng system.

Siyempre, hindi maitatanggi na walang mga komento para sa isang talahanayan o column na dapat isama sa mensahe. Sa sitwasyong ito, maaaring direktang ipakita ng mensahe ng error ang pangalan ng talahanayan o column.

2. Ang halaga ng kinakailangang field ay hindi tinukoy (restriction NOT NULL)

Ang error na ito ay nabuo ng server sa ilang mga kaso:

  • ang "not null" na hadlang sa column ay nilabag;
  • walang tinukoy na halaga para sa isang column na bahagi ng isang natatanging index, master key, o natatanging key.

Sa lahat ng mga kasong ito, ang server ay bumubuo ng isang error:

Upang makuha ang paglalarawan ng talahanayan at column mula sa mensahe ng error, maaaring gamitin ang query 2.1.

piliin ang tc.comments bilang table_comment, cc.comments bilang column_comment mula sa all_tab_columns c, all_tab_comments tc, all_col_comments cc c.owner at cc.table_name = c.table_name at cc.column_name = c.column_name

Kahilingan 2.1. Kumuha ng paglalarawan ng talahanayan at hanay

Bilang mga parameter ng query na "may-ari", "table_name", "column_name" dapat mong tukuyin ang pangalan ng schema, talahanayan at column mula sa mensahe ng error, ayon sa pagkakabanggit. Ibinabalik ng query ang mga komento para sa talahanayan at column.

Gamit ang mga resulta ng query na ito, maaaring makabuo ng mensahe ng error, halimbawa, ang sumusunod na nilalaman:

Dapat mong tukuyin ang halaga ng column "<Описание поля>"sa mesa"<Описание таблицы>"sa<добавлении новой/изменении>mga talaan.

3. Nasira ang uniqueness ng value ng isang field o isang set ng column

Ang pangangailangang maglagay ng natatanging halaga para sa isang column ay maaaring kailanganin pangunahin sa tatlong kaso:

  • ang column ay bahagi ng master key;
  • ang hanay ay kasama sa natatanging susi;
  • ang column ay kasama sa isang natatanging index.

Sa lahat ng tatlong kaso, ang Oracle Database ay bumubuo ng parehong error:
ORA-00001: nilabag ang natatanging hadlang (<Схема>.<Ограничение>)

Tinutukoy ng mensahe ng error ang hadlang na naging sanhi ng error. Upang makakuha ng impormasyon tungkol sa mga column na kasama sa pangunahing o natatanging mga key, maaari mong gamitin ang query 3.1, upang makakuha ng impormasyon tungkol sa index - query 3.2.

piliin ang dcs.constraint_type, cc.table_name, tc.comments bilang table_comment, cc.column_name, ccom.comments bilang column_comment mula sa all_cons_columns cc join all_tab_comments tc on (tc.owner = cc.owner and tc.table_name = cc.table_name) sumali sa all_col_comments ccom on (ccom.owner = cc.owner at ccom.table_name = cc.table_name at ccom.column_name = cc.table_name at ccom.column_name column_name) sumali sa all_constraints dcs sa (dcs.constraint_name = cc.constraint_name) kung saan cc.owner = :owner at cc.constraint_name = :key_name
Kahilingan 3.1. Pagkuha ng impormasyon tungkol sa mga column ng talahanayan na kasama sa pangunahing o natatanging mga key.
piliin ang ic.table_name, tc.comments bilang table_comment, ic.column_name, ccom.comments bilang column_comment mula sa all_ind_columns ic join all_tab_comments tc on (tc.owner = ic.table_owner and tc.table_name = ic.table_name) join all_col_comments ccom on (ccom.owner = ic.table_owner at ccom.table_name = ic.table_name at ccom.column column_name) kung saan table_owner = :owner at index_name = :index_name
Kahilingan 3.2. Pagkuha ng impormasyon tungkol sa mga column ng talahanayan na kasama sa index.

Ang mga parameter ng query ay schema name ("may-ari"), key name ("key_name") o index name ("index_name"). Ibinabalik ng mga query ang mga pangalan at komento para sa mga talahanayan at column sa pagpilit. Ibinabalik din ng Query 3.1 ang uri ng pagpilit ("constraint_type"): "P" - master key, "U" - natatanging key. Ang bilang ng mga tala na ibinalik ng mga query ay tumutugma sa bilang ng mga column sa natatanging hadlang.

Batay sa impormasyong natanggap tungkol sa paghihigpit sa pagiging natatangi para sa user, maaaring mabuo ang mga variant ng mga mensahe ng error, halimbawa, ang mga ibinigay sa seksyon 1.

4. Mga Error na Dulot ng Foreign Key Constraints

Kapag nagsasagawa ng mga operasyon sa tabular na data na nauugnay sa mga dayuhang key, mayroong ilang dahilan na humahantong sa mga error:

1. Ang isang tala ay idinagdag sa subordinate na talahanayan, kung saan ang column na kasama sa foreign key ay walang katumbas na halaga sa pangunahing talahanayan. Ang isang katulad na sitwasyon ay nangyayari kapag binabago ang halaga ng isang column ng isang subordinate na talahanayan kung ang bagong halaga ng column ay wala sa pangunahing talahanayan. Ang Oracle Database sa kasong ito ay bumubuo ng isang error:

  1. Ang isang pagtatangka ay ginawa upang baguhin ang halaga ng isang column sa parent table na naka-reference sa child table. Para sa kasong ito, ang Oracle Database ay bumubuo ng isang error:
  1. Ang isang pagtatangka ay ginawa upang tanggalin ang data sa master table na isinangguni sa child table. Kung ang isang hadlang na "NO ACTION" ay tinukoy sa kahulugan ng isang relasyon sa pagitan ng mga talahanayan para sa isang operasyon sa pagtanggal ng data, hindi papayagan ng Oracle ang pagtanggal ng data mula sa master table kung ang child table ay may mga record na nauugnay sa record na tinatanggal. Para sa sitwasyong ito, ang Oracle Database ay bumubuo ng isang error na katulad ng nakaraang kaso.

Maaari mong gamitin ang query 4.1 sa ibaba upang makakuha ng impormasyon tungkol sa mga column ng master at child table na bahagi ng foreign key.

piliin ang a.constraint_name, a.table_name, tc1.comments bilang table_comment, a2.column_name, cc1.comments bilang column_comment, b.owner bilang r_owner, b.table_name bilang r_table_name, tc2.comments bilang r_table_comment, b2.column_name bilang r,_column_name .comments bilang r_column_comment mula sa all_constraints a, all_constraints b, all_cons_columns a2, all_cons_columns b2, all_tab_comments tc1, all_col_comments cc1, all_tab_comments tc2, all_col_comments cc2 where a.owner = :owner and a.constraint_constraint and. ("P","U") at b.constraint_name = a.r_constraint_name at b.owner = a.r_owner and a2.constraint_name = a.constraint_name at a2.table_name = a.table_name at a2.owner = a.owner and b2.constraint_name = b.constraint_name at b2.table_name = b.table_name at b2.owner = b.may-ari at b2.position = a2.position at tc1.owner = a.may-ari at tc1.table_name = a.table_name at cc1. may-ari = a2.may-ari at cc1.table_name = a2.table_name at cc1.column_name = a2.column_name at tc2.owner = b.may-ari at tc2.table_name = b.table_name at cc2.owner = b2.may-ari at cc2.table_name = b2.table_name at cc2.column_name = b2.column_name
Kahilingan 4.1. Pagkuha ng impormasyon tungkol sa isang foreign key.

Ang kahilingan ay may dalawang parameter: "may-ari" at "foreign_key" - schema at foreign key, kung saan mo gustong makakuha ng impormasyon. Nagbabalik ito ng impormasyon tungkol sa mga column na kasama sa foreign key: "table_name", "table_comment" - ang pangalan at paglalarawan ng subordinate table; "column_name", "column_comment" - ang pangalan at paglalarawan ng column ng subordinate table. Ang mga column ng query na may prefix na "r_" ay nagbabalik ng impormasyon tungkol sa pangunahing talahanayan. Ang bilang ng mga record na ibinalik ng query ay tumutugma sa bilang ng mga column na kasama sa foreign key.

Batay sa impormasyong ito, maaaring mabuo ang mga foreign key na mensahe ng error para sa user.

5. Mga espesyal na mensahe ng error na dulot ng mga paghihigpit sa database

Ang pangangailangang gumamit ng mga espesyal na mensahe ay maaaring lumitaw kung ang unibersal na mensahe ng error sa ilang kadahilanan ay hindi magagamit o hindi mabuo. Ang isang halimbawa ng huling kaso ay ang CHECK constraints sa mga talahanayan. Sa mga limitadong kundisyon, maaaring gamitin ang mga query at kundisyon, na ang pagsusuri ay maaaring maging isang mahirap na gawain. Samakatuwid, para sa mga hadlang na ito, kadalasan ay mas maginhawang gumamit ng mga mensahe na tinukoy sa oras ng disenyo.

Dalawang grupo ng mga espesyal na mensahe ng error ay maaaring makilala. Ang unang uri ng mga espesyal na mensahe ay inilaan para sa paggamit sa lahat ng mga application na gumagana sa isang karaniwang database. Maaari silang maluwag na tinutukoy bilang "mga espesyal na mensahe ng error sa antas ng database." Ang pangalawang pangkat ng mga mensahe ay partikular sa application. Maaaring kailanganin ang mga ito kapag kailangang bigyan ng iba't ibang application ang user ng iba't ibang mensahe tungkol sa parehong error. Maaari silang tawaging pansamantalang "mga espesyal na mensahe ng error sa antas ng application." Maginhawang mag-imbak ng impormasyon tungkol sa unang pangkat ng mga mensahe sa database mismo at gumamit ng isang hiwalay na talahanayan para dito. Ang mga mensaheng partikular sa isang programa ay maaaring maimbak sa mga mapagkukunan nito, halimbawa, bilang isang hiwalay na file o sa isang database din. Maaaring matukoy ang mga espesyal na mensahe batay sa error code, pangalan ng schema, at isa o higit pang mga keyword mula sa mensahe ng error.

6. SURIIN ang mga mensahe ng error sa pagpilit para sa mga talahanayan

Kapag may naganap na error dahil sa isang CHECK constraint sa isang table, ang server ay bumubuo ng isang error:
ORA-02290: CHECK integrity constraint nilabag (<Схема>.<Имя ограничения>)

Tulad ng nabanggit sa itaas, madalas na maginhawang gumamit ng mga espesyal na mensahe para sa mga naturang error. Halimbawa, ang hadlang na "CK_PRICE" sa talahanayang "GOODS" ay maaaring gumamit ng custom na mensahe na nakaimbak sa custom na talahanayan ng mensahe:

7. Komprehensibong paggamit ng mga custom at generic na mensahe ng error

Ang isang flexible na mekanismo para sa pagbuo ng mga mensahe ng error na nagbibigay-kaalaman para sa user ay ipinapatupad sa ilang yugto (Larawan 1):

1. Mag-output ng isang pasadyang mensahe ng error sa antas ng application. Ang programa ay unang naghahanap ng isang mensahe ng error sa mga partikular na mensahe para sa application na iyon. Kung ang naturang mensahe ay natagpuan, ito ay ipinapakita, at ang pagbuo ng mensahe ay nakumpleto.

2. Mag-output ng espesyal na mensahe ng error sa antas ng database. Kung walang nakitang mensahe sa hakbang 1, isang espesyal na mensahe ng error sa antas ng database ang hahanapin. Kung natagpuan, ito ay ipinapakita sa gumagamit at ang pagbuo ng mensahe ng error ay nagtatapos doon.

3. Pagpapakita ng mensahe batay sa pagsusuri ng istraktura ng database (unibersal na mensahe). Kung walang mga espesyal na mensahe ang natagpuan sa mga nakaraang yugto, pagkatapos ito ay nabuo batay sa pagsusuri ng istraktura ng database. Ito ay ipinapakita sa gumagamit at nakumpleto nito ang pagbuo ng mensahe.

4. Pagpapakita ng mensahe mula sa database server. Kung walang nabuong mensahe para sa user sa nakaraang tatlong hakbang, may ipapakitang mensahe ng error mula sa Oracle. Ang sitwasyong ito ay maaaring lumitaw sa ilang kadahilanan. Halimbawa, kapag may nangyaring custom na error na sadyang nabuo sa isang naka-imbak na pamamaraan o trigger gamit ang RAISE_APPLICATION_ERROR function, at ang nilalaman ng mensahe tungkol sa kung saan ay hindi kailangang baguhin.

Posible ang mas kumplikadong mga kaso kaysa sa ibinigay sa artikulong ito. Halimbawa, kung ang mensahe ay nabuo sa isang naka-imbak na pamamaraan, na maaaring tawagan mula sa isang trigger o isa pang naka-imbak na pamamaraan. Sa kasong ito, maaaring kailanganin mo rin ang impormasyon tungkol sa kung paano tinawag ang pamamaraan na nakabuo ng mensahe ng error. At samakatuwid, ang orihinal na mensahe ay maaaring dagdagan o baguhin, halimbawa, batay sa impormasyon tungkol sa stack ng tawag ng mga nakaimbak na pamamaraan at pag-trigger.

Sa ilang mga kaso, ang mga naturang mensahe ay maaaring maging mas nakapagtuturo kaysa sa mga nabuo sa mga nakaraang yugto. Halimbawa, sa halip na CK_PRICE constraint para sa DEMO.GOODS table (script 1.1), maaari mong isagawa ang kinakailangang pagsusuri sa trigger bago ipasok at i-update ang record at bumuo ng mensahe para sa user sa isang "ready" na form:

Kung ang presyo ng isang produkto ay mas mababa sa o katumbas ng zero, bubuo ng error ang server, halimbawa:

Maaaring ipadala agad ng client application ang mensaheng ito sa user nang walang pagbabago.

Ang isa pang dahilan ay maaaring ang paglitaw ng isang error kung saan ang pagbuo ng isang mensahe ay hindi ibinigay.

kanin. 1. Ang pagkakasunud-sunod ng pagbuo ng isang mensahe ng error sa database.

Gusto kong tandaan na kahit na ang application ay gumagamit lamang ng mga espesyal na mensahe ng error, ang paggamit ng isang karaniwang function upang makabuo ng mga mensahe ay mapapabuti ang istraktura ng programa. Kung kinakailangan, ang format ng mga espesyal na mensahe ay maaaring suportahan ang mga link sa sistema ng tulong, mga larawan, atbp. Ang inilarawang paraan ng pagbuo ng mga mensahe ng error sa database ay higit na nakatuon sa pagpapatupad sa aplikasyon ng kliyente. Kasabay nito, maaari itong magamit sa gilid ng server sa mga naka-imbak na pamamaraan, mga pag-trigger ng talahanayan, pati na rin sa mga pag-trigger ng system para sa database o schema SERVERERROR na kaganapan.

Konklusyon

Ang layunin ng artikulong ito ay ipakita ang mga pangunahing ideya ng isang paraan na maaaring magamit upang makabuo ng mga impormasyong mensahe ng error sa database ng Oracle para sa end user. Kahit na ang ilang mga punto ng pagpapatupad ay nanatili sa labas ng saklaw ng artikulo, nais kong umaasa na ang diskarte na inilarawan sa artikulo ay magbabawas ng mga gastos sa paggawa sa pagbuo ng software, mapabuti ang pagiging maaasahan at kalidad nito.

Kapag nangyari ang mga pagbubukod, mahalagang mag-isyu ng mga mensahe ng error na madaling gamitin. Nabanggit na ang mga pagbubukod sa seksyon sa mga pangunahing bloke ng PL/SQL. Ngayon ay oras na upang isaalang-alang ang mga ito nang mas detalyado.

Mga pagbubukod

Ang isang pagbubukod ay isang kundisyon ng error na naka-activate - o nasasabik - kapag may problema. Mayroong maraming iba't ibang mga pagbubukod, ang bawat isa ay nauugnay sa isang partikular na uri ng problema. Kapag naganap ang isang pagbubukod, ang pagpapatupad ng code ay hihinto sa pahayag na naghagis ng pagbubukod, at ang kontrol ay ililipat sa bahagi ng bloke na humahawak sa pagbubukod. Kung ang block ay hindi naglalaman ng isang executable na seksyon, PL/SQL ay sumusubok na makahanap ng isang executable na seksyon sa kasama ang batayang yunit (kalakip ang pangunahing bloke), i.e. sa isang bloke na panlabas sa code na naghagis ng pagbubukod. Kung walang tagapangasiwa para sa pagbubukod na ito sa agarang nakapaloob na bloke, pagkatapos ay ang paghahanap ay magpapatuloy sa mga bloke ng mga susunod na antas hanggang sa matagpuan ang isang angkop na tagapangasiwa, at kung hindi ito matagpuan, pagkatapos ay ang pagpapatupad ng programa ay hihinto sa isang hindi nahawakang mensahe ng error.

Ang exception-handling na bahagi ng block ay ang perpektong lugar para mag-isyu ng mga mensahe ng error na nagbibigay-kaalaman at magsagawa paglilinis (paglilinis), na nagbibigay-daan sa iyong alisin ang lahat ng maaaring magdulot ng kalituhan o problema sa hinaharap. Kung ang isang exception ay itinapon sa panahon ng pagpapatupad ng isang pamamaraan na nagpasok ng isang row sa isang talahanayan, ang karaniwang pamamaraan ng paglilinis ay maaaring magsama ng isang ROLLBACK na pahayag.

Kapag nailipat na ang kontrol sa isang exception handler, hindi na ito ibabalik sa statement na naging sanhi ng exception. Sa halip, inililipat ang kontrol sa nakapaloob na base block statement kaagad pagkatapos ng nested block o procedure/function call.

System Exceptions

Pamilyar ka na sa ZERO_DIVIDE exception na paunang natukoy sa PL/SQL. Mayroong ilang iba pang mga pagbubukod sa system na kinikilala at itinapon ng PL/SQL o Oracle. Ang talahanayan 1 ay nagbibigay ng mas kumpletong listahan ng mga pagbubukod sa system.

Sa PL/SQL, maaari kang magbigay ng impormasyon ng error sa mga user sa dalawang paraan. Ang unang paraan ay ang paggamit ng SQLCODE command, na nagbabalik ng error code. Ang code na ito ay isang negatibong numero, kadalasang katumbas ng bilang ng error sa ORA na na-print kapag natapos ang application kung ang pagbubukod ay hindi mahawakan. Ang pangalawang paraan ay ang pagbabalik ng text message na naglalarawan sa error. Hindi nakakagulat, ang kaukulang utos ay tinatawag na SQLERRM. Parehong SQLCODE at SQLERRM ay maaaring gamitin sa isang exception handler. Tandaan: Hindi lahat ng system exception ay may mga pangalan.

mesa1 . System Exceptions

pagbubukod ng system,error code

Dahilan ng pagpukaw

CURSOR_ MERON NA_ BUKAS

ORA-06511

Sinusubukang buksan ang nakabukas na cursor

DUP_VAL_ON_INDEX

ORA-00001

Sinusubukang magpasok ng isang duplicate na halaga sa isang column na may natatanging index at samakatuwid ay isang natatanging hadlang

INVALID_ CURSOR

ORA-01001

Sinusubukang kunin ang isang hindi pa nabubuksang cursor, o sinusubukang isara ang isang cursor na hindi pa nabubuksan

NO_DATA_FOUND

ORA-01403

Sinusubukang SELECT INTO kapag nagbalik ang SELECT ng zero row (at iba pang mga dahilan na lampas sa saklaw ng aklat na ito)

PROGRAMA_ ERROR

ORA-06501

Panloob na error. Karaniwang nangangahulugan na kailangan mong makipag-ugnayan sa Oracle Support

Imbakan_ ERROR

ORA-06500

Ang programa ay walang sapat na memorya ng system

TIMEOUT_ON_RESOURCE

ORA-00051

Ang programa ay naghintay ng masyadong mahaba para sa ilang mapagkukunan upang maging available

TOO_MANY_ROWS

ORA-01422

SELECT INTO sa PL/SQL ay nagbalik ng higit sa isang row

VALUE_ ERROR

ORA-06502

Nakatagpo ang PL/SOL ng invalid na conversion o truncation ng data, o invalid na hadlang sa data

ZERO_ PAGHAHATI

ORA-01476

Subukang hatiin sa zero

Lahat ng iba pang mga pagbubukod at panloob na mga error na hindi saklaw ng mga pagbubukod na tinukoy sa base block. Ginagamit kapag hindi mo alam nang eksakto kung aling pinangalanang exception ang hahawakan at gustong pangasiwaan ang anumang mga exception na itinapon

Ngayon bumalik tayo sa pinakaunang halimbawa sa kabanatang ito at gamitin ang SQLCODE at SQLERRM dito. Nasa ibaba ang source code ng halimbawa at ang mga resulta ng paglulunsad nito (Fig. 1).

Num_a NUMBER:= 6;

Num_b NUMBER;

Num_b:= 0;

Num_a:= Num_a / Num_b;

Num_b:= 7;

dbms_output. put_line(" Halaga ng Num_b "|| Num_b);

EXCEPTION

KAPAG ZERO_DIVIDE NOON

err_num NUMBER:= SQLCODE;

err_msg VARCHAR2(512) := SQLERRM;

dbms_output. put_line("ORA Error Number " || err_num);

dbms_output. put_line("ORA Error message " || err_msg);

dbms_output.put_line("Halaga ng Num_a " || Num_a);

dbms_output.put_line("Halaga ng Num_b " || Num_b);

SQL> itakda ang output ng server sa

SQL> IDEKLARA

2 num_a NUMBER:= 6;

3 num_b NUMBER;

4 NAGSIMULA

5 num_b:= 0;

6 num_a:= num_a / num_b;

7 num_b:= 7;

8 dbms_output. put_line(" Halaga ng num_b "|| num_b);

9 EXCEPTION

10 KAPAG ZERO_DIVIDE

11 NOON

13 err_num NUMBER:= SQLCODE;

14 err_msg VARCHAR2(512) := SQLERRM;

15 MAGSIMULA

16 dbms_output. put_line("ORA Error Number "|| err_num);

17 dbms_output. put_line("ORA Error message " || err_msg);

18 dbms_output. put_line("Halaga ng num_a " || num_a);

19 dbms_output. put_line("Halaga ng num_b " || num_b);

20 END;

21 END;

ORA Error Number -1476

ORA Error Message ORA-01476: ang divisor ay katumbas ng zero

Halaga ng num_а 6

Halaga ng num_b 0

Matagumpay na nakumpleto ang pamamaraan ng PL/SQL.

kanin. isa. Paggamit ng SQLCODE at SQLERRM kapag humahawak ng mga pagbubukod sa system

Ang mga administrator at programmer ng Oracle database ay minsan ay nahaharap sa kanilang trabaho na ang database ay nagsisimulang "sumumpa" at madalas sa isang wika na hindi lubos na malinaw. Sa artikulong ito, titingnan natin ang wika ng Oracle Error at mga mensahe ng babala. Ang lahat ng mga error ay pinagsama-sama sa malalaking seksyon at subsection upang matulungan ang mga user na mabilis na mag-navigate sa kung ano ang nangyayari at gumawa ng mga hakbang upang itama ang sitwasyon. Sa artikulong ito, titingnan natin ang mga pangkat unang libong Oracle error(sa pamamagitan ng mga saklaw mga code mula 0 hanggang 999), pati na rin ipaliwanag ang mga dahilan para sa kanilang hitsura kasama ng isang panukala para sa mga aksyon upang iwasto ang mga ito. Ang format ng error ay "ORA-xxxxx". Sa simula ay ang prefix na "ORA", at pagkatapos ay sa pamamagitan ng gitling ng limang-digit na error code.

Mga Grupo ng Error sa Oracle

Mga Mensahe ng Error ORA-00000 - ORA-00099

Ang mga mensahe ng ORA-00000 ay normal, matagumpay na nakumpleto, ibig sabihin, hindi isang error.

Methodological Kernel Access Errors 0001-0049

  • ORA-00001: duplicate na key sa index
  • ORA-00017: nalampasan ang maximum na bilang ng mga tawag
  • ORA-00018: nalampasan ang maximum na bilang ng mga session
  • ORA-00019: ang bilang ng mga session ay lumampas sa bilang ng mga lisensya
  • ORA-00020: nalampasan ang maximum na bilang ng mga proseso (num).
  • Ang ORA-00021 session ay ginagamit ng isa pang proseso. Huwag lumipat ng session
  • ORA-00022: di-wastong session id. Ang pag-access ay tinanggihan
  • ORA-00023: Ang session ay naglalaman ng mga pribadong memory reference. Hindi madiskonekta ang session
  • ORA-00024: koneksyon sa higit sa isang proseso na ipinagbabawal sa single user mode
  • ORA-00025: hindi mailagay ang [string]
  • ORA-00026: nawawala o di-wastong session id
  • ORA-00027: hindi masira ang kasalukuyang session
  • ORA-00028: nasira ang iyong session
  • ORA-00029: ang session ay hindi session ng user
  • ORA-00030: ang session ng user na may tinukoy na ID ay hindi umiiral
  • ORA-00031: sesyon na minarkahan para sa pagkawasak
  • ORA-00032: di-wastong password ng paglipat ng session
  • ORA-00033: kasalukuyang session na may walang laman na password sa paglipat
  • ORA-00034: hindi makapag-COMMIT o ROLLBACK sa kasalukuyang PL/SQL session
  • ORA-00035: Ang halaga ng LICENSE_MAX_USERS ay hindi maaaring mas mababa sa kasalukuyang bilang ng mga user
  • ORA-00036: maximum na bilang ng mga antas (halaga) ng SQL recursion na naabot
  • ORA-00037: hindi mailipat ang session sa isa pang pangkat ng server
  • ORA-00038: Hindi makagawa ng session. Ang pangkat ng server ay pagmamay-ari ng isa pang user

Mga error sa ENQ 0050-0080

  • ORA-00050: error sa operating system habang kumukuha ng queue
  • ORA-00051: nag-time out ang mapagkukunan
  • ORA-00052: nalampasan ang maximum na bilang ng mga ibinalik na mapagkukunan
  • ORA-00053: nalampasan ang maximum na bilang ng mga pila
  • ORA-00054: abala ang mapagkukunan sa pag-access ng NOWAIT pointer
  • ORA-00055: nalampasan ang maximum na bilang ng mga DML lock
  • ORA-00056: Ang DDL lock ay inilalagay sa isang naka-lock na bagay
  • ORA-00057: nalampasan ang maximum na bilang ng mga pansamantalang lock ng mesa
  • ORA-00058: Ang DB_BLOCK_SIZE ay dapat na katumbas ng database na ini-mount
  • ORA-00059: Lumampas ang value ng parameter ng DB_FILES
  • ORA-00060: nagkaroon ng deadlock habang naghihintay ng resource
  • ORA-00061: iba't ibang instance ang may iba't ibang setting ng DML_LOCK
  • ORA-00062: Hindi makukuha ang DML lock sa buong mesa. Ang setting ng DML_LOCKS ay null
  • ORA-00063: Lumagpas ang value ng parameter ng LOG_FILES
  • ORA-00064: hindi maaaring ilagay ang bagay, ito ay masyadong malaki para sa operating system
  • ORA-00065: error sa pagsisimula ng parameter FIXED_DATE
  • ORA-00066: Ang mga halaga ng LOG_FILES ay hindi tugma
  • ORA-00067: invalid na value para sa string parameter, dapat ay isang string
  • ORA-00068: invalid na value para sa string parameter, dapat na string
  • ORA-00069: hindi mai-lock ang talahanayan - tinanggihan ang lock sa [string]
  • ORA-00070: hindi wasto ang command [string].
  • ORA-00071: ang bilang ng mga proseso ay dapat na higit sa 1:
  • ORA-00072: Ang tinukoy na proseso ay hindi aktibo
  • ORA-00073: di-wastong bilang ng mga argumento na tinukoy para sa utos
  • ORA-00074: walang tinukoy na proseso
  • ORA-00075: hindi nahanap ang proseso [string] sa kasalukuyang pagkakataon
  • ORA-00076: hindi nakita ang dump [string].
  • ORA-00077: Ang tinukoy na dump ay hindi wasto
  • ORA-00078: hindi malutas ang dump sa pamamagitan ng pangalan
  • ORA-00079: variable [value] not found
  • ORA-00080: isang pagtatangka ay ginawa upang itapon ang isang hindi wastong lugar ng memorya
  • ORA-00081: ang tinukoy na hanay ay hindi wasto
  • ORA-00082: memory range na wala sa tinukoy na range
  • ORA-00083: Posibleng sira ang SGA
  • ORA-00084: Ang Global Area ay dapat PGA, SGA o UGA
  • ORA-00085: kasalukuyang tawag ay hindi umiiral
  • ORA-00086: walang tawag sa user
  • ORA-00087: hindi maaaring isagawa ang utos sa malayong pagkakataon
  • ORA-00088: hindi maipatupad ang command ng shared server
  • ORA-00089: di-wastong instance number sa ORADEBUG command
  • ORA-00090: Nabigo ang command ng ORADEBUG na wastong maglaan ng memory sa isang clustered database
  • ORA-00091: LARGE_POOL_SIZE ay dapat na tukuyin
  • ORA-00092: Ang LARGE_POOL_SIZE ay dapat na mas malaki kaysa sa LARGE_POOL_MIN_ALLOC
  • ORA-00093: %s na tinukoy nang hindi tama
  • ORA-00094: Ang %s ay dapat maglaman ng isang Integer na halaga
  • ORA-00096: invalid na value [value] para sa parameter [value], dapat nasa range
  • ORA-00097: Ang mga tampok ng Oracle SQL ay hindi suportado ng SQL92:
  • ORA-00099: Nag-time out ang mapagkukunan. Potensyal na deadlock ng PDML

Mga error sa rehiyon at segment ORA-00100 - ORA-00299

  • ORA-00100: walang nakitang data
  • ORA-00101: di-wastong detalye ng mga DISPATCHERS ng parameter ng system
  • ORA-00102: Ang tinukoy na network protocol ay hindi magagamit ng mga dispatcher
  • ORA-00103: di-wastong network protocol, nakalaan para sa paggamit ng mga dispatcher
  • ORA-00104: nakita ang deadlock, na-block ang lahat ng available na server, naghihintay ng mapagkukunan
  • ORA-00105: masyadong maraming configuration ng dispatcher
  • ORA-00106: hindi masisimulan o mahinto ang database habang nakakonekta sa dispatcher
  • ORA-00107: hindi makakonekta sa proseso ng listener ng ORACLE
  • ORA-00108: hindi ma-configure ang dispatcher upang tanggapin ang mga asynchronous na koneksyon
  • ORA-00111: di-wastong katangian [string]
  • ORA-00112: ang halaga ng katangian ay null
  • ORA-00113: masyadong mahaba ang pangalan ng protocol [string].
  • ORA-00114: di-wastong halaga para sa parameter ng system na SERVICE_NAMES
  • ORA-00115: nahulog ang koneksyon, puno ang talahanayan ng koneksyon
  • ORA-00116: Ang halaga ng SERVICE_NAMES ay di-wasto
  • ORA-00117: Dapat tukuyin ang PROTOCOL, ADDRESS o DESCRIPTION
  • ORA-00118: isang halaga lang ng PROTOCOL, ADDRESS o DESCRIPTION ang maaaring tukuyin
  • ORA-00119: di-wastong value ng parameter ng system
  • ORA-00120: hindi pinapayagan o hindi naka-install ang dispatcher
  • ORA-00121: SHARED_SERVERS na tinukoy nang walang DISPATCHERS na opsyon
  • ORA-00122: hindi masimulan ang configuration ng network
  • ORA-00123: idle shared server
  • ORA-00124: DISPATCHERS na tinukoy nang walang MAX_SHARED_SERVERS
  • ORA-00125: pag-reset ng koneksyon; maling akala
  • ORA-00126: pag-reset ng koneksyon; kontradiksyon
  • ORA-00127: wala ang dispatcher
  • ORA-00128: ang utos ay nangangailangan ng pangalan ng dispatcher
  • ORA-00129: di-wastong listen address
  • ORA-00130: di-wastong listen address
  • ORA-00131: hindi sinusuportahan ng network protocol ang tinukoy na pagpaparehistro
  • ORA-00132: error sa syntax o di-wastong pangalan ng network
  • ORA-00150: duplicate na transaction id
  • ORA-00151: duplicate na transaction id
  • ORA-00152: hindi tumutugma ang kasalukuyang session sa hiniling na session
  • ORA-00153: error sa XA library
  • ORA-00154: error sa protocol sa monitor ng transaksyon
  • ORA-00155: hindi maaaring magsagawa ng trabaho sa labas ng pandaigdigang transaksyon
  • ORA-00160: ang pangalan ng pandaigdigang transaksyon ay lumampas sa maximum na haba
  • ORA-00161: di-wasto ang haba ng transaksyon
  • ORA-00162: lumampas ang external database id sa max na halaga
  • ORA-00163: ang pangalan ng panlabas na database ay lumampas sa maximum na halaga
  • ORA-00164: hindi pinahihintulutan ang mga ipinamahagi na autonomous na transaksyon sa itaas ng mga portable na ipinamamahaging transaksyon
  • ORA-00165: mga offline na portable na ipinamamahaging transaksyon na hindi pinapayagan ang mga malalayong operasyon
  • ORA-00200: hindi malikha ang control file
  • ORA-00201: ang bersyon ng control file [string] ay hindi tugma sa bersyon ng ORACLE [string]
  • ORA-00202: control file: [string]
  • ORA-00203: hindi wastong control file ang ginamit
  • ORA-00204: error sa pagbabasa ng data block (block [string], blocks [string]) sa control file
  • ORA-00205: nabigo ang control file identification. Tingnan ang log para sa higit pang impormasyon
  • ORA-00206: error sa pagsulat upang kontrolin ang file (block [string], blocks [string])
  • ORA-00207: control file na hindi mula sa database na ito
  • ORA-00208: ang bilang ng mga control file ay lumampas sa pinapayagang halaga [string]
  • ORA-00209: hindi tumugma ang control file data block. Tingnan ang log para sa higit pang impormasyon
  • ORA-00210: Hindi mabuksan ang tinukoy na control file
  • ORA-00211: ang control file ay hindi tumutugma sa nakaraan
  • ORA-00212: laki ng block [string] mas mababa sa minimum na kinakailangan [string]
  • ORA-00213: hindi magagamit muli ang control file, laki ng file %1: %2 kinakailangan:
  • ORA-00214: hindi tugma ang bersyon ng control file sa bersyon ng file
  • ORA-00215: dapat mayroong kahit isang control file
  • ORA-00216: hindi mababago ang laki ng control file para sa pag-port mula sa 8.0.2:
  • ORA-00217: hindi mababago ang laki ng control file upang lumipat mula sa 9.0.1:
  • ORA-00218: ang laki ng data block ng mga control file ay hindi tumutugma sa laki na tinukoy ng DB_BLOCK_SIZE
  • ORA-00219: ang laki ng control file ay lumampas sa laki ng nakatakda
  • ORA-00220: hindi maisama ang control file, tingnan ang alert-log para sa higit pang mga detalye
  • ORA-00221: error sa pagsulat upang kontrolin ang file
  • ORA-00222: sinusubukang gamitin ng operasyon ang pangalan ng naka-mount na control file
  • ORA-00223: Ang file na kino-convert ay hindi wasto o may maling bersyon
  • ORA-00224: nabigong baguhin ang laki ng control file na may maling uri ng record
  • ORA-00225: ang inaasahang laki ng control file [string] ay naiiba sa aktwal na laki [string]
  • ORA-00226: hindi posible ang operasyon habang nakabukas ang kahaliling control file
  • ORA-00227: corrupt data block na natagpuan sa control file (block [string] blocks [string]).
  • ORA-00228: ang haba ng kahaliling control file name ay lumampas sa pinapayagang halaga [string]
  • Tinanggihan ang operasyon ng ORA-00229. Ang snapshot file ay nakapila na at pinoproseso na.
  • Tinanggihan ang operasyon ng ORA-00230. Hindi available ang control file snapshot queue
  • ORA-00231: hindi pinangalanan ang snapshot ng control file
  • ORA-00232: ang control file snapshot ay hindi umiiral, sira o hindi nababasa
  • ORA-00233: nasira o hindi nababasa ang kopya ng control file
  • ORA-00234: error sa pagtukoy o pagbubukas ng snapshot o pagkopya ng control file
  • ORA-00235: na-block ang control file para sa parallel na pagbabago
  • ORA-00236: nakansela ang snapshot, napili ang fallback control file
  • ORA-00237: hindi pinapayagan ang snapshot operation. Gumawa ng bagong control file
  • ORA-00238: sinusubukang gamitin ng operasyon ang filename bilang pangalan ng database
  • ORA-00250: hindi tumatakbo ang archiver
  • ORA-00251: Ang LOG_ARCHIVE_DUPLEX_DEST ay hindi maaaring pareho sa direktoryo ng %1:
  • ORA-00252: walang laman ang log. Hindi posible ang pag-archive
  • ORA-00253: ang haba ng tinukoy na string ay lumampas sa limitasyon
  • ORA-00254: error sa archive control line
  • ORA-00255: error habang nag-a-archive ng log file
  • ORA-00256: May naganap na error habang nag-parse ng archive string
  • ORA-00257: error sa archiver. Hindi ako makakonekta habang abala ang mapagkukunan
  • ORA-00258: Dapat tukuyin ang manu-manong pag-archive sa NOARCHIVELOG log
  • ORA-00259: ang open instance log ay kasalukuyang log at hindi maaaring i-archive
  • ORA-00260: hindi mahanap ang aktibong queue log [string] para sa thread [string]
  • ORA-00261: ang log ay binago o na-archive
  • ORA-00262: kasalukuyang log [string] ay abala sa isa pang thread [string], hindi maaaring lumipat
  • ORA-00263: walang mga log na i-archive para sa stream [string]
  • ORA-00264: hindi kailangan ng pag-restore
  • ORA-00265: Kinakailangan ang pagbawi ng pagkakataon, ngunit maaaring itakda ang ARCHIVELOG mode
  • ORA-00266: kailangan ang pangalan ng archive log
  • ORA-00267: hindi kailangan ang pangalan ng archive log
  • ORA-00268: Ang tinukoy na log file ay hindi umiiral
  • ORA-00269: Ang tinukoy na log file ay bahagi ng stream [string] hindi [string]
  • ORA-00270: error sa paggawa ng archive log [string]
  • ORA-00271: walang mga log na i-archive
  • ORA-00272: error sa pagsulat sa archive log [string]
  • ORA-00273: Pagpapanumbalik ng data na na-load nang direkta nang walang pag-log
  • ORA-00274: di-wastong halaga ng parameter ng pagbawi [value] na tinukoy
  • ORA-00275: nasimulan na ang proseso ng pagbawi
  • ORA-00276: PALITAN ang tinukoy na keyword ngunit walang tinukoy na numero ng pagbabago
  • ORA-00277: di-wastong opsyon sa pagpapanumbalik HANGGANG mag-flag [string]
  • ORA-00278: log file [string] ay hindi na kailangan para sa pagbawi
  • ORA-00279: kailangan ang pangalan ng log file
  • ORA-00280: kinakailangang pangalan ng stream at sequence
  • ORA-00281: hindi maisagawa ang pag-restore gamit ang dispatcher
  • ORA-00282: Hindi suportado ang tawag sa UPI, gumamit ng ALTER DATABASE RECOVER
  • ORA-00283: nakansela ang sesyon ng pagpapanumbalik dahil sa mga error
  • ORA-00284: kasalukuyang sesyon ng pagbawi
  • ORA-00285: di-wastong halaga ng TIME
  • ORA-00286: walang available na file o valid na data file
  • ORA-00287: ang tinukoy na numero ng pagbabago [string] ay hindi nakita sa stream [string]
  • ORA-00288: gumamit ng ALTER DATABASE RECOVER CONTINUE para ipagpatuloy ang pagbawi
  • ORA-00289: variable [value]
  • ORA-00290: Error sa operating system. Tingnan ang mensahe ng error sa ibaba
  • ORA-00291: PARALLEL ay nangangailangan ng isang numerong halaga
  • ORA-00292: hindi naka-install ang parallel restore component
  • ORA-00293: hindi naka-sync ang control file sa redo log
  • ORA-00294: di-wastong format na tinukoy para sa archive log [string]
  • ORA-00295: di-wastong data/temp data file number [string], dapat nasa pagitan ng 1: at [string]
  • ORA-00296: Lumampas ang halaga ng RECOVER DATAFILE LIST
  • ORA-00297: kinakailangang tukuyin ang RECOVER DATAFILE LIST bago MAGSIMULA ang RECOVER DATAFILE
  • ORA-00298: nawawala o di-wastong value ng attribute
  • ORA-00299: pagpapanumbalik ng antas ng file ng data file %1

Mga error sa pamamahala ng I/O sa database ORA-00300 - ORA-00399

Mga error sa pamamahala sa pagpasok at paglabas mula sa database ng Oracle:

  • ORA-00300: di-wastong sukat ng redo log block, ang tinukoy na laki [string] ay lumampas sa limitasyon ng laki [string]
  • ORA-00301: error sa pagdaragdag ng log file [string] - hindi malikha ang file
  • ORA-00302: nalampasan ang limitasyon para sa bilang ng mga redo file
  • ORA-00303: hindi maisagawa ang Parallel Redo
  • ORA-00304: hiniling na INSTANCE_NUMBER ay abala
  • ORA-00305: ang log [string] ng thread [string] ay hindi pare-pareho at kabilang sa isa pang database
  • ORA-00306: naabot ang limitasyon ng halimbawa [string]
  • ORA-00307: humiling ng INSTANCE_NUMBER na wala sa saklaw, max [string]
  • ORA-00308: hindi mabuksan ang archive log [string]
  • ORA-00309: ang log ay kabilang sa isa pang database
  • ORA-00310: ang naka-archive na log ay naglalaman ng sequence [string]; kinakailangang sequence [value]
  • ORA-00311: Hindi mabasa ang header ng archive log
  • ORA-00312: available log [string] thread [string]
  • ORA-00313: error sa pagbubukas ng loggroup file [string] stream [string]
  • ORA-00314: log [string], ang inaasahang sequence [string] ay hindi tumutugma sa [string]
  • ORA-00315: log [string] stream [string], invalid value [string] sa header
  • ORA-00316: log [string], value [string] sa header ay nagpapahiwatig na hindi ito log file
  • ORA-00317: ang tinukoy na file [string] ay hindi isang log file
  • ORA-00318: ang log [string] ay lumampas sa pinapayagang laki [string] ay hindi tumutugma sa [string]
  • ORA-00319: ang log [string] ay may hindi tamang flush status
  • ORA-00320: hindi mabasa ang header ng file [string] ng stream [string]
  • ORA-00321: Hindi ma-update ang data sa log file header [string] stream [string]
  • ORA-00322: log [string] ng thread [string] ay hindi ang kasalukuyang kopya
  • ORA-00323: kasalukuyang stream log [string] ay hindi magagamit at lahat ng iba ay kailangang i-archive
  • ORA-00324: masyadong mahaba ang pangalan ng file ng log [string] isinalin [string], lumampas sa limitasyon [string]
  • ORA-00325: stream archive log [string] ay naglalaman ng di-wastong halaga ng header [string]
  • ORA-00326: ang log ay nagsisimula sa [string], dati nang binago ang [string] na kinakailangan
  • ORA-00327: log [string] ng stream [string] ay may pisikal na laki [string] mas mababa kaysa sa kinakailangan [string]
  • ORA-00328: nagtatapos ang naka-archive na log sa [string], kailangan ng pagbabago sa ibang pagkakataon [string]
  • ORA-00329: ang naka-archive na log ay nagsisimula sa [string], kailangang baguhin ang [string]
  • ORA-00330: nagtatapos ang archive log sa [string], kailangan ng pagbabago [string]
  • ORA-00331: ang bersyon ng log [string] ay hindi tugma sa bersyon ng ORACLE [string]
  • ORA-00332: napakaliit ng archive log, posibleng hindi ganap na naka-archive
  • ORA-00333: redo log read [string] bad blocks mula sa available [string]
  • ORA-00334: archive log [string]
  • ORA-00335: magagamit ang log [string]: Walang log na may ganitong numero, walang log
  • ORA-00336: laki ng bloke ng log file na mas mababa sa minimum na laki ng bloke [string]
  • ORA-00337: log file [string] ay hindi umiiral at ang laki ay hindi tinukoy
  • ORA-00338: mag-log [string] na mas malaki kaysa sa huling halaga ng control file
  • ORA-00339: ang naka-archive na log ay hindi naglalaman ng anumang mga muling pagsubok
  • ORA-00340: I/O error habang pinoproseso ang log [string] ng thread [string]
  • ORA-00341: ang log file [string] ay may di-wastong numero ng header [string]
  • ORA-00342: archive log ay walang impormasyon sa SCN [string]
  • ORA-00343: masyadong maraming error, sarado ang log
  • ORA-00344: hindi muling likhain ang magagamit na log [string]
  • ORA-00345: error sa pagsulat upang gawing muli ang log, harangan ang [string] kabuuang [string]
  • ORA-00346: journal na minarkahan bilang luma na (STALE)
  • ORA-00347: log [string] ng thread [string] ay may block size [string], hindi tugma, dapat [string]
  • ORA-00348: nabigong gawing muli ang pagpoproseso ng pagbawi, dapat ihinto ang instance
  • ORA-00349: Nabigo ang pagkuha ng laki ng block para sa [string].
  • ORA-00350: log [string] (stream [string]) ng instance [string] ay kailangang i-archive
  • ORA-00351: di-wastong oras ng pagbawi
  • ORA-00352: lahat ng mga log mula sa stream [string] ay dapat na naka-archive - hindi pinapayagan
  • ORA-00353: corrupt log block [string] baguhin [string] oras [string]
  • ORA-00354: sira ang header ng block ng redo log
  • ORA-00355: baguhin ang numero sa labas ng pagkakasunud-sunod
  • ORA-00356: di-wastong pagbabago sa haba ng paglalarawan
  • ORA-00357: masyadong maraming miyembro na tinukoy para sa log file, max [string]
  • ORA-00358: masyadong maraming miyembro ang tinukoy, max [string]
  • ORA-00359: log file group [string] ay hindi umiiral
  • ORA-00360: Hindi miyembro ng log file: [string]
  • ORA-00361: hindi maalis ang huling log [string] mula sa pangkat [string]
  • ORA-00362: ang kinakailangang miyembro ay isang wastong log file sa pangkat [string]
  • ORA-00363: hindi naka-archive ang log
  • ORA-00364: hindi magsulat sa bagong log header
  • ORA-00365: Ang tinukoy na log ay hindi wasto
  • ORA-00366: Mag-log [string] stream [string], checksum error sa file header
  • ORA-00367: checksum error sa file header
  • ORA-00368: checksum error sa redo log block
  • ORA-00369: kasalukuyang log ng thread [string] sira at iba pang log na-clear
  • ORA-00371: hindi sapat ang memorya sa shared pool, dapat ay hindi bababa sa [string]
  • ORA-00372: hindi mabago ang file [string] sa ngayon
  • ORA-00373: ang open log version [string] ay hindi tugma sa ORACLE version [string]
  • ORA-00374: value ng parameter db_block_size=[value] ay hindi wasto; dapat ay composite sa hanay [value..value]
  • ORA-00375: hindi makakuha ng default na halaga ng db_block_size
  • ORA-00376: hindi mababasa ang file [string] sa ngayon
  • ORA-00377: ang madalas na pag-backup ng file [string] ay nagdudulot ng deadlock sa mga operasyon ng pagsulat
  • ORA-00378: hindi malikha ang buffer cache gaya ng tinukoy
  • ORA-00379: walang libreng buffer sa buffer cache [string] para sa block [string]K
  • ORA-00380: hindi maaaring tukuyin ang db_[value]k_cache_size [value]K ang karaniwang laki ng block.
  • ORA-00381: hindi maaaring gumamit ng luma at bagong mga opsyon upang tukuyin ang laki ng buffer cache
  • ORA-00382: %s invalid block size, valid value [str..value]
  • ORA-00383: ang default na halaga ng cache ay hindi maaaring bawasan sa zero
  • ORA-00384: hindi sapat na memorya para mapalago ang cache
  • ORA-00390: na-clear ang log [string] ng thread [string] at hindi maaaring ang kasalukuyang log
  • ORA-00391: lahat ng mga thread mula ngayon ay dapat lumipat sa bagong format ng log
  • ORA-00392: na-clear ang log [string] ng thread [string], hindi pinapayagan ang operasyon
  • ORA-00393: mag-log [string] ng thread [string] na kailangan upang maibalik ang isang offline na database.
  • ORA-00394: magagamit muli ang log habang nag-a-archive
  • ORA-00395: ang log para sa database clone ay dapat palitan ang pangalan
  • ORA-00396: ang error [string] ay nangangailangan ng rollback sa single pass restore
  • ORA-00397: instance restore aborted with error
  • ORA-00398: ibinalik ang aborted bago ang tamang reconfiguration
  • ORA-00399: tiwaling paglalarawan ng mga pagbabago sa redo log

Mga error sa pagsisimula sa database ORA-00400 - ORA-00499

  • ORA-00400: di-wastong halaga [string] para sa parameter [string]
  • ORA-00401: hindi sinusuportahan ng bersyong ito ang value para sa parameter [value].
  • ORA-00402: ang mga pagbabago sa database ng bersyon [string] ay hindi magagamit ng bersyon [string]
  • ORA-00403: Ang [string] ay hindi katulad ng ibang mga pagkakataon ng [string]
  • ORA-00404: Hindi nahanap ang na-convert na file: [string]
  • ORA-00405: uri ng compatibility [string]
  • ORA-00406: Ang tugmang opsyon ay nangangailangan ng [string] o mas mataas
  • ORA-00407: Rollback upgrade mula sa bersyon [string].[string] sa bersyon [string].[string] ay hindi pinapayagan
  • ORA-00408: value ng parameter [string] na nakatakda sa TRUE
  • ORA-00436: Ang Oracle ay hindi lisensyado. Makipag-ugnayan sa Oracle Corporation para sa Tulong
  • ORA-00437: Hindi lisensyado ang mga advanced na feature ng Oracle. Makipag-ugnayan sa Oracle Corporation para sa Tulong
  • ORA-00438: hindi nakatakda ang opsyon na [string].
  • ORA-00439: hindi pinapayagan ang opsyonal na tampok: [string]
  • ORA-00443: hindi tumatakbo ang proseso sa background [string].
  • ORA-00444: Nabigo ang proseso ng background [string] sa pagsisimula
  • ORA-00445: ang proseso sa background [string] ay hindi nagsimula pagkatapos ng [string] na mga segundo na lumipas
  • ORA-00446: nagsimula ang proseso sa background nang hindi inaasahan
  • ORA-00447: kritikal na error sa proseso ng background
  • ORA-00448: normal na pagwawakas ng isang proseso sa background
  • ORA-00449: ang proseso sa background [string] ay biglang natapos nang may error [string]
  • ORA-00470: Lumabas ang proseso ng LGWR nang may error
  • ORA-00471: Ang proseso ng DBWR ay lumabas nang may error
  • ORA-00472: ang proseso ng pmon ay lumabas nang may error
  • ORA-00473: Ang proseso ng ARCH ay lumabas nang may error
  • ORA-00474: lumabas ang proseso ng smon nang may error
  • ORA-00475: Lumabas ang proseso ng TRWR nang may error
  • ORA-00476: Lumabas ang proseso ng RECO nang may error
  • ORA-00477: Ang proseso ng SNP* ay lumabas nang may error
  • ORA-00478: lumabas ang proseso ng smon nang may error [string]
  • ORA-00480: Ang proseso ng LCK* ay lumabas nang may error
  • ORA-00481: Lumabas ang proseso ng LMON nang may error
  • ORA-00482: Ang proseso ng LMD* ay lumabas nang may error
  • ORA-00483: abnormal na natapos ang proseso sa panahon ng shutdown
  • ORA-00484: Ang proseso ng LMS* ay lumabas nang may error
  • ORA-00485: Ang proseso ng DIAG ay lumabas nang may error [string]

Mga Mensahe ng Error ORA-00500 - ORA-00599

  • ORA-00568: nalampasan ang maximum na bilang ng mga interrupt ng handler

Mga error sa pagbawi ng kalamidad ORA-00600 - ORA-00699

  • ORA-00600: Panloob na error code, mga argumento [value], [value], [value], [value], [value], [value], [value], [value]
  • ORA-00601: net lock conflict
  • ORA-00602: pagbubukod sa panloob na software
  • ORA-00603: Ang session ng Oracle server ay winakasan ng isang kritikal na error
  • ORA-00604: naganap ang error sa recursive SQL level [string]
  • ORA-00606: panloob na error code
  • ORA-00607: Panloob na error habang binabago ang block ng data

Mga error sa diksyunaryo ORA-00700 - ORA-00799

  • ORA-00701: bagay na kinakailangan upang simulan ang database ay hindi maaaring baguhin
  • ORA-00702: bersyon ng loader [string] hindi tugma sa bersyon [string]
  • ORA-00703: nalampasan ang maximum na bilang ng mga instance row cache lock
  • ORA-00704: hindi normal na natapos ang proseso ng boot
  • ORA-00705: di-wastong estado sa panahon ng pagsisimula; itigil ang instance at i-restart
  • ORA-00706: error sa pagbabago ng format ng file [string]

Pangkalahatang mga error sa ORACLE ORA-00800 - ORA-00899

  • ORA-0800: Ang proseso ng pagsulat ng buffer ay hindi aktibo(ang proseso ng pagsulat sa buffer ay hindi aktibo).
    Dahilan: Ang problema ay nauugnay sa isang pagtatangka na simulan ang ORACLE, na naging dahilan upang maalis ang proseso ng pagsulat sa buffer. Karaniwan, ang mensaheng ito ay ibinibigay kasama ng isang mensahe ng error sa system na nagpapaliwanag ng dahilan ng pagkabigo.
    Aksyon: Gamitin ang mensahe ng error sa system (kung mayroon man) upang malaman ang sanhi ng error. Kung walang system error, sumangguni sa ORACLE Installation Guide para sa isang listahan ng mga kinakailangan. Tiyaking tama ang lahat ng lohikal na pangalan ng ORACLE, na may sapat na libreng puwang sa disk sa direktoryo ng ORACLE, at may sapat na mga pandaigdigang seksyon at pahina. Tiyakin din na ang badyet ng ORACLE ay may kinakailangang priyoridad. Kung hindi natukoy ang pinagmulan ng problema, sumangguni sa naaangkop na software sa pag-install.
  • ORA-0801: pagkatapos ng proseso ng pagsulat ng imahe ay hindi aktibo
    Dahilan: Hindi sinusuportahan ang property na ito.
    Aksyon: Mangyaring sumangguni sa kaukulang software sa pag-install.
  • ORA-0802: di-wastong lugar ng konteksto
    Dahilan
    Aksyon
  • ORA-0805: opioidr: hindi pare-parehong numero ng antas ng recursion
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0806: bago ang proseso ng imahe ay hindi aktibo
    Dahilan
    Aksyon
  • ORA-0807: ang proseso ng paglilinis ay hindi aktibo
    Dahilan: Ang problema ay nauugnay sa isang pagtatangka na simulan ang ORACLE, na naging dahilan upang makansela ang proseso ng pag-preview. Karaniwan, ang mensaheng ito ay inilalabas kasama ng isang mensahe ng error sa system na nagpapaliwanag ng dahilan ng pagkabigo.
    Aksyon: Gamitin ang mensahe ng error sa system (kung mayroon man) upang malaman ang sanhi ng error. Kung walang error sa system, sumangguni sa gabay sa pag-install ng ORACLE para sa iyong operating system upang ma-verify ang tamang pag-install. Kung hindi natukoy ang pinagmulan ng problema, sumangguni sa naaangkop na software sa pag-install.
  • ORA-0809: opispf: di-wastong code ng espesyal na function.
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0810: opiomc: ang lugar ng konteksto ay hindi na-remap sa orihinal na mga address
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0811: hindi aktibo ang proseso ng readahead
    Dahilan: Ang problema ay nauugnay sa isang pagtatangka na simulan ang ORACLE, na naging dahilan upang makansela ang proseso ng read-ahead. Karaniwan, ang mensaheng ito ay ibinibigay kasama ng isang mensahe ng error sa system na nagpapaliwanag ng dahilan ng pagkabigo.
    Aksyon: Gamitin ang mensahe ng error sa system (kung mayroon man) upang malaman ang sanhi ng error. Kung walang error sa system, sumangguni sa gabay sa pag-install ng ORACLE para sa iyong operating system upang ma-verify ang tamang pag-install. Kung hindi natukoy ang pinagmulan ng problema, sumangguni sa naaangkop na software sa pag-install.
  • ORA-0813: pagkabigo ng paninindigan (inalis ang apendiks).
    Dahilan:Ito ay isang panloob na mensahe ng error na nauugnay sa ORACLE SORT. Hindi ito maaaring mangyari sa normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0814: ltbdrv: illegal lock mode
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00816: Nabigo ang pagsasalin ng mensahe ng error
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0817: prsgkw: hindi nakita ang internal na error token
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-0818: opispf: osf masyadong malaki
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.

Mga error sa syntax ORA-00900 - ORA-00999

  • ORA-00900: di-wastong SQL statement.
    Dahilan: Ang pahayag na iyong inilagay ay hindi kinilala bilang isang wastong SQL command.
    Aksyon: Suriin kung may mga typo, tiyaking nagsisimula ang mga keyword ng SQL command sa isa sa mga sumusunod na salita: ALTER, AUDIT, CREATE, DELETE, DROP, GRANT, INSERT, NOAUDIT, RENAME, REVOKE, SELECT, UPDATE, LOCK, VALIDATE. Ang iba pang mga utos ay magiging sanhi ng error na ito.
  • ORA-00901: invalid CREATE command syntax / Invalid create command.
    Dahilan: Isang di-wastong opsyon na CREATE ang ginamit sa command na CREATE.
    Aksyon: Suriin kung may mga typo, siguraduhin na ang CREATE command ay sinusundan ng isa sa mga sumusunod na opsyon: INDEX, PARTITION, SPACE DEFINITION, SYNONYM, TABLE, o VIEW.
  • ORA-00902: di-wastong uri ng data.
    Dahilan: Ang inilagay na uri ng data sa isang CREATE o ALTER TABLE na pahayag ay hindi wasto.
    Aksyon: Suriin kung may mga typo, siguraduhin na ang bawat pangalan ng column ay sinusundan ng isa sa mga sumusunod na uri ng data: DATA, CHAR, NUMBER, RAW, LONG, o LONG RAW.
  • ORA-00903: di-wastong pangalan ng talahanayan.
    Dahilan: Ang ipinasok na mga pangalan ng talahanayan o pangkat ay hindi umiiral o hindi wasto. Lumalabas din ang mensaheng ito kung ang isang di-wasto o hindi umiiral na pangalan ng grupo ay tinukoy sa command na ALTER/DROP CLUSTER.
    Aksyon: Suriin kung may mga typo. Ang isang wastong pangalan ng grupo ay dapat magsimula sa isang titik at naglalaman lamang ng mga titik, numero, at mga espesyal na character: $, #, at _. Ang pangalan ay dapat na hindi lalampas sa 30 character at hindi dapat isang reserbang salita.
  • ORA-00904: di-wastong pangalan ng column.
    Dahilan: Ang inilagay na pangalan ng column ay nawawala o hindi wasto.
    Aksyon: Maglagay ng wastong pangalan ng column. Ang isang wastong pangalan ay dapat magsimula sa isang titik at naglalaman lamang ng mga titik, numero, at mga espesyal na character: $, #, at _. Ang pangalan ay dapat na hindi lalampas sa 30 character at hindi dapat isang reserbang salita. Kung naglalaman ito ng iba pang mga character, dapat ay nasa double quotes ito.
  • ORA-00905: nawawalang keyword.
    Dahilan: Ang kinakailangang keyword ay tinanggal.
    Aksyon: Suriin ang command syntax at magdagdag ng mga nawawalang keyword.
  • ORA-00906: nawawala ang kaliwang panaklong.
    Dahilan: Inalis ang kinakailangang kaliwang panaklong. Ang mga pangunahing command (gaya ng CREATE TABLE, CREATE CLUSTER, at INSERT) ay nangangailangan ng isang listahan ng mga item na nakapaloob sa mga panaklong. Kinakailangan din ang mga panaklong sa paligid ng mga pagkakasunud-sunod sa sugnay na WHERE at sa UPDATE table SET column = (PUMILI ...).
    Aksyon: Suriin ang syntax ng command at ipasok ang mga nawawalang bracket.
  • ORA-00907: nawawala ang kanang panaklong
    Dahilan: Ang kaliwang panaklong ay ipinasok nang walang pansarang kanang panaklong, o ang nakaraang impormasyon ay nakapaloob sa mga panaklong. Lahat ng panaklong ay dapat na ipares.
    Aksyon: Maglagay ng pansarang kanang bracket.
  • ORA-00908: nawawalang NULL na keyword
    Dahilan: Sa CREATE o ALTER TABLE na mga pahayag, NOT ay ipinakilala upang ipahiwatig na walang null values ​​ang pinapayagan sa column na ito, ngunit ang NULL na keyword ay tinanggal.
    Aksyon: Kung kailangan mo ng value sa column na ito, palitan ang NOT keyword ng NOT NULL.
  • ORA-00909: di-wastong bilang ng mga argumento
    Dahilan: Ang isang reference sa isang built-in na ORACLE function ay ginawa gamit ang maling bilang ng mga argumento. Lahat ng ORACLE function maliban sa SYSDATE ay nangangailangan ng hindi bababa sa isang argumento.
    Aksyon: Suriin ang command syntax at ilagay ang kinakailangang bilang ng mga argumento.
  • ORA-00910: masyadong malaki ang tinukoy na haba para sa CHAR colum
    Dahilan: Hindi tinukoy o mali ang tinukoy na laki ng field ng character. Dapat mong tukuyin ang maximum na haba para sa bawat column ng mga character. Ang haba na ito ay maaaring tumagal ng mga value mula 0: hanggang 240: .
    Aksyon: Ilagay ang maximum na haba mula 0 hanggang 240: .
  • ORA-00911: di-wastong character
    Dahilan: Ang espesyal na karakter ay hindi wasto o may bisa lamang sa ilang partikular na lugar. Kung ang isang espesyal na character (maliban sa $, # at _) ay ginamit sa isang pangalan at ang pangalan ay hindi nakapaloob sa double quotes ("), lalabas ang mensaheng ito.
    Aksyon: Alisin ang di-wastong character mula sa command.
  • ORA-00912: operand pop operation na walang operand sa stack
    Dahilan: Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00913: masyadong maraming halaga
    Dahilan: Ipinagpapalagay ng command ang dalawang magkaparehong hanay ng mga halaga, ngunit ang pangalawang hanay ay may mas maraming mga item kaysa sa una. Halimbawa: ang isang subquery sa isang sugnay na WHERE o HAVING ay maaaring magkaroon ng masyadong maraming mga column, o maaaring mayroong higit pang mga column sa isang VALUES o SELECT clause kaysa sa isang INSERT clause.
    Aksyon: Suriin ang bilang ng mga item at baguhin ang mga ito.
  • ORA-00914: nawawalang ADD keyword
    Dahilan: Ang utos na ALTER PARTITION ay ipinasok nang walang ADD keyword.
    Aksyon: suriin ang syntax ng utos at subukang muli.
  • ORA-00915: kasalukuyang hindi pinapayagan ang pag-access sa network ng talahanayan ng diksyunaryo
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00917: missing comma missing comma
    Dahilan: May nawawalang kuwit sa isang listahan ng mga column, o sa isang listahan ng mga value sa isang INSERT statement, o sa isang listahan ng form ((c,d),(e< f),...).
    Aksyon: Suriin ang syntax sa iyong SQL statement at magdagdag ng nawawalang kuwit kung kinakailangan.
  • ORA-00918: column na hindi malinaw na tinukoy
    Dahilan: Ang column na ginamit para sa pagsali ay umiiral sa higit sa isang talahanayan. Kapag sumasali, ang anumang column na nasa higit sa isang talahanayan ay dapat maglaman ng pangalan ng talahanayan. Ang pangalan ng column ay dapat na TABLE.COLUM o TABLE_ALIAS.COLUMN, EMP.DEPTNO o E.DEPTNO, hindi lang EMP.
    Aksyon: Ilagay ang pangalan ng talahanayan sa pangalan ng hanay bago ang tuldok o alternatibong pangalan ng talahanayan tulad ng ipinapakita sa itaas.
  • ORA-00919: di-wastong function
    Dahilan: Ang pag-input na tulad ng function ng uri ng function(argument) ay hindi kinikilala bilang isang function na ORACLE.
    Aksyon: Tingnan ang manual para sa isang listahan ng mga wastong pangalan ng function.
  • ORA-00920: di-wastong relational operator
    Dahilan: Gawain sa paghahanap na may di-wasto o nawawalang pahayag ng kundisyon.
    Aksyon: Maglagay ng wastong conditional statement. Ang mga sumusunod na pahayag na may kaugnayan ay pinapayagan: =, !=,<>, >, >=, <, <=,IN, IS, NULL, LIKE, и BETWEEN.
  • ORA-00921: hindi inaasahang pagtatapos ng SQL command
    Dahilan: Ang SQL command ay hindi kumpleto. Ang bahagi ng isang wastong utos ay ipinasok, ngunit hindi bababa sa isang pangunahing bahagi ang tinanggal.
    Aksyon: Suriin ang command syntax at ipasok ang mga nawawalang bahagi.
  • ORA-00922: di-wastong opsyon
    Dahilan: Ang isang di-wastong opsyon ay idineklara sa isang kahulugan ng hanay o isang kahulugan ng lugar.
    Aksyon: Alisin ang di-wastong opsyon mula sa hanay o kahulugan ng rehiyon. Ang isang wastong opsyon na naglalarawan sa isang column ay HINDI NULL upang ipahiwatig na ang column ay hindi maaaring maglaman ng NULL na mga halaga. Anumang bagay na sumusunod sa uri ng data, maliban sa isang kuwit o isang pansarang panaklong, ay inuri bilang isang di-wastong opsyon. Kapag naglalarawan ng haba para sa DATA o isang MAHABANG uri ng data, makukuha mo ang mensahe ng error na ito. Ang mga sumusunod lang na opsyon ang pinapayagan sa deklarasyon ng kahulugan ng saklaw: INITIAL, INCREMENT at MAXEXTENTS (para sa DATAPAGES at INDEXPAGES) at PCTFREE (para sa DATAPAGES lang).
  • ORA-00923: nawawala MULA sa keyword
    Dahilan: Sa isang SELECT o REVOKE statement, ang FROM na keyword ay maaaring tinanggal, nailagay, o mali ang spelling. Dapat sundin ng keyword na FROM ang napiling item sa SELECT statement, o ang napiling pangalan ng table sa REVOKE statement.
    Aksyon: Palitan ang salitang FFROM. Maaaring mali ang napiling listahan. Tiyaking gumamit ka ng mga solong panipi upang ilakip ang alias, at kung ang alias ay isang nakalaan na salita o hindi.
  • ORA-00924: nawawala NG keyword
    Dahilan: Nawawala NG keyword sa GROUP BY, ORDER BY, o CONNECTED BY expression. Bilang karagdagan, sa utos ng GRANT, ang salitang INDENTIFIED ay dapat na sinundan ng BY.
    Aksyon: Ipasok ang salitang BY nang tama.
  • ORA-00925: nawawala INTO keyword
    Dahilan: Isang INSERT command ang ginamit nang walang INTO keyword.
    Aksyon: Palitan ang INSERT ng INSERT INTO.
  • ORA-00926: nawawalang keyword na VALUES
    Dahilan: INSERT statement nang walang keyword na VALUES o SELECT. Ang isang INSERT INTO na pahayag ay dapat na sundan ng isang VALUES o SELECT sequence.
    Aksyon: Mag-type ng VALUES expression o sequence pagkatapos ng INSERT INTO expression.
  • ORA-00927: nawawala ang katumbas na sig
    Dahilan: Ang equal sign ay nawawala sa isa sa mga sumusunod na lugar: * sa SET statement ng UPDATE command * pagkatapos! upang ipahiwatig ang hindi pagkakapantay-pantay * sa PCTFREE expression ng CREATE INDEX command
    Aksyon: Maglagay ng equal sign.
  • ORA-00928: nawawala ang SELECT keyword
    Dahilan: Ang isang SELECT sequence ay dapat isama sa CREATE VIEW command.
    Aksyon: Ipasok ang kinakailangang SELECT statement sa CREATE VIEW command.
  • ORA-00929: nawawalang panahon
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00930: nawawalang asterisk
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00931: nawawalang identifier
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00932: hindi pare-pareho ang mga uri ng data hindi pare-pareho ang uri ng data
    Dahilan: Subukang magdagdag ng field ng character sa field ng data. Maaari lamang idagdag ang data sa mga numeric na field.
    Aksyon: I-convert ang field ng character sa isang numeric na field gamit ang TO_NUMBER function bago idagdag ang data field.
  • ORA-00933: SQL command at hindi maayos na natapos
    Dahilan: winakasan ang SQL command na may di-wastong expression. Halimbawa: ang isang ORDER BY clause ay maaaring isama sa isang CREATE VIEW o INSERT statement. Gayunpaman, ang isang ORDER BY ay hindi dapat gamitin upang lumikha ng isa pang view o maisama sa pangunahing order.
    Aksyon: Suriin ang command syntax at alisin ang mga hindi kinakailangang bahagi. Dapat mong i-duplicate ang mga tinanggal na expression sa iba pang mga command. Halimbawa, kung gusto mong mag-order ng mga linya ng pagsusuri, magpatuloy sa parehong paraan tulad ng kapag humihiling ng pagsusuri, ngunit hindi tulad ng kapag gumagawa ng isa. Ang error na ito ay maaari ding mangyari kapag gumagamit ng SQL*Forms kung ang pagpapatuloy ng linya ay naka-indent. Suriin ang mga offset at alisin ang mga puwang. Dapat mong gamitin ang naaangkop na mga pagtatapos ng SQL kung gagamit ka ng I expression na may isang argumento, halimbawa: IN(X). Ang IN expression ay dapat tumagal ng hindi bababa sa dalawang argumento.
  • ORA-00934: hindi pinapayagan ang set function dito
    Dahilan: isa sa mga function ng pangkat (gaya ng AVG, SUM, MAX, MIN, COUNT) ay ginamit sa isang sugnay na WHERE o GROUP BY.
    Aksyon: Alisin ang function ng pangkat mula sa mga sugnay na WHERE o GROUP BY. Makukuha mo ang nais na resulta sa pamamagitan ng pagsasama ng function sa isang query o isang sugnay na HAVING.
  • ORA-00935: masyadong malalim ang set function
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00936: nawawalang expressio
    Dahilan: Inalis ang kinakailangang bahagi ng expression. Halimbawa, ang isang SELECT command ay ipinasok nang walang listahan ng mga column, o may incompatible type expression (SAL+). Maaari rin itong mangyari kung aalisin ang mga nakareserbang salita tulad ng SELECT TABLE.
    Aksyon: Suriin ang command syntax at ilagay ang mga nawawalang command.
  • ORA-00937: walang isang function ng set ng grupo
    Dahilan: Hindi mo maaaring isama ang parehong function ng pangkat (AVG, SUM, COUNT, MIN, o MAX) at isang custom na expression ng column sa isang query nang sabay maliban kung ang expression ng column ay kasama sa GROUP BY clause.
    Aksyon: Alisin ang alinman sa column expression o ang group function mula sa query, o magdagdag ng GROUP BY clause na may kasamang column enumeration.
  • ORA-00938: hindi sapat na mga argumento para sa function
    Dahilan: Napakakaunting mga argumento ang idineklara sa function.
    Aksyon: Suriin ang syntax ng function at magdagdag ng anumang kinakailangang argumento.
  • ORA-00939: masyadong maraming argumento para sa function
    Dahilan: Masyadong maraming argumento ang function.
    Aksyon: Suriin ang syntax ng function at ilarawan lamang ang mga kinakailangang argumento.
  • ORA-00940: invalid ARTER command invalid ALTER command
    Dahilan: Di-wastong ALTER na opsyon na inilarawan. Ang mga seksyon at talahanayan lamang ang maaaring hindi na mauulit. Ang isang wastong ALTER command ay dapat magsimula sa isa sa mga sumusunod na opsyon: ALTER TABLE o ALTER PARTITION.
    Aksyon Tandaan: Suriin ang syntax para sa tamang spelling ng ALTER command.
  • ORA-00941: nawawalang pangalan ng cluster
    Dahilan: Nawawala o hindi wasto ang pangalan ng grupo.
    Aksyon: Ilarawan ang tamang pangalan ng pangkat. Ang wastong pangalan ng pangkat ay nagsisimula sa isang titik, naglalaman ng hindi hihigit sa 30 character, at binubuo lamang ng mga titik, numero, at $, _, at # na espesyal na character. Hindi dapat ito ay isang reserbang salita. Ang pangalan ay dapat na mai-print kaagad pagkatapos ng CREATE CLUSTER keyword.
  • ORA-00942: talahanayan o view ay hindi umiiral
    Dahilan: Ang talahanayan o pangkalahatang-ideya na ito ay hindi umiiral. o isang view na pangalan ang ipinasok sa halip na isang talahanayan. Ang mga kasalukuyang talahanayan at pangkalahatang-ideya ng user ay maaaring matingnan sa pangkalahatang-ideya ng TAB.
    Aksyon: Suriin kung may mga typo at kung naglagay ka ng pangalan ng pagsusuri sa halip na isang talahanayan. Ipasok ang mga kasalukuyang pangalan.
  • ORA-00943: hindi umiiral ang cluster
    Dahilan: Ang mapagkukunan ng gumagamit ay hindi kasama sa pangkat na may inilarawang pangalan.
    Aksyon: Ilarawan ang tamang pangalan ng pangkat kaagad pagkatapos ng CLUSTER keyword.
  • ORA-00944: hindi sapat na bilang ng mga clustered column
    Dahilan: Isang pagtatangka na gumawa ng talahanayan na may mas kaunting mga nakagrupong column kaysa inilarawan sa CREATE CLUSTER command. Dapat ilarawan ng CLUSTER expression ng CREATE TABLE command ang lahat ng nakagrupong column na tinukoy noong ginawa ang grupo. Gamit ang pangalan ng grupo, maaari mong tingnan ang lahat ng column ng grupo sa talahanayan ng diksyunaryo ng COL.
    Aksyon: Ilarawan ang lahat ng pangalan ng column sa command na CREATE TABLE.
  • ORA-00945: hindi umiiral ang tinukoy na clustered column
    Dahilan: Ang column na inilarawan sa expression ng CREATE TABLE na pahayag ay hindi column sa table na ito.
    Aksyon: Ulitin gamit ang pangalan ng column ng talahanayan.
  • ORA-00946: nawawala TO keyword
    Dahilan: Ang GRANT command ay ipinasok nang walang TO keyword, o isang di-wastong anyo ng command na ito ang ginamit.
    Aksyon: Suriin ang syntax ng dalawang pangunahing anyo ng utos ng GRANT (pagbibigay ng access sa database at pagbibigay ng mga pribilehiyo). Ipasok ang TO keyword nang tama sa GRANT command.
  • ORA-00947: hindi sapat na mga halaga
    Dahilan: Ang SQL statement ay nangangailangan ng dalawang magkaparehong hanay ng mga halaga, at ang pangalawang hanay ay naglalaman ng mas kaunting mga halaga. Maaari rin itong mangyari kung ang isang nested SELECT ay makakahanap ng mas kaunting column sa isang WHERE o HAVING na expression, gaya ng: WHERE(A,B) IN (SELECT C FROM..) Maaari ding magkaroon ng error sa isang INSERT statement kung saan ang expression na VALUES o Ang SELECT ay hindi naglalaman ng sapat na mga halaga para sa INSERT, tulad ng sa: INSERT INTO table (A,B) VALUES("C").
    Aksyon: Suriin ang lakas ng bawat hanay at gawin silang pantay sa bilang.
  • ORA-00948: ALTER CLUSTER na pahayag ay hindi na suportado
    Dahilan: Inalis ang pahayag ng ALTER CLUSTER
    Aksyon: Upang magdagdag ng data mula sa isang talahanayan, gamitin ang sumusunod na hanay ng mga SQL statement: GUMAWA NG TABLE<новая_таблица>PUMILI*MULA<старая_таблица>CLUSTER<имя_группы>I-DROP<старая_таблица>at RENAME TABLE<новая_таблица> <старая_таблица>.
  • ORA-00949: iligal na sanggunian sa panlabas na database
    Dahilan:Ito ay isang panloob na mensahe ng error na hindi maaaring mangyari sa panahon ng normal na operasyon.
    Aksyon: Mangyaring sumangguni sa nauugnay na software sa pag-setup para sa isang detalyadong paglalarawan ng problema.
  • ORA-00950: invalid drop optio invalid DROP option
    Dahilan: Pagkatapos ng DROP command, walang DROP na opsyon gaya ng TABLE, VIEW, SYNONYM, CLUSTER, o SPACE.
    Aksyon: Suriin ang command syntax at gamitin ang tamang format para sa DROP na opsyon.
  • ORA-00951: cluster na walang laman
    Dahilan: Ang DROP command ay naglalarawan ng isang hindi walang laman na grupo. Maaari lang tanggalin ang isang grupo kung wala itong mga talahanayan. Alisin ang isang talahanayan mula sa isang pangkat gamit ang utos na DROP TABLE.
    Aksyon: Alisin ang lahat ng mga talahanayan mula sa grupo at pagkatapos ay gamitin ang DROP CLUSTER na utos.
  • ORA-00952: nawawalang GROUP keyword
    Dahilan: Ang grupo ay hindi wastong ipinatupad.
    Aksyon: Walang kinakailangang aksyon mula sa user.
  • ORA-00953: nawawalang pangalan ng index
    Dahilan: Sa mga command na CREATE, DROP, VALIDATE INDEX, mali o nawawala ang pangalan ng index.
    Aksyon: I-type ang tamang pangalan ng index pagkatapos ng keyword na INDEX. Kung gusto mong tanggalin o itama ang isang index, tingnan ang pangalan sa pamamagitan ng pagtingin sa pangkalahatang-ideya ng INDEXES. Kung kailangan mong gumawa ng bagong index, suriin muna ang syntax.
  • ORA-00954: nawawalang INDENTIFIED na keyword
    Dahilan: Ang utos na GRANT CONNECTION ay ibinigay nang walang INDENTIFIED keyword.
    Aksyon: Ipasok ang INDENTIFIED keyword pagkatapos ng username. Ang format ng command ay ang mga sumusunod: MAGBIGAY NG KONEKSIYON SA<список пользователей>KINIKILALA NI<пароль списка>.
  • ORA-00955: ang pangalan ay ginagamit na ng umiiral na bagay
    Dahilan: Isang pagtatangka ay ginawa upang lumikha ng isang talahanayan, view, pangkat, o kasingkahulugan na mayroon na. Ang bawat pangalan ng talahanayan ng user ay dapat na naiiba sa iba pang mga pangalan ng talahanayan, view, pangkat, o kasingkahulugan na pagmamay-ari ng iba pang mga user.
    Aksyon: Magpasok ng isang natatanging talahanayan, view, pangkat, o pangalan ng kasingkahulugan, o baguhin o tanggalin ang isang umiiral na.
  • ORA-00956: invalid auditing option - invalid auditing option
    Dahilan: Nagkaroon ng di-wastong opsyon sa pagsusuri.
    Aksyon: Suriin ang syntax ng command at subukang muli gamit ang tamang opsyon.
  • ORA-00957: duplicate na pangalan ng column
    Dahilan: Ang pangalan ng column ay idineklara nang dalawang beses sa isang CREATE o INSERT na pahayag. Ang pangalan ng isang column sa isang talahanayan, pangkalahatang-ideya, o pangkat ay dapat na natatangi.
    Aksyon: Palitan ang pangalan ng column sa CREATE command ng bagong kakaiba. Sa INSERT command, alisin ang mga duplicate na pangalan.
  • ORA-00958: nawawalang CHECK keyword
    Dahilan: Nawawalang CHECK kaagad pagkatapos ng WHITH keyword sa WITH CHECK OPTION clause ng CREATE VIEW statement.
    Aksyon: Suriin ang syntax ng SQL statement.
  • ORA-00959: ang pangalan ng kahulugan ng espasyo ay hindi umiiral
    Dahilan: Ang A DROP SPACE command ay naglalarawan ng isang hindi umiiral na pangalan ng lugar.
    Aksyon: Gumamit ng mga kasalukuyang pangalan ng kahulugan ng saklaw. Upang tingnan ang mga kasalukuyang pangalan, piliin ang SNAME mula sa SPACES.
  • ORA-00960: di-wastong halaga ng INITIAL
    Dahilan: Isang di-wastong panimulang datapage o halaga ng numero ng indexpage ay tinukoy sa command na CREATE SPACE. Ang halagang ito ay dapat na hindi bababa sa 3.
    Aksyon: Maglagay ng INITIAL value na hindi bababa sa 3.
  • ORA-00961: di-wastong halaga ng INCREMENT
    Dahilan: Isang di-wastong halaga ng bilang ng hakbang ang inilarawan para sa datapage o indexpage. Ang halaga ng hakbang ay dapat na higit sa 3.
    Aksyon: Maglagay ng halaga ng INCREMENT na higit sa 3.
  • ORA-00962: di-wastong halaga ng PCTFREE
    Dahilan: Ang maling halaga ng porsyento ng libreng espasyo ay inilarawan sa kahulugan ng SPACE. Ang halagang ito ay dapat nasa hanay mula 1: hanggang 99.
    Aksyon: Maglagay ng halaga ng PCTFREE sa pagitan ng 1: at 99.
  • ORA-00963: di-wastong halaga ng SIZE
    Dahilan: Isang di-wastong lohikal na halaga ng laki ng bloke ay tinukoy sa CREATE CLUSTER command. Ang lohikal na laki ng bloke ay ginagamit upang mahusay na mag-imbak ng maliliit na grupo ng data.
    Aksyon: Ilarawan ang pinapayagang halaga ng lohikal na laki ng bloke (mas malaki sa 0).
  • ORA-00964: di-wastong pangalan ng space defense
    Dahilan: May tinukoy na di-wastong pangalan ng realm sa command na CREATE/DROP SPACE o sa CREATE TABLE, o tinukoy ang isang hindi umiiral na pangalan ng realm sa command na CREATE TABLE.
    Aksyon: Maglagay ng wastong pangalan ng lugar. Ang wastong pangalan ay nagsisimula sa isang titik, naglalaman ng hindi hihigit sa 30 character, at binubuo lamang ng mga titik, numero, at $, _, at # na espesyal na character. Hindi dapat ito ay isang reserbang salita. Kung tama ang iyong pangalan, maaaring hindi mo sinasadyang inalis ang kahulugan ng saklaw ng TEMP.
  • ORA-00965: umiiral na ang pangalan ng kahulugan ng espasyo
    Dahilan: Isang umiiral na pangalan ng realm ang ginamit sa command na CREATE SPACE. Ang mga pangalan ng realm definition ay dapat na natatangi.
    Aksyon: Maglagay ng natatanging pangalan para sa lugar.
  • ORA-00966: nawawalang TABLE na keyword
    Dahilan: Isang LOCK command ang ginamit at ang TABLE na keyword ay mali ang spelling, o inalis, o nailagay sa ibang lugar. Ang LOCK command ay dapat magsimula ng ganito: LOCK TABLE<имя таблицы> ... .
    Aksyon: Ipasok ang TABLE na keyword sa naaangkop na lugar.
  • ORA-00968: nawawalang INDEX na keyword
    Dahilan: Ang CREATE UNIQUE command ay ginamit at ang INDEX na keyword ay mali ang spelling, o inalis, o nailagay sa ibang lugar.
    Aksyon: Pakisuri ang syntax at subukang muli.
  • ORA-00969: nawawala SA keyword
    Dahilan: Isang utos na GRANT o CREATE INDEX ang ginamit at ang ON na keyword ay mali ang spelling, o inalis, o nailagay sa ibang lugar.
    Aksyon: Ipasok ang ON na keyword sa naaangkop na lugar.
  • ORA-00970: nawawala MAY keyword - nawawala MAY keyword
    Dahilan: Ang START na keyword ay ginamit nang walang WITH. Ang parehong mga keyword ay kinakailangan sa START WITH clause para sa query.
    Aksyon: Palitan ang salitang START ng START WITH.
  • ORA-00971: nawawalang SET na keyword - nawawalang SET na keyword
    Dahilan: Sa utos na UPDATE, ang SET na keyword ay mali ang spelling, o inalis, o nailagay sa ibang lugar.
    Aksyon: Ipasok ang keyword na SET pagkatapos ng pangalan ng talahanayan upang baguhin.
  • ORA-00972: masyadong malaki ang indentifier
    Dahilan: Ang pangalan ng object ng database ay higit sa 30 character ang haba. (Ang mga object sa database ay mga talahanayan, grupo, view, index, kasingkahulugan, realms, at username.
    Aksyon: Paikliin ang pangalan sa maximum na 30 character.
  • ORA-00973: di-wastong pagtatantya ng bilang ng hilera
    Dahilan: Ang row count value na inilarawan sa CREATE INDEX command ay isang numerong mas mababa sa 0.
    Aksyon: Ilarawan ang isang wastong halaga (mas malaki sa 0).
  • ORA-00974: di-wastong index block loading factor (porsiyento)
    Dahilan: Porsiyento ng ginamit na volume, na inilarawan sa CREATE INDEX command, ang lugar ay hindi kabilang sa pagitan mula 1: hanggang 90%.
    Aksyon: Maglagay ng halaga ng PCTFREE sa pagitan ng 1 at 90. Ang default ay 10.
  • ORA-00975: Hindi pinapayagan ang petsa + petsa
    Dahilan: Subukang magdagdag ng dalawang field ng data nang magkasama. Ang data ay maaari lamang idagdag sa mga field ng numero, hindi sa iba pang data.
    Aksyon: Magdagdag ng field ng data sa field ng numero.
  • ORA-00977: dobleng opsyon sa pag-audit - dobleng opsyon sa pag-audit
    Dahilan: Ang parehong opsyon sa kontrol ay inilarawan muli.
    Aksyon: Alisin ang paulit-ulit na paglalarawan ng kontrol.
  • ORA-00978: nested set function na walang GROUP BY
    Dahilan: Ginamit ang isang function ng pangkat (gaya ng MIN, MAX, o AVG) sa loob ng isa pang function ng pangkat (gaya ng MAX(COUNT(*))) nang walang katumbas na sugnay na GROUP BY.
    Aksyon: Maaaring magdagdag ng GROUP BY clause o alisin ang panlabas na antas ng nesting.
  • ORA-00979: hindi GROUP BY expressio expression ay hindi kabilang sa GROUP BY
    Dahilan: Ang GROUP BY clause ay hindi naglalaman ng lahat ng expression ng SELECT clause. Ang mga expression mula sa SELECT na hindi kasama sa mga function ng grupo (COUNT, SUM, AVG, MAX, MIN) ay dapat na nakalista sa GROUP BY clause.
    Aksyon: Isama ang lahat ng SELECT expression na hindi mga argumento sa mga function ng pangkat sa GROUP BY clause.
  • ORA-00980: hindi na wasto ang pagsasalin ng kasingkahulugan
    Dahilan: Ang kasingkahulugan na ginamit mo ay para sa isang talahanayan, view, o kasingkahulugan na tinanggal o pinalitan ng pangalan.
    Aksyon: Palitan ang kasingkahulugan ng pangalan ng talahanayan, view, kasingkahulugan kung saan ito nilayon. O, muling buuin ang kasingkahulugan para sa mga tamang talahanayan, view, o kasingkahulugan.
  • ORA-00981: hindi maaaring paghaluin ang mga opsyon sa pag-audit sa talahanayan at sa buong sistema
    Dahilan: Sabay-sabay na inilarawan ang width na opsyon ng talahanayan at ng system sa parehong AUDIT statement.
    Aksyon: Itama ang operator.
  • ORA-00982: nawawalang plus sign
    Dahilan: Kapag idinagdag, walang plus sign (+) pagkatapos ng kaliwang panaklong. Kapag nagdaragdag, ang kaliwang (bukas) na panaklong ay binibigyang-kahulugan bilang naglalarawan ng isang appendage, at inaasahan ang isang plus sign. Upang ilarawan ang isang attachment sa isang column, ang paglalarawan ng column ay dapat na sundan ng plus sign na nakapaloob sa mga bracket (+).
    Aksyon: Itama ang SQL syntax.
  • ORA-00984: hindi pinapayagan ang column dito
    Dahilan: Ang pangalan ng column ay ginamit kung saan ito ay hindi pinapayagan, tulad ng sa VALUES clause ng isang INSERT statement.
    Aksyon: Suriin ang command syntax at gamitin lamang ang mga pangalan ng column kung saan pinapayagan.
  • ORA-00985: di-wastong pangalan ng programa
    Dahilan
    Aksyon
  • ORA-00986: nawawala o di-wastong (mga) pangalan ng grupo - nawawala o di-wastong (mga) pangalan ng grupo
    Dahilan: Hindi ipinatupad ang property na ito.
    Aksyon: Walang kinakailangang pagkilos ng user.
  • ORA-00987: nawawala o di-wastong (mga) user name
    Dahilan: Ang username ay hindi tinukoy sa GRANT command, o ang isa sa mga tinukoy na pangalan ay hindi wasto. Dapat lumitaw ang mga wastong username pagkatapos ng salitang TO sa utos ng GRANT. Ang isang wastong username ay nagsisimula sa isang titik, ay limitado sa 30 character, at binubuo lamang ng mga titik, numero, at ang $, _, at # na espesyal na character. Hindi dapat ito ay isang reserbang salita.
    Aksyon: Ilarawan ang isang wastong username (o listahan ng mga user) pagkatapos ng TO keyword sa GRANT command.
  • ORA-00988: nawawala o di-wastong (mga) password
    Dahilan: Mayroong higit pang mga username kaysa sa mga password sa utos ng GRANT. Dapat tukuyin ang isang wastong password para sa bawat user na nakalista sa utos ng GRANT.
    Aksyon: Ilagay ang tamang password para sa bawat user.
  • ORA-00989: masyadong maraming password para sa mga user name na ibinigay
    Dahilan: Mayroong higit pang mga password kaysa sa inilarawan ng mga username sa utos ng GRANT. Isang password lamang ang dapat ilagay para sa bawat user na nakalista sa utos ng GRANT.
    Aksyon: Ipasok ang parehong bilang ng mga user at password.
  • ORA-00990: nawawala o di-wastong pribilehiyo
    Dahilan: Walang mga pribilehiyong idineklara sa utos para sa mga pribilehiyo ng GRANT, o hindi wasto ang isa sa mga ito.
    Aksyon: Maglagay ng isa o higit pang wastong mga pribilehiyo. Ang mga sumusunod na pribilehiyo ay pinapayagan: SELECT, INSERT, DELETE, UPDATE, ALTER, INDEX, DROP, CLUSTER, at ALL. Mahigit sa isang pribilehiyo ang maaaring ibigay sa pamamagitan ng paglalagay ng mga ito sa isang listahan na pinaghihiwalay ng mga kuwit (,) o sa pamamagitan ng paglalarawan sa salitang LAHAT para ibigay ang lahat ng mga pribilehiyo.
  • ORA-00991: hindi nakikilalang format para sa GRANT command
    Dahilan: Isang di-wastong anyo ng utos ng GRANT ang ipinasok.
    Aksyon: Suriin ang command syntax. Mayroong dalawang uri ng GRANT command. Ang unang uri ay ginagamit upang tukuyin ang pag-access ng user sa database at dapat ay may sumusunod na format: MAGBIGAY NG CONNECT/RESOURCE/DBA TO<имя пользователя>KINIKILALA NI<пароль>. Dapat na mayroong kahit isa sa mga keyword na CONNECT, RESOURCE, o DBA. Ang pangalawang uri ay ginagamit upang magbigay ng mga pribilehiyo sa mga object ng database at may format na: GRANT<список привелегий>NAKA-ON<обзор/ таблица>SA< индентификатор пользователя>/PUBLIC.
  • ORA-00992: hindi nakikilalang format para sa REVOKE command
    Dahilan: Isang di-wastong anyo ng REVOKE na utos ang ipinasok.
    Aksyon: Suriin ang syntax ng command at subukang muli.
  • ORA-00993: nawawalang GRANT na keyword
    Dahilan: Ang WITH na opsyon ay idineklara sa dulo ng isang GRANT na command na walang GRANT na opsyon. Upang magbigay ng mga pribilehiyo sa isang user at pahintulot na ibigay ang mga ito sa ibang mga user, gamitin ang WITH GRANT OPTIO na opsyon sa dulo ng isang GRANT na command.
    Aksyon: Palitan ang WITH keyword ng WITH GRANT OPTION.
  • ORA-00994: nawawalang OPTION keyword - OPTIO keyword na nawawala
    Dahilan: Ang WITH GRANT na opsyon ay ginamit sa dulo ng GRANT command na walang salitang OPTION.
    Aksyon: Baguhin ang susi mula WITH GRANT sa WITH GRANT OPTION.
  • ORA-00995: nawawala o di-wastong synonym indentifier
    Dahilan: Sa isang command na CREATE o DROP SYNONYM, ang pangalan ng kasingkahulugan ay tinanggal o hindi wasto.
    Aksyon: Suriin kung may mga typo at command syntax. Ang isang wastong pangalan ng kasingkahulugan ay dapat na agad na sumunod sa SYNONYM key sa parehong mga utos. Ang wastong pangalan ng kasingkahulugan ay nagsisimula sa isang titik, limitado sa 30 character, at binubuo lamang ng mga titik, numero, at $, _, at # na espesyal na character. Hindi dapat ito ay isang reserbang salita.
  • ORA-00996: ang concatenate operator ay ¦¦ hindi ¦ - ang concatenate operator ay ||, hindi |
    Dahilan: Ang solong stroke (|) ay naunawaan bilang isang pagtatangka upang ilarawan ang concatenation, ngunit ang concatenation operator ay binubuo ng dalawang stroke (||).
    Aksyon: Maglagay ng double stroke para sa concatenation operation, o alisin ang isang solong stroke kung hindi kailangan ang concatenation.
  • ORA-00997: ilegal na paggamit ng mahabang datatype
    Dahilan: Ginamit mo ang LONG uri ng data, na ginagamit upang mag-imbak ng data na mas malaki sa 240 character, sa isang function o sa mga sugnay na WHERE, GROUP BY, ORDER BY. Magagamit lang ang LONG value sa isang SELECT clause.
    Aksyon: Alisin ang field na ito mula sa function o alok.
  • ORA-00998: dapat pangalanan ang expression na ito gamit ang label ng column
    Dahilan: Ginamit ang isang function o expression sa command na CREATE VIEW, ngunit hindi idineklara ang katumbas na pangalan ng column. Kapag ginamit ang isang expression o function para sa isang view, dapat na nakalista nang tama ang lahat ng column at view name sa command na CREATE VIEW.
    Aksyon: Ilagay ang lahat ng pangalan ng column ng pagsusuri sa mga panaklong pagkatapos ng pangalan ng pagsusuri.
  • ORA-00999: di-wastong pangalan ng view.
    Dahilan: Nawawala o di-wastong pangalan ng view sa command na CREATE VIEW.
    Aksyon: Maglagay ng wastong pangalan ng view kaagad pagkatapos GUMAWA NG VIEW. Ang wastong pangalan sa pag-browse ay nagsisimula sa isang titik, limitado sa 30 character, at binubuo lamang ng mga titik, numero, at $,_, at # na espesyal na character. Hindi dapat ito ay isang reserbang salita.