ORACLE异常处理总结
1:预定义异常 用于处理常见的Oracle错误
2:非预定义异常 用于处理预定义异常所不能处理的Oracle错误
3:自定义异常 用于处理于Oracle错误无关的其他情况
异常处理部分是以关键字EXCEPTION开始的,语法如下:
EXCEPTION
WHENexception_NameTHEN --exception_Name为异常的名字
statement1;
WHENOTHERSTHEN
statement1;
异常处理部分从关键字EXCEPTION开始,在异常处理部分使用WHEN字句捕捉各种异常,如果有其他未预定义到的异常,使用WHENOTHERSTHEN字句进行捕捉和处理。
1、处理预定义异常,这是系统预定的21种类型
错误代码是负整数,如-51
Access_info_null(ora-06530)
当访问没有初始化的对象时触发。
Case_not_found(ora-06592)
case过程中when后没有包含必要的条件分支并且没有else子句,则会触发本异常。
Collection_is_null(06531)
访问未初始化的集合元素(嵌套表或者varray)。
Cursor_already_open(ora-06511)
重新打开已经打开的游标。
Dup_val_on_index(ora-00001)
当中唯一索引所对应的列上键入重复值时。
Invalid_cursor(ora-01001)
试图在不合法的游标上执行操作时,譬如没打开游标就提取内容
Invalid_number(ora-01722)
当试图将非法的字符串转换为数字类型时。
No_data_found(ora-01403)
执行select into未返回行,或者引用了索引表未初始化的元素时。
Too_many_rows(ora-01422)
执行select into返回超过一行数据时。
Zero_divide(ora-01476)
0作为被除数时。
Subscript_beyond_count(ora-06533)
使用嵌套表或者varray集合时,如果引用下标超过last。
Subscript_outside_limit(ora-06532)
使用嵌套表或varray集合时,如果引用下标小于first。
Value_error(ora-06502)
在执行赋值操作时,如果变量长度不足以容纳实际数据。
Login_denied(ora-01017)
连接数据库时提供了不正确的用户名或口令。
Not_logged_on(ora-01012)
在程序没有连接到oracle数据库时执行plsql代码则会触发。
Program_error(ora-06501)
plsql内部问题。
Rowtype_mismatch(ora-06504)
执行赋值操作时,如果宿主游标变量和PLSQL游标变量返回类型不兼容时。
Self_is_null(ora-30625)
使用对象类型时,如果在null实例上调用成员方法。
Storage_
相关文档:
This article shows how Oracle's Heterogeneous Services can be configured to allow a database to connect to a Microsoft Access database using standard databases links. The method described can be used to connect to MS-Access from about any platform - Unix/ Linux or Windows.
MS-Access 2003 and Orac ......
可以用Spotlight软件对数据库的运行状态进行监控。
当出现session锁时,我们要及时进行处理.
1. 查看哪些session锁:
SQL语句:select 'alter system kill session '''||sid||','||serial#||''';' from v$session where sid in (select sid from v$lock where block = 1);
SQL> select 'alter system kill sessio ......
oracle11g具有自动的表压缩功能, 但当insert语句未指定具体的列名时, 会使用自动表压缩功能失效。(如该语句会使得表t_test不能自动压缩: insert into t_test select * from t_test2)
另外使用一些外部工具进行数据装载(sqlload),也有可能使得表不能自动压缩,此时需要用以下语句,以重新分析表,分析完成之后,该表即会 ......
listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。
检查客户端oracle网络的时候可以先检查sqlnet.ora文件:
# SQLNET.ORA Network Configuration ......