oracle异常处理
序言
最近在工作中遇到这么一个场景:
- 在同一网段内存在着A库和B库,需要将A库下某些表的数据同步到B库
- B库跑着定时任务,定时调用存储过程将A库下的数据同步到B库。
- B库和A库是通过建立dblink建立连接的。【关于dblink相关可能会后面单独写博客,先给自己挖个坑,慢慢填 哈哈】。
- 定时任务的频次呢是10分钟增量同步一次。
但是随着时间推移,问题出来了:一部分数据没同步过去。
排查步骤:
- 检查定时任务是不是被终止了
- 检查存储过程是不是出问题了
- 检查A库中的目标数据是不是不符合规范
排查思路是将从A库中同步到B库的数据都删了,然后手动调用过程,发现全部数据可以正常同步过去,这样就将上面三种情况都排除了。
这就令人很费解了,是哪出问题了呢?最后将问题定位在执行存储过程中,由于某种原因发生了异常,导致数据同步失败。这样看来是存储过程写的不够完善,某些异常没考虑进去。
吸取以上事例教训,下面就来探究下Oracle中异常处理流程
1 异常概念
和其他编程语言一样,用PL/SQL编写的程序,在运行过程中也会出现各种错误,这些错误就是异常。
举个栗子:
declare
v_result number(10) :=0;
begin
v_result := 10/0;
dbms_output.put_line('结果是:'||v_result);
end;
以上脚本执行时就会发生除数为0的异常
2 异常分类
- 预定义异常 (与Oracle 中的错误有关,当出现错误时会自动触发)
- 非预定义异常(与Oracle 中的错误有关,当出现错误时会自动触发)
- 自定义异常 (人为的为某种特殊情况定义的异常,不会自动触发,需要显示的操作来触发)
3 异常处理
3.1 异常处理语法
exception
when exception1 [or exception2...] then --异常列表
statement... --异常处理语句
when exception3 [or exception4...] then --异常列表
statement... --异常语句
when others then
statement...
--exception 表示申明异常块部分,它是异常处理部分开始标志
-- where 后面是异常列表
-- then 后面是异常处理语句 也就是发生的异常和异常列表里的异常匹配是,执行的指定语句
-- 可以有多个when
--when others then 是异常处理最后部分,表示如果抛出的异常和前面的都不匹配时执行此处
3.2 预定义异常处理
在oracle中提供一些已经定义好的常用异常,oracle中一共提供了25中预定义异常。
可以根据以下语句查询
select * from dba_source where name='STANDARD' and text like '%EXCEPTION_INIT%'
下面是一些常见异常
| Exception | ORA Error | SQL CODE | Condition |
|---|---|---|---|
| CASE_NOT_FOUND | ORA-06592 | -6592 | CASE语句时,WHEN字句没有包含必须的条件分支,并且没有ELSE语句,就会触发该异常 |
| DATA_NOT_FOUND | ORA-01403 | +100 | select into 语句没有返回记录就会触发此异常 |
| TOO_MANY_ROWS | ORA-01422 | -1422 | select into 语句返回记录多余一条就会触发此异常 |
| DUP_VAL_ON_INDEX | ORA-00001 | -1 | 当在唯一索引所对应的列上键入重复值时,就会触发该异常 |
| VALUE_ERROR | ORA-06522 | -06522 | 赋值是,如果变量长度不足以容纳实际数据,则会触发该异常 |
| ZERO_DIVIDE | ORA-01476 | -01476 | 除数为0时触发异常 |
| STORAGE_ERROR | ORA-06500 | -06500 | 内存溢出时触发异常 |
| TIMEOUT_ON_RESOURCE | ORA-00051 | -51 | 等待资源超时时触发异常 |
| CURSOR_ALREADY_OPEN | ORA-06511 | -6511 | 打开一个已经打开的游标时触发异常 |
举个栗子:
declare
v_result number(10) :=0;
begin
v_result := 10/0;
dbms_output.put_line('结果是:'||v_result);
exception
when ZERO_DIVIDE then
dbms_output.put_line('除数为0了');
end;
--除数为0时会立即捕获异常,异常和when中匹配时,执行之后语句。避免程序中断
-- **异常匹配是从上到下的**
3.3 非预定义异常
oracle 中更多的是非预定义异常,它们只有错误编号和错误描述。而没有名称的异常是不能被捕获的。在oracle中允许开发人员为这样的异常取个名称,使他们能够被异常处理模块捕捉到
非预定义异常定义步骤:
- 申明一个异常名称
- 把这个名称和异常编号关联起来
- 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理
举个栗子:
--删除指定部门的记录信息,以确保该部门没有员工。
INSERT INTO departments VALUES(50, 'FINANCE', 'CHICAGO');
DECLARE
v_deptno departments.department_id%TYPE := &deptno;
deptno_remaining EXCEPTION; --申明异常
PRAGMA EXCEPTION_INIT(deptno_remaining, -2292); --把异常名称和错误号关联起来
/* -2292 是违反一致性约束的错误代码 */
BEGIN
DELETE FROM departments WHERE department_id = v_deptno;
EXCEPTION
WHEN deptno_remaining THEN
DBMS_OUTPUT.PUT_LINE('违反数据完整性约束!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
END;
3.4 自定义异常
用户定义的异常错误是通过显式使用 RAISE 语句来触发。当引发一个异常错误时,控制就转向到 EXCEPTION块异常错误部分,执行错误处理代码。
3.4.1 自定义异常处理步骤
- 在PL/SQL 块的定义部分定义异常情况:<异常情况> EXCEPTION;
- RAISE <异常情况>;
- 在PL/SQL 块的异常情况处理部分对异常情况做出相应的处理。
举个栗子:
--更新指定员工工资,增加100
DECLARE
v_empno employees.employee_id%TYPE :=&empno;
no_result EXCEPTION;
BEGIN
UPDATE employees SET salary = salary+100 WHERE employee_id = v_empno;
IF SQL%NOTFOUND THEN
RAISE no_result;
END IF;
EXCEPTION
WHEN no_result THEN
DBMS_OUTPUT.PUT_LINE('你的数据更新语句失败了!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
END;
4 异常出现位置
4.1 申明部分引发异常错误
在程序申明部分出现错误,那么该错误就能影响到其他块
例如:
DECLARE
abc number(3):='abc';
其它语句
BEGIN
其它语句
EXCEPTION
WHEN OTHERS THEN
其它语句
END;
-- 以上例子 由于abc number(3)='abc'; 出错,尽管在EXCEPTION中说明了WHEN OTHERS THEN语句,但WHEN OTHERS THEN也不会被执行。这时就需要如下写法才能捕获异常,在该错误语句块的外部有一个异常错误,则该错误能被抓住
BEGIN
DECLARE
abc number(3):='abc';
其它语句
BEGIN
其它语句
EXCEPTION
WHEN OTHERS THEN
其它语句
END;
EXCEPTION
WHEN OTHERS THEN
其它语句
END;
4.2 执行部分引发异常
1如果当前块对该异常错误设置了处理,则执行它并成功完成该块的执行,然后控制转给包含块。
如果没有对当前块异常错误设置定义处理器,则通过在包含块中引发它来传播异常错误。然后对该包含块执行步骤1)。
5 SQLCODE, SQLERRM异常处理函数
由于ORACLE 的错信息最大长度是512字节,为了得到完整的错误提示信息,我们可用 SQLERRM和 SUBSTR 函数一起得到错误提示信息。
- SQLCODE 返回遇到的Oracle错误号
- SQLERRM 返回遇到的Oracle错误信息
例如:
SQLCODE=-100 SQLERRM=’no_data_found ‘
SQLCODE=0 SQLERRM=’normal, successfual completion’
常用场景:
-- 1. 将ORACLE错误代码及其信息存入错误代码表
CREATE TABLE errors (errnum NUMBER(4), errmsg VARCHAR2(100));
DECLARE
err_msg VARCHAR2(100);
BEGIN
/* 得到所有 ORACLE 错误信息 */
FOR err_num IN -100 .. 0 LOOP
err_msg := SQLERRM(err_num);
INSERT INTO errors VALUES(err_num, err_msg);
END LOOP;
END;
DROP TABLE errors;
--2. 查询ORACLE错误代码;
BEGIN
INSERT INTO employees(employee_id, first_name,last_name,hire_date,department_id)
VALUES(1111, '张','三', SYSDATE, 20);
DBMS_OUTPUT.PUT_LINE('插入数据记录成功!');
INSERT INTO employees(employee_id, first_name,last_name,hire_date,department_id)
VALUES(2222, '李','四', SYSDATE, 20);
DBMS_OUTPUT.PUT_LINE('插入数据记录成功!');
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM); --将错误代码和错误信息打印出来
END;
--3. 利用ORACLE错误代码,编写异常错误处理代码;
DECLARE
empno_remaining EXCEPTION;
PRAGMA EXCEPTION_INIT(empno_remaining, -1);
/* -1 是违反唯一约束条件的错误代码 */
BEGIN
INSERT INTO employees(employee_id, first_name,last_name,hire_date,department_id)
VALUES(3333, '王','五', SYSDATE, 20);
DBMS_OUTPUT.PUT_LINE('插入数据记录成功!');
INSERT INTO employees(employee_id, first_name,last_name,hire_date,department_id)
VALUES(3333, '赵','六',SYSDATE, 20);
DBMS_OUTPUT.PUT_LINE('插入数据记录成功!');
EXCEPTION
WHEN empno_remaining THEN
DBMS_OUTPUT.PUT_LINE('违反数据完整性约束!');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(SQLCODE||'---'||SQLERRM);
END;
6 oracle 错误码归纳
| errcode | err |
|---|---|
| ORA-00001 | 违反唯一约束条件 (.) |
| ORA-00017 | 请求会话以设置跟踪事件 |
| ORA-00018 | 超出最大会话数 |
| ORA-00019 | 超出最大会话许可数 |
| ORA-00020 | 超出最大进程数 () |
| ORA-00021 | 会话附属于其它某些进程;无法转换会话 |
| ORA-00022 | 无效的会话 ID;访问被拒绝 |
| ORA-00023 | 会话引用进程私用内存;无法分离会话 |
| ORA-00024 | 单一进程模式下不允许从多个进程注册 |
| ORA-00025 | 无法分配 |
| ORA-00026 | 丢失或无效的会话 ID |
| ORA-00027 | 无法删去当前会话 |
| ORA-00028 | 您的会话己被删去 |
| ORA-00029 | 会话不是用户会话 |
| ORA-00030 | 用户会话 ID 不存在。 |
| ORA-00031 | 标记要删去的会话 |
| ORA-00032 | 无效的会话移植口令 |
| ORA-00033 | 当前的会话具有空的移植口令 |
| ORA-00034 | 无法在当前 PL/SQL 会话中 |
| ORA-00035 | LICENSE_MAX_USERS 不能小于当前用户数 |
| ORA-00036 | 超过递归 SQL () 级的最大值 |
| ORA-00037 | 无法转换到属于不同服务器组的会话 |
| ORA-00038 | 无法创建会话: 服务器组属于其它用户 |
| ORA-00050 | 获取入队时操作系统出错 |
| ORA-00051 | 等待资源超时 |
| ORA-00052 | 超出最大入队资源数 () |
| ORA-00053 | 超出最大入队数 |
| ORA-00054 | 资源正忙,要求指定 NOWAIT |
| ORA-00055 | 超出 DML 锁的最大数 |
| ORA-00056 | 对象 '.' 上的 DDL 锁以不兼容模式挂起 |
| ORA-00057 | 超出临时表锁的最大数 |
| ORA-00058 | DB_BLOCK_SIZE 必须为才可安装此数据库 (非 ) |
| ORA-00059 | 超出 DB_FILES 的最大值 |
| ORA-00060 | 等待资源时检测到死锁 |
| ORA-00061 | 另一个例程设置了不同的 DML_LOCKS |
| ORA-00062 | 无法获得 DML 全表锁定;DML_LOCKS 为 0 |
| ORA-00063 | 超出 LOG_FILES 的最大数 |
| ORA-00064 | 对象过大以至无法分配在此 O/S (,) |
| ORA-00065 | FIXED_DATE 的初始化失败 |
| ORA-00066 | LOG_FILES 为 但需要成为 才可兼容 |
| ORA-00067 | 值 对参数 无效;至少必须为 |
| ORA-00068 | 值 对参数 无效,必须在 和 之间 |
| ORA-00069 | 无法获得锁定 -- 禁用了表锁定 |
| ORA-00070 | 命令无效 |
| ORA-00071 | 进程号必须介于 1 和 之间 |
| ORA-00072 | 进程""不活动 |
| ORA-00073 | 命令 介于 和 个参数之间时使用 |
| ORA-00074 | 未指定进程 |
| ORA-00075 | 在此例程未找到进程 "" |
| ORA-00076 | 未找到转储 |
| ORA-00077 | 转储 无效 |
| ORA-00078 | 无法按名称转储变量 |
| ORA-00079 | 未找到变量 |
| ORA-00080 | 层次 指定的全局区域无效 |
| ORA-00081 | 地址范围 [,) 不可读 |
| ORA-00082 | 的内存大小不在有效集合 [1], [2], [4] 之内 |
| ORA-00083 | 警告: 可能损坏映射的 SGA |
| ORA-00084 | 全局区域必须为 PGA, SGA 或 UGA |
| ORA-00085 | 当前调用不存在 |
| ORA-00086 | 用户调用不存在 |
| ORA-00087 | 命令无法在远程例程上执行 |
| ORA-00088 | 共享服务器无法执行命令 |
| ORA-00089 | ORADEBUG 命令中无效的例程号 |
| ORA-00090 | 未能将内存分配给群集数据库 ORADEBUG 命令 |
| ORA-00091 | LARGE_POOL_SIZE 至少必须为 |
| ORA-00092 | LARGE_POOL_SIZE 必须大于 LARGE_POOL_MIN_ALLOC |
| ORA-00093 | 必须介于 和 之间 |
| ORA-00094 | 要求整数值 |
| ORA-00096 | 值 对参数 无效,它必须来自 之间 |
| ORA-00097 | 使用 Oracle SQL 特性不在 SQL92 级中 |
| ORA-00099 | 等待资源时发生超时,可能是 PDML 死锁所致 |
| ORA-00100 | 未找到数据 |
| ORA-00101 | 系统参数 DISPATCHERS 的说明无效 |
| ORA-00102 | 调度程序无法使用网络协议 |
| ORA-00103 | 无效的网络协议;供调度程序备用 |
| ORA-00104 | 检测到死锁;全部公用服务器已锁定等待资源 |
| ORA-00105 | 未配置网络协议 的调度机制 |
| ORA-00106 | 无法在连接到调度程序时启动/关闭数据库 |
| ORA-00107 | 无法连接到 ORACLE 监听器进程 |
| ORA-00108 | 无法设置调度程序以同步进行连接 |
| ORA-00111 | 由于服务器数目限制在 , 所以没有启动所有服务器 |
| ORA-00112 | 仅能创建多达 (最多指定) 个调度程序 |
| ORA-00113 | 协议名 过长 |
| ORA-00114 | 缺少系统参数 SERVICE_NAMES 的值 |
| ORA-00115 | 连接被拒绝;调度程序连接表已满 |
| ORA-00116 | SERVICE_NAMES 名过长 |
| ORA-00117 | 系统参数 SERVICE_NAMES 的值超出范围 |
| ORA-00118 | 系统参数 DISPATCHERS 的值超出范围 |
| ORA-00119 | 系统参数 的说明无效 |
| ORA-00120 | 未启用或安装调度机制 |
| ORA-00121 | 在缺少 DISPATCHERS 的情况下指定了 SHARED_SERVERS |
| ORA-00122 | 无法初始化网络配置 |
| ORA-00123 | 空闲公用服务器终止 |
| ORA-00124 | 在缺少 MAX_SHARED_SERVERS 的情况下指定了 DISPATCHERS |
| ORA-00125 | 连接被拒绝;无效的演示文稿 |
| ORA-00126 | 连接被拒绝;无效的重复 |
| ORA-00127 | 调度进程 不存在 |
| ORA-00128 | 此命令需要调度进程名 |
| ORA-00129 | 监听程序地址验证失败 '' |
| ORA-00130 | 监听程序地址 '' 无效 |
| ORA-00131 | 网络协议不支持注册 '' |
| ORA-00132 | 语法错误或无法解析的网络名称 '' |
| ORA-00150 | 重复的事务处理 ID |
| ORA-00151 | 无效的事务处理 ID |
| ORA-00152 | 当前会话与请求的会话不匹配 |
| ORA-00153 | XA 库中的内部错误 |
| ORA-00154 | 事务处理监视器中的协议错误 |
| ORA-00155 | 无法在全局事务处理之外执行工作 |
| ORA-00160 | 全局事务处理长度 超出了最大值 () |
| ORA-00161 | 事务处理的分支长度 非法 (允许的最大长度为 ) |
| ORA-00162 | 外部 dbid 的长度 超出了最大值 () |
| ORA-00163 | 内部数据库名长度 超出了最大值 () |
| ORA-00164 | 在分布式事务处理中不允许独立的事务处理 |
| ORA-00165 | 不允许对远程操作进行可移植分布式自治转换 |
| ORA-00200 | 无法创建控制文件 |
| ORA-00201 | 控制文件版本 与 ORACLE 版本 不兼容 |
| ORA-00202 | 控制文件: '' |
| ORA-00203 | 使用错误的控制文件 |
| ORA-00204 | 读控制文件时出错 (块 ,# 块 ) |
| ORA-00205 | 标识控制文件出错,有关详情,请检查警告日志 |
| ORA-00206 | 写控制文件时出错 (块 ,# 块 ) |
| ORA-00207 | 控制文件不能用于同一数据库 |
| ORA-00208 | 控制文件的名称数超出限制 |
| ORA-00209 | 控制文件块大小不匹配,有关详情,请检查警告日志 |
| ORA-00210 | 无法打开指定的控制文件 |
| ORA-00211 | 控制文件与先前的控制文件不匹配 |
| ORA-00212 | 块大小 低于要求的最小大小 ( 字节) |
| ORA-00213 | 不能重新使用控制文件;原文件大小为 ,还需 |
| ORA-00214 | 控制文件 '' 版本 与文件 '' 版本 不一致 |
| ORA-00215 | 必须至少存在一个控制文件 |
| ORA-00216 | 无法重新调整从 8.0.2 移植的控制文件大小 |
| ORA-00217 | 从 9.0.1 进行移植无法重新调整控制文件的大小 |
| ORA-00218 | 控制文件的块大小 与 DB_BLOCK_SIZE () 不匹配 |
| ORA-00219 | 要求的控制文件大小 超出了允许的最大值 |
| ORA-00220 | 第一个例程未安装控制文件,有关详情,请检查警告日志 |
| ORA-00221 | 写入控制文件出错 |
| ORA-00222 | 操作将重新使用当前已安装控制文件的名称 |
| ORA-00223 | 转换文件无效或版本不正确 |
| ORA-00224 | 控制文件重设大小尝试使用非法记录类型 () |
| ORA-00225 | 控制文件的预期大小 与实际大小 不同 |
| ORA-00226 | 备用控制文件打开时不允许进行操作 |
| ORA-00227 | 控制文件中检测到损坏的块: (块 ,# 块 ) |
| ORA-00228 | 备用控制文件名长度超出了最大长度 |
| ORA-00229 | 操作不允许: 已挂起快照控制文件入队 |
| ORA-00230 | 操作不允许: 无法使用快照控制文件入队 |
| ORA-00231 | 快照控制文件未命名 |
| ORA-00232 | 快照控制文件不存在, 已损坏或无法读取 |
| ORA-00233 | 控制文件副本已损坏或无法读取 |
| ORA-00234 | 标识或打开快照或复制控制文件时出错 |
| ORA-00235 | 控制文件固定表因并发更新而不一致 |
| ORA-00236 | 快照操作不允许: 挂上的控制文件为备份文件 |
| ORA-00237 | 快照操作不允许: 控制文件新近创建 |
| ORA-00238 | 操作将重用属于数据库一部分的文件名 |
| ORA-00250 | 未启动存档器 |
| ORA-00251 | LOG_ARCHIVE_DUPLEX_DEST 不能是与字符串 相同的目的地 |
| ORA-00252 | 日志 在线程 上为空,无法存档 |
| ORA-00253 | 字符限制在 以内,归档目的字符串 超出此限制 |
| ORA-00254 | 存档控制字符串 '' 时出错 |
| ORA-00255 | 存档日志 (线程 , 序列 # ) 时出错 |
| ORA-00256 | 无法翻译归档目的字符串 |
| ORA-00257 | 存档器错误。在释放之前仅限于内部连接 |
| ORA-00258 | NOARCHIVELOG 模式下的人工存档必须标识日志 |
| ORA-00259 | 日志 (打开线程 ) 为当前日志,无法存档 |
| ORA-00260 | 无法找到联机日志序列 (线程 ) |
| ORA-00261 | 正在存档或修改日志 (线程 ) |
| ORA-00262 | 当前日志 (关闭线程 ) 无法切换 |
| ORA-00263 | 线程 没有需要存档的记录 |
| ORA-00264 | 不要求恢复 |
| ORA-00265 | 要求例程恢复,无法设置 ARCHIVELOG 模式 |
| ORA-00266 | 需要存档日志文件名 |
| ORA-00267 | 无需存档日志文件名 |
| ORA-00268 | 指定的日志文件不存在 '' |
| ORA-00269 | 指定的日志文件为线程 的一部分 (非 ) |
| ORA-00270 | 创建存档日志 时出错 |
| ORA-00271 | 没有需要存档的日志 |
| ORA-00272 | 写存档日志 时出错 |
| ORA-00273 | 未记录的直接加载数据的介质恢复 |
| ORA-00274 | 非法恢复选项 |
| ORA-00275 | 已经开始介质恢复 |
| ORA-00276 | CHANGE 关键字已指定但未给出更改编号 |
| ORA-00277 | UNTIL 恢复标志 的非法选项 |
| ORA-00278 | 此恢复不再需要日志文件 '' |
| ORA-00279 | 更改 (在 生成) 对于线程 是必需的 |
| ORA-00280 | 更改 对于线程 是按序列 # 进行的 |
| ORA-00281 | 不能使用调度进程执行介质恢复 |
| ORA-00282 | UPI 调用不被支持,请使用 ALTER DATABASE RECOVER |
| ORA-00283 | 恢复会话因错误而取消 |
| ORA-00284 | 恢复会话仍在进行 |
| ORA-00285 | TIME 未作为字符串常数给出 |
| ORA-00286 | 无可用成员,或成员无有效数据 |
| ORA-00287 | 未找到指定的更改编号 (在线程 中) |
| ORA-00288 | 要继续恢复,请键入 ALTER DATABASE RECOVER CONTINUE |
| ORA-00289 | 建议: |
| ORA-00290 | 操作系统出现存档错误。请参阅下面的错误 |
| ORA-00291 | PARALLEL 选项要求数字值 |
| ORA-00292 | 未安装并行恢复功能 |
| ORA-00293 | 控制文件与重做日志不同步 |
| ORA-00294 | 无效的存档日志格式标识 '' |
| ORA-00295 | 数据文件号 无效,必须介于 1 与 之间 |
| ORA-00296 | 已超出 RECOVER DATAFILE LIST 的最大文件数 () |
| ORA-00297 | 必须在 RECOVER DATAFILE START 之前指定 RECOVER DATAFILE LIST |
| ORA-00298 | 丢失或无效的 TIMEOUT 间隔 |
| ORA-00299 | 必须在数据文件 上使用文件级介质恢复 |
| ORA-00300 | 指定的重做日志块大小 非法 - 超出限制 |
| ORA-00301 | 添加日志文件 '' 时出错 - 无法创建文件 |
| ORA-00302 | 日志超出限制 |
| ORA-00303 | 无法处理多次中断的重做 |
| ORA-00304 | 请求的 INSTANCE_NUMBER 在使用中 |
| ORA-00305 | 日志 (线程 ) 不一致;属于另一个数据库 |
| ORA-00306 | 此数据库中的例程限制 |
| ORA-00307 | 请求的 INSTANCE_NUMBER 超出限制,最大为 |
| ORA-00308 | 无法打开存档日志 '' |
| ORA-00309 | 日志属于错误的数据库 |
| ORA-00310 | 存档日志包含序列 ;要求序列 |
| ORA-00311 | 无法从存档日志读取标题 |
| ORA-00312 | 联机日志 线程 : '' |
| ORA-00313 | 无法打开日志组 (线程 ) 的成员 |
| ORA-00314 | 日志 (线程 ),预计序号 与 不匹配 |
| ORA-00315 | 日志 (线程 ),标题中的线程 # 错误 |
| ORA-00316 | 日志 (线程 ),标题中的类型 不是日志文件 |
| ORA-00317 | 标题中的文件类型 不是日志文件 |
| ORA-00318 | 日志 (线程 ),预计文件大小 与 不匹配 |
| ORA-00319 | 日志 (线程 ) 具有错误的日志重置状态 |
| ORA-00320 | 无法从日志 (线程 ) 读取文件标题 |
| ORA-00321 | 日志 (线程 ),无法更新日志文件标题 |
| ORA-00322 | 日志 (线程 ) 不是当前副本 |
| ORA-00323 | 线程 的当前日志不可用而所有其它日志均需要存档 |
| ORA-00324 | 日志文件 '' 的翻译名 '' 太长, 字符超出 限制 |
| ORA-00325 | 已归档线程 的日志,标题中的线程 # 错误 |
| ORA-00326 | 日志在更改 开始,需要更早的更改 |
| ORA-00327 | 日志 (线程 ),实际大小 小于需要的 |
| ORA-00328 | 归档日志在更改 结束,需要稍后的更改 |
| ORA-00329 | 归档日志在更改 开始,需要更改 |
| ORA-00330 | 归档日志在更改 结束,需要更改 |
| ORA-00331 | 日志版本 与 ORACLE 版本 不兼容 |
| ORA-00332 | 归档日志过小 - 可能未完全归档 |
| ORA-00333 | 重做日志读取块 计数 出错 |
| ORA-00334 | 归档日志: '' |
| ORA-00335 | 联机日志 : 没有此编号的日志,日志不存在 |
| ORA-00336 | 大小为 的日志文件块数小于最小 块数 |
| ORA-00337 | 日志文件 '' 不存在且未指定大小 |
| ORA-00338 | 日志 (线程 ) 比控制文件更新 |
| ORA-00339 | 归档日志未包含任何重做 |
| ORA-00340 | 处理联机日志 (线程 ) 时出现 I/O 错误 |
| ORA-00341 | 日志 (线程 ),标题中的日志 # 错误 |
| ORA-00342 | 归档日志在上一个 RESETLOGS 之前创建程序包 |
| ORA-00343 | 错误过多,已关闭日志成员 |
| ORA-00344 | 无法重新创建联机日志 '' |
| ORA-00345 | 重做日志写入块 计数 出错 |
| ORA-00346 | 日志成员标记为 STALE |
| ORA-00347 | 日志 (线程 ),预计块大小 与 不匹配 |
| ORA-00348 | 单一进程重做失败;必须中止例程 |
| ORA-00349 | 无法获得 '' 的块大小 |
| ORA-00350 | 日志 (线程 ) 中需要归档 |
| ORA-00351 | recover-to 时间无效 |
| ORA-00352 | 线程 的所有日志均需要归档 - 无法启用 |
| ORA-00353 | 日志损坏接近块 更改 时间 |
| ORA-00354 | 损坏重做日志块标题 |
| ORA-00355 | 更改编号无次序 |
| ORA-00356 | 更改说明中的长度不一致 |
| ORA-00357 | 日志文件指定了过多成员,最大为 |
| ORA-00358 | 指定了过多文件成员,最大为 |
| ORA-00359 | 日志文件组 不存在 |
| ORA-00360 | 非日志文件成员: |
| ORA-00361 | 无法删除最后一个日志成员 (组 ) |
| ORA-00362 | 组成组 中的有效日志文件要求输入成员 |
| ORA-00363 | 日志不是归档版本 |
| ORA-00364 | 无法将标题写入新日志成员 |
| ORA-00365 | 指定日志不是正确的下一个日志 |
| ORA-00366 | 日志 (线程 ),文件标题中的校验和错误 |
| ORA-00367 | 日志文件标题中的校验和错误 |
| ORA-00368 | 重做日志块中的校验和错误 |
| ORA-00369 | 线程 的当前日志不可用且其它日志已被清除 |
| ORA-00370 | Rcbchange 操作过程中可能出现死锁 |
| ORA-00371 | 共享池内存不足 |
| ORA-00372 | 此时无法修改文件 |
| ORA-00373 | 联机日志版本 与 ORACLE 版本 不兼容 |
| ORA-00374 | 参数 db_block_size = 无效; 它必须是 的倍数, 范围为 [..] |
| ORA-00375 | 无法获得默认 db_block_size |
| ORA-00376 | 此时无法读取文件 |
| ORA-00377 | 文件 的频繁备份导致写操作延迟 |
| ORA-00378 | 无法按指定创建缓冲池 |
| ORA-00379 | 缓冲池 中无法提供 K 块大小的空闲缓冲区 |
| ORA-00380 | 无法指定 db_k_cache_size, 因为 K 是标准块大小 |
| ORA-00381 | 无法将新参数和旧参数同时用于缓冲区高速缓存的大小说明 |
| ORA-00382 | 不是有效的块大小, 有效范围为 [..] |
| ORA-00383 | DEFAULT 高速缓存的块大小 不能减少至零 |
| ORA-00384 | 没有足够的内存来增加高速缓存的大小 |
| ORA-00385 | cannot enable Very Large Memory with new buffer cache parameters |
| ORA-00390 | 日志 (线程 ) 正被清除,无法成为当前日志 |
| ORA-00391 | 所有线程必须同时转换为新的日志格式 |
| ORA-00392 | 日志 (线程 ) 正被清除,不允许操作 |
| ORA-00393 | 脱机数据文件的恢复需要日志 (线程 ) |
| ORA-00394 | 在尝试存档时重新使用联机日志 |
| ORA-00395 | '克隆' 数据库的联机日志必须重命名 |
| ORA-00396 | 错误 需要退回到单次遍历恢复 |
| ORA-00397 | 对于文件 (块 ), 检测到写入丢失情况 |
| ORA-00398 | 由于重新配置而中止了线程恢复 |
| ORA-00399 | 重做日志中的更改说明已损坏 |
| ORA-00400 | 无效的版本值 (对于参数 ) |
| ORA-00401 | 此版本不支持参数 的值 |
| ORA-00402 | 版本 的数据库更改无法用于版本 |
| ORA-00403 | () 不同于其它例程 () |
| ORA-00404 | 未找到转换文件: '' |
| ORA-00405 | 兼容类型"" |
| ORA-00406 | COMPATIBLE 参数需要为 或更大 |
| ORA-00407 | 不允许从版本 . 到 . 滚动升级 |
| ORA-00408 | 参数 设置为 TRUE |
| ORA-00409 | COMPATIBLE 必须是 或更高值才能使用 AUTO SEGMENT SPACE MANAGEMENT |
| ORA-00436 | 没有 ORACLE 软件使用权,请与 Oracle 公司联系获得帮助 |
| ORA-00437 | 没有 ORACLE 软件功能使用权,请与 Oracle 公司联系获得帮助 |
| ORA-00438 | 未安装 选项 |
| ORA-00439 | 未启用特性: |
| ORA-00443 | 背景进程 "" 未启动 |
| ORA-00444 | 背景进程 "" 启动时失败 |
| ORA-00445 | 背景进程 "" 在 秒之后仍没有启动 |
| ORA-00446 | 背景进程意外启动 |
| ORA-00447 | 背景进程出现致命错误 |
| ORA-00448 | 背景进程正常结束 |
| ORA-00449 | 背景进程 '' 因错误 异常终止 |
| ORA-00470 | LGWR 进程因错误而终止 |
| ORA-00471 | DBWR 进程因错误而终止 |
| ORA-00472 | PMON 进程因错误而终止 |
| ORA-00473 | ARCH 进程因错误而终止 |
| ORA-00474 | SMON 进程因错误而终止 |
| ORA-00475 | TRWR 进程因错误而终止 |
| ORA-00476 | RECO 进程因错误而终止 |
| ORA-00477 | SNP* 进程因错误而终止 |
| ORA-00478 | SMON 进程由于 错误终止 |
| ORA-00480 | LCK* 进程因错误而终止 |
| ORA-00481 | LMON 进程因错误而终止 |
| ORA-00482 | LMD* 进程因错误而终止 |
| ORA-00483 | 关闭进程过程中异常终止 |
| ORA-00484 | LMS* 进程因错误而终止 |
| ORA-00485 | DIAG 进程由于 错误终止 |
| ORA-00486 | 功能不可用 |
| ORA-00568 | 超出中断处理程序的最大数 |
| ORA-00574 | osndnt: $CANCEL 失败 (中断) |
| ORA-00575 | osndnt: $QIO 失败 (发送 out-of-band 中断) |
| ORA-00576 | 带内中断协议错误 |
| ORA-00577 | 带外中断协议错误 |
| ORA-00578 | 重置协议错误 |
| ORA-00579 | osndnt: 服务器收到连接请求格式不正确 |
| ORA-00580 | 协议版本不匹配 |
| ORA-00581 | osndnt: 无法分配上下文区域 |
| ORA-00582 | osndnt: 无法撤消分配上下文区域 |
| ORA-00583 | osndnt: $TRNLOG 失败 |
| ORA-00584 | 无法关闭连接 |
| ORA-00585 | 主机名称格式错误 |
| ORA-00586 | osndnt: LIB$ASN_WTH_MBX 失败 |
| ORA-00587 | 无法连接到远程主机 |
| ORA-00588 | 来自主机的信息过短 |
| ORA-00589 | 来自主机的信息数据长度错误 |
| ORA-00590 | 来自主机的信息类型错误 |
| ORA-00591 | 写入的字节数错误 |
| ORA-00592 | osndnt: $QIO 失败 (邮箱队列) |
| ORA-00593 | osndnt: $DASSGN 失败 (网络设备) |
| ORA-00594 | osndnt: $DASSGN 失败 (邮箱) |
| ORA-00595 | osndnt: $QIO 失败 (接收) |
| ORA-00596 | osndnt: $QIO 失败 (发送) |
| ORA-00597 | osndnt: $QIO 失败 (邮箱队列) |
| ORA-00598 | osndnt: $QIO IO 失败 (邮箱读取) |
| ORA-00600 | 内部错误代码,参数: [], [], [], [], [], [], [], [] |
| ORA-00601 | 清除锁定冲突 |
| ORA-00602 | 内部编程异常错误 |
| ORA-00603 | ORACLE 服务器会话因致命错误而终止 |
| ORA-00604 | 递归 SQL 层 出现错误 |
| ORA-00606 | 内部错误代码 |
| ORA-00607 | 当更改数据块时出现内部错误 |
| ORA-00701 | 无法改变热启动数据库所需的对象 |
| ORA-00702 | 引导程序版本 '' 与版本 '' 不一致 |
| ORA-00703 | 超出行高速缓存例程锁的最大数 |
| ORA-00704 | 引导程序进程失败 |
| ORA-00705 | 启动过程中的状态不一致;请在关闭例程后重新启动 |
| ORA-00706 | 更改文件 '' 的格式时出错 |
| ORA-00816 | 错误信息无法转换 |
| ORA-00900 | 无效 SQL 语句 |
| ORA-00901 | 无效 CREATE 命令 |
| ORA-00902 | 无效数据类型 |
| ORA-00903 | 表名无效 |
| ORA-00904 | : 无效的标识符 |
| ORA-00905 | 缺少关键字 |
| ORA-00906 | 缺少左括号 |
| ORA-00907 | 缺少右括号 |
| ORA-00908 | 缺少 NULL 关键字 |
| ORA-00909 | 参数个数无效 |
| ORA-00910 | 指定的长度对于数据类型而言过长 |
| ORA-00911 | 无效字符 |
| ORA-00913 | 值过多 |
| ORA-00914 | 缺少 ADD 关键字 |
| ORA-00915 | 当前不允许网络访问字典表 |
| ORA-00917 | 缺少逗号 |
| ORA-00918 | 未明确定义列 |
| ORA-00919 | 无效函数 |
| ORA-00920 | 无效的关系运算符 |
| ORA-00921 | 未预期的 SQL 命令结尾 |
| ORA-00922 | 缺少或无效选项 |
| ORA-00923 | 未找到预期 FROM 关键字 |
| ORA-00924 | 缺少 BY 关键字 |
| ORA-00925 | 缺失 INTO 关键字 |
| ORA-00926 | 缺少 VALUES 关键字 |
| ORA-00927 | 缺少等号 |
| ORA-00928 | 缺少 SELECT 关键字 |
| ORA-00929 | 缺少句号 |
| ORA-00930 | 缺少星号 |
| ORA-00931 | 缺少标识 |
| ORA-00932 | 不一致的数据类型: 要求 得到的却是 |
| ORA-00933 | SQL 命令未正确结束 |
| ORA-00934 | 此处不允许使用分组函数 |
| ORA-00935 | 分组函数的嵌套太深 |
| ORA-00936 | 缺少表达式 |
| ORA-00937 | 非单组分组函数 |
| ORA-00938 | 函数没有足够的参数 |
| ORA-00939 | 函数的参数过多 |
| ORA-00940 | 无效的 ALTER 命令 |
| ORA-00941 | 群集名缺少 |
| ORA-00942 | 表或视图不存在 |
| ORA-00943 | 群集不存在 |
| ORA-00944 | 没有足够的聚簇列数 |
| ORA-00945 | 指定的聚簇列不存在 |
| ORA-00946 | 缺少 TO 关键字 |
| ORA-00947 | 没有足够的值 |
| ORA-00948 | 不再支持 ALTER CLUSTER 语句 |
| ORA-00949 | 非法引用远程数据库 |
| ORA-00950 | 无效 DROP 选项 |
| ORA-00951 | 群集非空 |
| ORA-00952 | 缺少 GROUP 关键字 |
| ORA-00953 | 缺少或无效索引名 |
| ORA-00954 | 缺少 IDENTIFIED 关键字 |
| ORA-00955 | 名称已由现有对象使用 |
| ORA-00956 | 缺少或无效审计选项 |
| ORA-00957 | 列名重复 |
| ORA-00958 | 缺少 CHECK 关键字 |
| ORA-00959 | 表空间''不存在 |
| ORA-00960 | 选择列表中的命名含糊 |
| ORA-00961 | 错误的日期/间隔值 |
| ORA-00962 | group-by / order-by 表达式过多 |
| ORA-00963 | 不支持的间隔类型 |
| ORA-00964 | 表名不在 FROM 列表中 |
| ORA-00965 | 列别名中不允许'*' |
| ORA-00966 | 缺少 TABLE 关键字 |
| ORA-00967 | 缺少 WHERE 关键字 |
| ORA-00968 | 缺少 INDEX 关键字 |
| ORA-00969 | 缺少 ON 关键字 |
| ORA-00970 | 缺少 WITH 关键字 |
| ORA-00971 | 缺少 SET 关键字 |
| ORA-00972 | 标识过长 |
| ORA-00973 | 无效的行数估计 |
| ORA-00974 | 无效 PCTFREE 值 (百分比) |
| ORA-00975 | 不允许日期 + 日期 |
| ORA-00976 | 此处不允许为 LEVEL, PRIOR 或 ROWNUM |
| ORA-00977 | 重复的审计选项 |
| ORA-00978 | 嵌套分组函数没有 GROUT BY |
| ORA-00979 | 不是 GROUP BY 表达式 |
| ORA-00980 | 同义词转换不再有效 |
| ORA-00981 | 不能将表和系统审计选项混在一起 |
| ORA-00982 | 缺少加号 |
| ORA-00984 | 列在此处不允许 |
| ORA-00985 | 无效的程序名 |
| ORA-00986 | 缺少或无效组名 |
| ORA-00987 | 缺少或无效用户名 |
| ORA-00988 | 缺少或无效口令 |
| ORA-00989 | 给出的用户名口令过多 |
| ORA-00990 | 缺少或无效权限 |
| ORA-00991 | 过程仅有 MAC 权限 |
| ORA-00992 | REVOKE 命令格式无效 |
| ORA-00993 | 缺少 GRANT 关键字 |
| ORA-00994 | 缺少 OPTION 关键字 |
| ORA-00995 | 缺少或无效同义词标识 |
| ORA-00996 | 连接运算符是 |
| ORA-00997 | 非法使用 LONG 数据类型 |
| ORA-00998 | 必须使用列别名命名此表达式 |
| ORA-00999 | 无效的视图名 |
| ORA-01000 | 超出打开游标的最大数 |
| ORA-01001 | 无效的游标 |
| ORA-01002 | 读取违反顺序 |
| ORA-01003 | 语句未进行语法分析 |
| ORA-01004 | 不支持默认用户名特性;登录被拒绝 |
| ORA-01005 | 未给出口令;登录被拒绝 |
| ORA-01006 | 赋值变量不存在 |
| ORA-01007 | 选择列表中没有变量 |
| ORA-01008 | 并非所有变量都已关联 |
| ORA-01009 | 缺少法定参数 |
| ORA-01010 | 无效的 OCI 操作 |
| ORA-01011 | 在与第 6 版服务器会话时不能使用第 7 版兼容模式 |
| ORA-01012 | 没有登录 |
| ORA-01013 | 用户请求取消当前的操作 |
| ORA-01014 | ORACLE 正在关闭过程中 |
| ORA-01015 | 循环登录请求 |
| ORA-01016 | 此函数仅可以在读取后调用 |
| ORA-01017 | 无效的用户名/口令;拒绝登录 |
| ORA-01018 | 列不具有 LONG 数据类型 |
| ORA-01019 | 无法在用户方分配内存 |
| ORA-01020 | 未知的上下文状态 |
| ORA-01021 | 指定的上下文大小无效 |
| ORA-01022 | 此配置中不支持数据库操作 |
| ORA-01023 | 未找到游标上下文 (无效的游标编号) |
| ORA-01024 | OCI 调用中的数据类型无效 |
| ORA-01025 | UPI 参数超出范围 |
| ORA-01026 | 赋值列表中存在多个大小 > 4000 的缓冲区 |
| ORA-01027 | 在数据定义操作中不允许对变量赋值 |
| ORA-01028 | 内部双工错误 |
| ORA-01029 | 内部双工错误 |
| ORA-01030 | SELECT ...INTO 变量不存在 |
| ORA-01031 | 权限不足 |
| ORA-01032 | 没有这样的用户标识 |
| ORA-01033 | ORACLE 正在初始化或关闭过程中 |
| ORA-01034 | ORACLE 不可用 |
| ORA-01035 | ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用 |
| ORA-01036 | 非法的变量名/编号 |
| ORA-01037 | 超出最大游标内存 |
| ORA-01038 | 无法写入数据库文件版本 (使用 ORACLE 版本 ) |
| ORA-01039 | 视图基本对象的权限不足 |
| ORA-01040 | 口令中的字符无效;登录被拒绝 |
| ORA-01041 | 内部错误,hostdef 扩展名不存在 |
| ORA-01042 | 不允许使用打开游标分离会话 |
| ORA-01043 | 用户方内存损坏 [], [], [], [] |
| ORA-01044 | 缓冲区大小 (与变量关联) 超出了最大限制 |
| ORA-01045 | 用户 没有 CREATE SESSION 权限;登录被拒绝 |
| ORA-01046 | 无法获得扩展上下文区域的空间 |
| ORA-01047 | 以上错误出现在 schema=, package=, procedure= 中 |
| ORA-01048 | 给定的上下文中无法找到指定的过程 |
| ORA-01049 | 流动 RPC 中不支持按名称赋值 |
| ORA-01050 | 无法获得打开上下文区域的空间 |
| ORA-01051 | 延迟 rpc 缓冲区格式无效 |
| ORA-01052 | 未指定所需的目的 LOG_ARCHIVE_DUPLEX_DEST |
| ORA-01053 | 无法读取用户存储地址 |
| ORA-01054 | 无法写入用户存储地址 |
| ORA-01057 | 用户出口中引用的 block.field 无效或有歧义 |
| ORA-01058 | 内部 New Upi 接口错误 |
| ORA-01059 | 在赋值或执行之前进行语法分析 |
| ORA-01060 | 不允许数组赋值或执行 |
| ORA-01061 | 无法使用第 7 版客户应用程序启动第 8 版服务器 |
| ORA-01062 | 无法分配定义缓冲区所需的内存 |
| ORA-01070 | 服务器使用 Oracle 的旧版本 |
| ORA-01071 | 无法不启动 ORACLE 而执行操作 |
| ORA-01072 | 无法停止 ORACLE;因为 ORACLE 不在运行 |
| ORA-01073 | 致命的连接错误: 不能识别的调用类型 |
| ORA-01074 | 无法关闭 ORACLE;请首先在注册会话中注销 |
| ORA-01075 | 您现在已登录 |
| ORA-01076 | 尚不支持每个进程的多次登录 |
| ORA-01077 | 背景进程初始化失败 |
| ORA-01078 | 处理系统参数失败 |
| ORA-01079 | ORALCE 数据库未正确创建,操作中止 |
| ORA-01080 | 关闭 ORACLE 时出错 |
| ORA-01081 | 无法启动已在运行的 ORACLE --- 请首先关闭 |
| ORA-01082 | 'row_locking = always' 要求事务处理处理选项 |
| ORA-01083 | 参数 "" 的值与其它例程序的相应参数值不一致。 |
| ORA-01084 | OCI 调用中的参数无效 |
| ORA-01085 | 延迟 rpc 到 ".." 之前的错误 |
| ORA-01086 | 从未创建保留点 '' |
| ORA-01087 | 不能启动 ORALCE --- 现在已登录 |
| ORA-01088 | 不能在存在活动进程时关闭 ORACLE |
| ORA-01089 | 正在进行紧急关闭 - 不允许进行任何操作 |
| ORA-01090 | 正在进行关闭 --- 不允许连接 |
| ORA-01091 | 强行启动出错 |
| ORA-01092 | ORACLE 例程终止。强行断开连接 |
| ORA-01093 | ALTER DATABASE CLOSE 仅允许在没有连接会话时使用 |
| ORA-01094 | ALTER DATABASE CLOSE 正在进行。不允许连接 |
| ORA-01095 | DML 语句处理了零个行 |
| ORA-01096 | 程序版本 () 与例程 () 不兼容 |
| ORA-01097 | 无法在事务处理过程中关闭 - 首先提交或返回 |
| ORA-01098 | 在 Long Insert 过程中出现程序接口错误 |
| ORA-01099 | 如果在单进程模式下启动,则无法在 SHARED 模式下安装数据库 |
| ORA-01100 | 数据库已安装 |
| ORA-01101 | 要创建的数据库当前正由其它例程安装 |
| ORA-01102 | 无法在 EXCLUSIVE 模式下安装数据库 |
| ORA-01103 | 控制文件中的数据库名 '' 不是 '' |
| ORA-01104 | 控制文件数 () 不等于 |
| ORA-01105 | 安装与其它例程的安装不兼容 |
| ORA-01106 | 必须在卸下之前关闭数据库 |
| ORA-01107 | 必须安装数据库才可以进行介质恢复 |
| ORA-01108 | 文件 正处于备份或介质恢复过程中 |
| ORA-01109 | 数据库未打开 |
| ORA-01110 | 数据文件 : '' |
| ORA-01111 | 数据文件 名称未知 - 请重命名以更正文件 |
| ORA-01112 | 未启动介质恢复 |
| ORA-01113 | 文件 需要介质恢复 |
| ORA-01114 | 将块写入文件 时出现 IO 错误 (块 # ) |
| ORA-01115 | 从文件 读取块时出现 IO 错误 (块 # ) |
| ORA-01116 | 打开数据库文件时出错 |
| ORA-01117 | 对文件 '' 添加非法块大小: ;限制为 |
| ORA-01118 | 无法添加任何其它数据库文件: 超出限制 |
| ORA-01119 | 创建数据库文件 '' 时出错 |
| ORA-01120 | 无法删除联机数据库文件 |
| ORA-01121 | 无法重命名数据库文件 - 文件在使用中或在恢复中 |
| ORA-01122 | 数据库文件 验证失败 |
| ORA-01123 | 无法启动联机备份;未启用介质恢复 |
| ORA-01124 | 无法恢复数据文件 - 文件在使用中或在恢复中 |
| ORA-01125 | 无法禁用介质恢复 - 文件 设置了联机备份 |
| ORA-01126 | 对于此操作,数据库必须以 EXCLUSIVE 模式安装且未打开 |
| ORA-01127 | 数据库名 '' 超出 个字符的限制 |
| ORA-01128 | 无法启动联机备份 - 文件 处于脱机状态 |
| ORA-01129 | 用户默认或临时表空间不存在 |
| ORA-01130 | 数据库文件版本 与 ORACLE 版本 不兼容 |
| ORA-01131 | DB_FILES 系统参数值 超出限制 |
| ORA-01132 | 数据库文件名 '' 的长度超出 个字符的限制 |
| ORA-01133 | 日志文件名 '' 的长度超出 个字符的限制 |
| ORA-01134 | 数据库已由其它例程独立安装 |
| ORA-01135 | DML/query 访问的文件 处于脱机状态 |
| ORA-01136 | 文件 ( 块) 的指定大小小于 块的原大小 |
| ORA-01137 | 数据文件 仍处于脱机过程中 |
| ORA-01138 | 数据库必须在此例程中打开或根本没有打开 |
| ORA-01139 | RESETLOGS 选项仅在不完全数据库恢复后有效 |
| ORA-01140 | 无法结束联机备份 - 所有文件均处于脱机状态 |
| ORA-01141 | 重命名数据文件 时出错 - 未找到新文件 '' |
| ORA-01142 | 无法结束联机备份 - 没有文件在备份中 |
| ORA-01143 | 不能禁用介质恢复 - 文件 需要介质恢 |
oracle异常处理的更多相关文章
- Oracle 异常处理汇总
Oracle 异常处理汇总 1.plsql无法连接 安装oracle,中间录入密码,用户是:sys,pass: 录入的密码. 连接数据库,建议创建新的用户,最好别直接用sys 安装完毕,则需要配置Ne ...
- Oracle异常处理——ORA-01502:索引或这类索引的分区处于不可用状态
Oracle异常处理--ORA-01502:索引或这类索引的分区处于不可用状态参考自:https://www.cnblogs.com/lijiaman/p/9277149.html 1.原因分析经过查 ...
- oracle异常处理——ORA-01000:超出打开游标最大数
oracle异常处理--ORA-01000:超出打开游标最大数https://www.cnblogs.com/zhaosj/p/4309352.htmlhttps://blog.csdn.net/u0 ...
- Oracle 异常处理
1.什么是异常 在PL/SQL中的一个警告或错误的情形都可被称为异常.包括编译时错误(PLS)和运行时错误(ORA).一个异常通常包含一个错误代码和错误文本,分别指示异常的编号和具体错误信息. 异 ...
- ORACLE异常处理及函数
有三种类型的异常错误 :预定义 ( Predefined )错误 ORACLE预定义的异常情况大约有24个.对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发. 非预定义 ( Pred ...
- Oracle异常处理内容,隐式游标
异常处理 create or replace procedure pr_test3(v_bh in varchar2,v_xx out t_hq_ryxx%rowtype) is begin sele ...
- Oracle异常处理,动态游标
小例子,方便以后查阅. 包头需要声明: type C_CURSOR is ref cursor; procedure visitcount(in_date number, out_code out ...
- Oracle数据库---异常处理
Oracle异常处理在PL/SQL语句书写时,需要处理的异常-- 不做异常处理时DECLARE v_name emp.ename%TYPE; v_sal emp.sal%TYPE;BEGIN SELE ...
- .Net程序员学用Oracle系列(27):PLSQL 之游标、异常和事务
1.游标 1.1.游标属性 1.2.隐式游标 1.3.游标处理及案例 2.异常 2.1.异常类别 2.2.异常函数 2.3.异常处理及案例 3.事务 3.1.开始事务.结束事务 3.2.自治事务 3. ...
- oracle 在存储过程或函数中得到异常sql
BEGIN SQLSTR := 'UPDATE TBL ...'; EXECUTE IMMEDIATE SQLSTR; EXCEPTION WHEN OTHERS INSERT INTO LOG_TA ...
随机推荐
- JAVA获取MultipartFile文件的MD5
Java获取文件的MD5,核心都是通过JAVA自带的MessageDigest类来实现. 获取文件MD5值主要分为三个步骤: 第一步获取文件的byte信息, 第二步通过MessageDigest类进行 ...
- DNS Capture: UDP, TCP, IP-Fragmentation, EDNS, ECS, Cookie
EDNS 扩展实现"EDNS Client Subnet" (ECS) 和 DNS cookies.' 这里不讨论相关概念,实现如有疑问请查看: https://weberblog ...
- ffmpeg+nginx+hls(低延迟)
先看一下我参考的原文实现: 实现方案 https://zhuanlan.zhihu.com/p/87225094 流媒体服务器环境搭建 https://blog.csdn.net/impingo/ar ...
- Linux shell usage()使用说明
usage()类似于执行文件-help展示的内容,即告诉使用者有哪些参数选项可供使用. usage()格式 点击查看代码 #!/bin/bash usage() { echo "Usage: ...
- 组合计数中的q-模拟 q analog
拒绝更新,深度和广度上建议看这个pdf URL里面用到的一些query-string过期了,,, 论文题目是 THE q-SERIES IN COMBINATORICS; PERMUTATION ST ...
- 【git】学习笔记
一.git原理 git只能跟踪文本文件的变化,比如txt文件.程序代码等.而对于图片.视频等二进制文件的变化,就无法知道变化了哪里. git 分支的理解:如下图所示,git分支可以理解为是一个指针以及 ...
- 论文翻译:2023_THLNet: two-stage heterogeneous lightweight network for monaural speech enhancement
论文地址:THLNet: 用于单耳语音增强的两级异构轻量级网络 代码:https://github.com/dangf15/THLNet 引用格式:Dang F, Hu Q, Zhang P. THL ...
- 分布式 WEB应用中Session(会话管理)的变迁之路
一.Session 介绍 Session 一词直译为 "会话",意指有始有终的一系列动作/消息.Session 是 Web 应用蓬勃发展的产物之一.在 Web 应用中隐含有&quo ...
- C++ 用户输入验证
在编写程序时,请考虑用户将如何滥用您的程序,尤其是在文本输入方面.对于每个文本输入点,请考虑: 会不会提取失败? 用户可以输入比预期更多的输入吗? 用户可以输入无意义的输入吗 用户可以溢出输入吗? 以 ...
- MongoDB基础知识梳理
简介 MongoDB 是由 C++ 编写的开源 NoSQL 和基于文档的数据库.MongoDB 提供了面向文档的存储方式,操作起来比较简单和容易,支持"无模式"的数据建模,可以存储 ...