付録C
SQL通信領域(SQLCA)およびメッセージ・ベクター
SQLCAおよびメッセージ・ベクターは、SQLがINCLUDE SQLCA文をプリコンパイルの際に宣言する2つの個別のホスト構造体です。
SQLCAおよびメッセージ・ベクターはともにエラー処理の方法を備えています。
SQLでは、すべての実行SQL文の完了後、SQLCAの内容およびメッセージ・ベクターを更新します(非実行可能文は、DECLARE文、WHENEVER文およびINCLUDE文です)。
プログラムでINCLUDE SQLCA文を使用する必要はありません。ただし、使用しない場合は、SQLCODEパラメータを明示的に宣言してSQLから値を受け取る必要があります。SQLCODEは、スケールなし符号付きロングワード整数として明示的に宣言されます。
SQLCODEはANSI/ISO SQL規格の廃止予定の機能であり、SQLSTATEに置き換えられています。ANSI/ISO SQL規格に準拠するには、INCLUDE SQLCA文を使用するかわりにSQLCODEまたはSQLSTATE(SQLSTATEが望ましい)を明示的に宣言する必要があります。SQLCA(およびINCLUDE SQLCA文)は、ANSI/ISO SQL規格には組み込まれていません。SQLCODEまたはSQLSTATEを宣言する場合にINCLUDE SQLCA文を使用すると、SQLではSQLCAが使用されます。
INCLUDE SQLCA文を使用しないプログラムには、プリコンパイラによって宣言されたメッセージ・ベクターがありません。そのようなプログラムは、次のような場合、メッセージ・ベクターを明示的に宣言する必要があります。
メッセージ・ベクターは、ANSI/ISO SQL規格には組み込まれていません。
SQLCA構造体がプログラムによって明示的に宣言されると、SQLではSQLERRDフィールドを更新しません。SQLERRDフィールドを更新する場合は、EXEC SQL INCLUDE SQLCA文を使用してプログラムにSQLCA定義を組み込みます。
SQLCAおよびメッセージ・ベクターの詳細は、付録C.1節および付録C.2節を参照してください。付録C.3節は、SQLが様々なホスト言語プログラムで行う宣言を示しています。
C.1 SQLCA
SQLCAでの対象となる唯一のフィールドは、SQLCODEフィールドおよびSQLERRD配列の2〜6番目の要素です。
例C-1は、「attempt to fetch past end of stream」というエラーの後のSQLCAに対する対話型SQLの表示を示しています。
例C-1 SQLCAのフィールド |
---|
SQL> SHOW SQLCA SQLCA: SQLCAID: SQLCA SQLCABC: 128 SQLCODE: 100 SQLERRD: [0]: 0 [1]: 0 [2]: 0 [3]: 0 [4]: 0 [5]: 0 SQLWARN0: 0 SQLWARN1: 0 SQLWARN2: 0 SQLWARN3: 0 SQLWARN4: 0 SQLWARN5: 0 SQLWARN6: 0 SQLWARN7: 0 SQLSTATE: 02000 |
SQLSTATEはSQLCAに組み込まれていませんが表示には出現します。
この項のこれ以降では、SQLCAのフィールドについて説明します。
SQLCAID
8文字のフィールドで、値は常に文字列SQLCAです。FORTRAN SQLCAはこのフィールドに含まれません。SQLCABC
整数フィールドで、値は常にSQLCAの長さ(バイト)です。値は常に128です。FORTRAN SQLCAはこのフィールドに含まれません。SQLCODE
整数フィールドで、値は直前に実行したSQL文によって返されたエラー・ステータスを示します。100以外の正の値は警告、負の値はエラー、ゼロは正常な実行を示します。表C-1に、SQLによってSQLCODEフィールドに返される数値およびリテラル値を示し、値の意味を説明します。
表C-1 SQLCODEフィールドに返される値 数値 リテラル値 意味 正常な実行のステータス・コード 0 SQLCODE_SUCCESS 文が正常に完了した。 警告のステータス・コード 100 SQLCODE_EOS SELECT文またはカーソルがストリームの最後に到達した。 1003 SQLCODE_ELIM_NULL1 集合関数でNULL値が削除された。 1004 SQLCODE_TRUN_RTRV1 割当て中に文字列が切り捨てられた。これはデータ取得中にのみ発生する。 エラーのステータス・コード --1 SQLCODE_RDBERR Oracle Rdbによってエラーが返された。--1の値は一般エラーSQLCODE値で、この表の他の値に該当しないエラーによって返される。意味のあるエラーを返すには、sql_signalまたはsql_get_error_textを使用する。 --304 SQLCODE_OUTOFRAN 値はホスト変数の範囲外である。 --305 SQLCODE_NULLNOIND 標識変数なしでホスト言語変数にNULL値を格納しようとした。 --306 SQLCODE_STR_DAT_TRUNC1 文字列データの右端を切り捨てた。 --307 SQLCODE_INV_DATETIME 日時書式が無効である。 --501 SQLCODE_CURNOTOPE カーソルがオープンしていない。 --502 SQLCODE_CURALROPE カーソルがすでにオープンしている。 --507 SQLCODE_UDCURNOPE UPDATEまたはDELETE操作のカーソルがオープンしていない。 --508 SQLCODE_UDCURNPOS UPDATEまたはDELETE操作のカーソルが行に配置されていない。 --509 SQLCODE_UDCURDEL UPDATEまたはDELETE操作のカーソルが削除された行に配置されていない。 --803 SQLCODE_NO_DUP 更新すると一意索引が重複する。 --811 SQLCODE_SELMORVAL シングルトン選択により複数の値が返された。 --817 SQLCODE_ROTXN 読取り専用トランザクションから更新しようとした。 --913 SQLCODE_DEADLOCK リソースのデッドロックのためリクエストが失敗した。 --1001 SQLCODE_INTEG_FAIL 制約が失敗した。 --1002 SQLCODE_NOT_VALID Valid-ifが失敗した。 --1003 SQLCODE_LOCK_CONFLICT リソースがロックされているため、NO WAITリクエストが失敗した。 --1004 SQLCODE_BAD_TXN_STATE 無効なトランザクション状態。トランザクションはすでに開始されている。 --1005 SQLCODE_NO_TXN アクティブなトランザクションがない。 --1006 SQLCODE_BAD_VERSION 基底システムのバージョンが、この問合せで使用する機能をサポートしていない。 --1007 SQLCODE_TRIG_ERROR トリガーによって強制的にエラーが発生した。 --1008 SQLCODE_NOIMPTXN 未処理の暗黙的分散トランザクションがない。 --1009 SQLCODE_DISTIDERR 分散トランザクションIDエラー。 --1010 SQLCODE_BAD_CTX_VER コンテキスト構造体のバージョン・フィールドが誤って定義されている。 --1011 SQLCODE_BAD_CTX_TYPE コンテキスト構造体のタイプ・フィールドが誤って定義されている。 --1012 SQLCODE_BAD_CTX_LEN コンテキスト構造体の長さフィールドが誤って定義されている。 --1013 SQLCODE_BASROWDEL リストを含む行が削除されている。 --1014 SQLCODE_DIFFDEFINV モジュールの実行者が定義者(モジュールをコンパイルしたユーザー)と異なる。 --1015 SQLCODE_STMTNOTPRE 動的文が用意されていない。 --1016 SQLCODE_NOSUCHCONN 接続が存在しない。 --1017 SQLCODE_CONNAMEXI 接続名がすでに存在する。 --1018 SQLCODE_DBENVSYNERR データベースの環境指定に構文エラーがある。 --1019 SQLCODE_DBSPECSYNERR データベース指定に構文エラーがある。 --1020 SQLCODE_ATTACHERR データベースとのアタッチ中にエラーが発生した。 --1021 SQLCODE_NOSUCHALIAS 別名が不明。 --1022 SQLCODE_ALIASINUSE 別名はすでに宣言されている。 --1023 SQLCODE_COLEXISTS 列がすでに表に存在する。 --1024 SQLCODE_COLNOTDEF 列が表に定義されていない。 --1025 SQLCODE_TBLEXISTS 表がすでにデータベースまたはスキーマに存在する。 --1026 SQLCODE_DOMEXISTS ドメインはすでにデータベースまたはスキーマに存在する。 --1027 SQLCODE_DOMNOTDEF ドメインがデータベースまたはスキーマに定義されていない。 --1028 SQLCODE_NO_PRIV 試行した操作に対する権限がない。 --1029 SQLCODE_BAD_LENGTH 列に対して負の長さが指定されている。 --1030 SQLCODE_BAD_SCALE 列に対して負のスケールが指定されている。 --1031 SQLCODE_RO_TABLE 読取り専用表を更新しようとした。 --1032 SQLCODE_OBSMETADATA メタデータは存在しない。 --1033 SQLCODE_UNRES_REL 表がトランザクションに予約されていない。 --1034 SQLCODE_CASENOTFND Caseが見つからない。WHENが指定されていない。 --1035 SQLCODE_CHKOPT_VIOL チェック・オプションに伴う整数の障害。 --1036 SQLCODE_UNTERM_C_STR Cの文字列が終了していない。 --1037 SQLCODE_INDIC_OVFLOW インジケータがオーバーフローしている。 --1038 SQLCODE_INV_PARAM_VAL 無効なパラメータ値。 --1039 SQLCODE_NULL_ELIMIN 集合関数でNULLが削除された。 --1040 SQLCODE_INV_ESC_SEQ 無効なエスケープ・シーケンス。 --1041 SQLCODE_RELNOTDEF 表がデータベースまたはスキーマに定義されていない。
プログラムでリテラル値を使用して、正常な実行、レコード・ストリームの最後の警告または特定のエラーを検証できます。使用しているプログラムで、特定のエラー・コードを検証し、返されるエラー・コードに応じて様々なエラー処理文のセットを実行します。ただし、表C-1の値は可能性のあるすべてのエラーや警告を反映していないため、使用しているプログラムで負の値がないか検証する必要があります。
SQLでは、SQL文の実行時に、SQLCA構造体とともにRDBメッセージ・ベクター(付録C.2節を参照)を挿入します。
また、文字列切捨て条件が報告されるのは、対話型SQLでデータベース・アタッチの前に言語がSQL92またはSQL99に設定される場合、またはアプリケーションがコンパイルされる場合のみです。次に例を示します。
SQL> SET DIALECT 'SQL99'; SQL> ATTACH 'FILENAME mf_personnel'; SQL> DECLARE :ln CHAR(10); SQL> SELECT last_name INTO :ln FROM employees WHERE employee_id = '00164'; %RDB-I-TRUN_RTRV, string truncated during assignment to a variable or parameter SQL> SHOW SQLCA SQLCA: SQLCAID: SQLCA SQLCABC: 128 SQLCODE: 1004 SQLERRD: [0]: 0 [1]: 0 [2]: 1 [3]: 0 [4]: 0 [5]: 0 SQLWARN0: 0 SQLWARN1: 0 SQLWARN2: 0 SQLWARN3: 0 SQLWARN4: 0 SQLWARN5: 0 SQLWARN6: 0 SQLWARN7: 0 SQLSTATE: 01004 %RDB-I-TRUN_RTRV, string truncated during assignment to a variable or parameter |
SQLでは、各言語について、表C-1のようなすべてのエラー・リテラルの宣言を含むファイルが用意されています。このファイルをプリコンパイルされたSQLおよびモジュール言語プログラムに組み込みます。
表C-2は、このファイルをプログラムに組み込む方法を示しています。
プリコンパイルされたまたはモジュール言語 | 宣言 |
---|---|
Ada | with SQL_SQLCODE; with SQL_SQLDA; with SQL_SQLDA2;1 |
BASIC | %INCLUDE "sys$library:sql_literals.bas" |
C | #include "sys$library:sql_literals.h" |
COBOL | COPY 'SYS$LIBRARY:SQL_LITERALS' |
FORTRAN | INCLUDE 'SYS$LIBRARY:SQL_LITERALS.FOR' |
Pascal | %include 'sys$library:sql_literals.pas' |
PL/I | %INCLUDE 'sys$library:sql_literals.pli'; |
ファイルには、エラー・リテラルに加えてSQLDAのSQLTYPEフィールドの宣言が含まれています。SQLTYPEフィールドの詳細は、付録Dを参照してください。
例C-2は、COBOLプログラムにエラー・リテラル・ファイルを組み込む方法を示しています。
例C-2 COBOLプログラムへのエラー・リテラルの組込み |
---|
IDENTIFICATION DIVISION. PROGRAM-ID. LITERAL-TESTS. * * This program tests the use of symbolic literals for SQLCODE and * SQLDA_DATATYPE. All the literal definitions are part of a file that * is used with the COPY command. * DATA DIVISION. WORKING-STORAGE SECTION. COPY SQL_LITERALS. EXEC SQL INCLUDE SQLCA END-EXEC. 01 CDE PIC X(5). 01 DISP_SQLCODE PIC S9(9) DISPLAY SIGN LEADING SEPARATE. 01 GETERRVARS. 02 error-buffer-len PIC S9(9) COMP VALUE 132. 02 error-msg-len PIC S9(9) COMP. 02 error-buffer PIC X(132). exec sql whenever sqlerror continue end-exec. PROCEDURE DIVISION. * * test for sqlcode -501 SQLCODE_CURNOTOPE * exec sql declare A cursor for select college_code from colleges where college_name like 'D%' order by 1 end-exec. exec sql fetch A into :CDE end-exec. if sqlcode = SQLCODE_CURNOTOPE then MOVE sqlcode to DISP_SQLCODE DISPLAY "SQLCODE after attempt to fetch is ", DISP_SQLCODE CALL "sql_get_error_text" USING BY REFERENCE error-buffer, BY VALUE error-buffer-len, BY REFERENCE error-msg-len. DISPLAY BUFFER(1:error-msg-len) end-if. exec sql close A end-exec. * * test for SQLCODE 0 SQLCODE_SUCCESS * exec sql insert into employees (employee_id, last_name, sex) values ('00999','Jones','M') end-exec. if sqlcode = SQLCODE_SUCCESS then MOVE sqlcode to DISP_SQLCODE DISPLAY "SQLCODE after insert is ", DISP_SQLCODE CALL "sql_get_error_text" USING BY REFERENCE error-buffer, BY VALUE error-buffer-len, BY REFERENCE error-msg-len. DISPLAY BUFFER(1:error-msg-len) end-if. EXEC SQL ROLLBACK END-EXEC. STOP RUN. |
用意している文がINTO句を指定したSELECT文である場合は、SQLCAフィールドのSQLWARN6には文字「I」が格納されます。そのようなシングルトンSELECT文は、カーソルを使用せずに実行できます。
動的SQLを使用すると、SQLではDESCRIBE文の実行後に第2要素(SQLERRD[1])に値を入れます。値は次のような意味を表します。
SQLでは次の文を正常に実行した後、第3要素(SQLERRD[2])に値を入れます。
SQLでは表のカーソルについてOPEN文を正常に実行した後、第3および第4要素に次の値を入れます。
アプリケーション・モジュールを再コンパイルして、SQLERRD[2]およびSQLERRD[3]の新規の値を返せるようにする必要があります。
SQLではリスト・カーソルをオープンするOPEN文を正常に実行した後、第2、第4、第5および第6要素に次の値を入れます。
SQLでは、FETCH文を正常に実行した後は、SQLERRD配列の第6要素には意味のあるデータを入れません。
LISTカーソル・フェッチのSQLERRD[1]では、オクテットでセグメント・サイズが返されます。
エラー文の後やその他の場合、SQLERRDの値は未定義です。
記号名+ | 値 | SQL文 |
---|---|---|
0 | Statement is unknown | |
SQL_K_OCTRDB_CONNECT | -1 | Rdb Connect |
SQL_K_OCTRDB_ATTACH | -2 | Rdb Attach |
SQL_K_OCTRDB_DISCONNECT | -3 | Rdb Disconnect |
SQL_K_OCTRDB_CREATE_MODULE | -4 | Rdb Create Module |
SQL_K_OCTRDB_ALTER_MODULE | -5 | Rdb Alter Module |
SQL_K_OCTRDB_DROP_MODULE | -6 | Rdb Drop Module |
SQL_K_OCTRDB_CREATE_DOMAIN | -7 | Rdb Create Domain |
SQL_K_OCTRDB_ALTER_DOMAIN | -8 | Rdb Alter Domain |
SQL_K_OCTRDB_DROP_DOMAIN | -9 | Rdb Drop Domain |
SQL_K_OCTRDB_CREATE_CATALOG | -10 | Rdb Create Catalog |
SQL_K_OCTRDB_ALTER_CATALOG | -11 | Rdb Alter Catalog |
SQL_K_OCTRDB_DROP_CATALOG | -12 | Rdb Drop Catalog |
SQL_K_OCTRDB_ALTER_SCHEMA | -13 | Rdb Alter Schema |
SQL_K_OCTRDB_DROP_SCHEMA | -14 | Rdb Drop Schema |
SQL_K_OCTRDB_SET_SESSION | -15 | Rdb Set Session Authorization |
SQL_K_OCTCTB | 1 | create table |
SQL_K_OCTINS | 2 | insert |
SQL_K_OCTSEL | 3 | select |
SQL_K_OCTCCL | 4 | create cluster |
SQL_K_OCTACL | 5 | alter cluster |
SQL_K_OCTUPD | 6 | update |
SQL_K_OCTDEL | 7 | delete |
SQL_K_OCTDCL | 8 | drop cluster |
SQL_K_OCTCIX | 9 | create index |
SQL_K_OCTDIX | 10 | drop index |
SQL_K_OCTAIX | 11 | alter index |
SQL_K_OCTDTB | 12 | drop table |
SQL_K_OCTCSQ | 13 | create sequence |
SQL_K_OCTASQ | 14 | alter sequence |
SQL_K_OCTATB | 15 | alter table |
SQL_K_OCTDSQ | 16 | drop sequence |
SQL_K_OCTGRA | 17 | grant |
SQL_K_OCTREV | 18 | revoke |
SQL_K_OCTCSY | 19 | create synonym |
SQL_K_OCTDSY | 20 | drop synonym |
SQL_K_OCTCVW | 21 | create view |
SQL_K_OCTDVW | 22 | drop view |
SQL_K_OCTVIX | 23 | validate index |
SQL_K_OCTCPR | 24 | create procedure |
SQL_K_OCTAPR | 25 | alter procedure |
SQL_K_OCTLTB | 26 | lock table |
SQL_K_OCTNOP | 27 | no operation |
SQL_K_OCTRNM | 28 | rename |
SQL_K_OCTCMT | 29 | comment |
SQL_K_OCTAUD | 30 | audit |
SQL_K_OCTNOA | 31 | noaudit |
SQL_K_OCTCED | 32 | create database link |
SQL_K_OCTDED | 33 | drop database link |
SQL_K_OCTCDB | 34 | create database |
SQL_K_OCTADB | 35 | alter database |
SQL_K_OCTCRS | 36 | create rollback segment |
SQL_K_OCTARS | 37 | alter rollback segment |
SQL_K_OCTDRS | 38 | drop rollback segment |
SQL_K_OCTCTS | 39 | create tablespace |
SQL_K_OCTATS | 40 | alter tablespace |
SQL_K_OCTDTS | 41 | drop tablespace |
SQL_K_OCTASE | 42 | alter session |
SQL_K_OCTAUR | 43 | alter user |
SQL_K_OCTCWK | 44 | commit |
SQL_K_OCTROL | 45 | rollback |
SQL_K_OCTSPT | 46 | savepoint |
SQL_K_OCTPLS | 47 | pl/sql execute |
SQL_K_OCTSET | 48 | set transaction |
SQL_K_OCTASY | 49 | alter system switch log |
SQL_K_OCTXPL | 50 | explain |
SQL_K_OCTCUS | 51 | create user |
SQL_K_OCTCRO | 52 | create role |
SQL_K_OCTDUS | 53 | drop user |
SQL_K_OCTDRO | 54 | drop role |
SQL_K_OCTSER | 55 | set role |
SQL_K_OCTCSC | 56 | create schema |
SQL_K_OCTCCF | 57 | create control file |
SQL_K_OCTATR | 58 | Alter tracing |
SQL_K_OCTCTG | 59 | create trigger |
SQL_K_OCTATG | 60 | alter trigger |
SQL_K_OCTDTG | 61 | drop trigger |
SQL_K_OCTANT | 62 | analyze table |
SQL_K_OCTANI | 63 | analyze index |
SQL_K_OCTANC | 64 | analyze cluster |
SQL_K_OCTCPF | 65 | create profile |
SQL_K_OCTDPF | 66 | drop profile |
SQL_K_OCTAPF | 67 | alter profile |
SQL_K_OCTDPR | 68 | drop procedure |
SQL_K_OCTARC | 70 | alter resource cost |
SQL_K_OCTCSL | 71 | create snapshot log |
SQL_K_OCTASL | 72 | alter snapshot log |
SQL_K_OCTDSL | 73 | drop snapshot log |
SQL_K_OCTCSN | 74 | create snapshot |
SQL_K_OCTASN | 75 | alter snapshot |
SQL_K_OCTDSN | 76 | drop snapshot |
SQL_K_OCTCTY | 77 | create type |
SQL_K_OCTDTY | 78 | drop type |
SQL_K_OCTARO | 79 | alter role |
SQL_K_OCTATY | 80 | alter type |
SQL_K_OCTCYB | 81 | create type body |
SQL_K_OCTAYB | 82 | alter type body |
SQL_K_OCTDYB | 83 | drop type body |
SQL_K_OCTDLB | 84 | drop library |
SQL_K_OCTTTB | 85 | truncate table |
SQL_K_OCTTCL | 86 | truncate cluster |
SQL_K_OCTCBM | 87 | create bitmapfile |
SQL_K_OCTAVW | 88 | alter view |
SQL_K_OCTDBM | 89 | drop bitmapfile |
SQL_K_OCTSCO | 90 | set constraints |
SQL_K_OCTCFN | 91 | create function |
SQL_K_OCTAFN | 92 | alter function |
SQL_K_OCTDFN | 93 | drop function |
SQL_K_OCTCPK | 94 | create package |
SQL_K_OCTAPK | 95 | alter package |
SQL_K_OCTDPK | 96 | drop package |
SQL_K_OCTCPB | 97 | create package body |
SQL_K_OCTAPB | 98 | alter package body |
SQL_K_OCTDPB | 99 | drop package body |
SQL_K_OCTCDR | 157 | create directory |
SQL_K_OCTDDR | 158 | drop directory |
SQL_K_OCTCLB | 159 | create library |
SQL_K_OCTCJV | 160 | create java |
SQL_K_OCTAJV | 161 | alter java |
SQL_K_OCTDJV | 162 | drop java |
SQL_K_OCTCOP | 163 | create operator |
SQL_K_OCTCIT | 164 | create indextype |
SQL_K_OCTDIT | 165 | drop indextype |
SQL_K_OCTAIT | 166 | reserver for alter indextype |
SQL_K_OCTDOP | 167 | drop operator |
SQL_K_OCTAST | 168 | associate statistics |
SQL_K_OCTDST | 169 | disassociate statistics |
SQL_K_OCTCAL | 170 | call method |
SQL_K_OCTCSM | 171 | create summary |
SQL_K_OCTASM | 172 | alter summary |
SQL_K_OCTDSM | 173 | drop summary |
SQL_K_OCTCDM | 174 | create dimension |
SQL_K_OCTADM | 175 | alter dimension |
SQL_K_OCTDDM | 176 | drop dimension |
SQL_K_OCTCCT | 177 | create context |
SQL_K_OCTDCT | 178 | drop context |
SQL_K_OCTASO | 179 | alter outline |
SQL_K_OCTCSO | 180 | create outline |
SQL_K_OCTDSO | 181 | drop outline |
SQL_K_OCTAOP | 183 | alter operator |
SQL_K_OCTCEP | 184 | create encryption profile |
SQL_K_OCTAEP | 185 | alter encryption profile |
SQL_K_OCTDEP | 186 | drop encryption profile |
SQL_K_OCTCSP | 187 | create spfile from pfile |
SQL_K_OCTCPS | 188 | create pfile from spfile |
SQL_K_OCTUPS | 189 | merge |
SQL_K_OCTCPW | 190 | change password |
SQL_K_OCTUJI | 191 | update join index |
SQL_K_OCTASYN | 192 | alter synonym |
SQL_K_OCTADG | 193 | alter disk group |
SQL_K_OCTCDG | 194 | create disk group |
SQL_K_OCTDDG | 195 | drop disk group |
SQL_K_OCTALB | 196 | alter library |
SQL_K_OCTPRB | 197 | purge user recyclebin |
SQL_K_OCTPDB | 198 | purge dba recyclebin |
SQL_K_OCTPTS | 199 | purge tablespace |
SQL_K_OCTPTB | 200 | purge table |
SQL_K_OCTPIX | 201 | purge index |
SQL_K_OCTUDP | 202 | undrop object |
SQL_K_OCTDDB | 203 | drop database |
SQL_K_OCTFBD | 204 | flashback database |
SQL_K_OCTFBT | 205 | flashback table |