一次ORA-4030问题诊断及解决(三)
在报表数据库的后台alert文件中发现了这个错误,简单记录一下问题的诊断和解决过程。数据库版本9204 for Solaris sparc64。寻找产生问题的真正原因。一次ORA-4030问题诊断及解决(一):http://yangtingkun.itpub....
Oracle唯一约束中NULL的处理
根据NULL的定义,NULL表示的是未知,因此两个NULL比较的结果既不相等,也不不等,结果仍然是未知。根据这个定义,多个NULL值的存在应该不违反唯一约束。 实际上Oracle也是如此实现的:SQL> CREATE TA...
Oracle打补丁时无法正确显示英文
同事安装了一个10201 for linux X86-64的数据库。安装完成之后,有部署了应用程序。今天想起没有打补丁,结果在启动补丁的安装程序过程中,发现runinstaller程序无法正确的显示字符。 安装过程中,首...
11G访问DBA_OBJECTS和V$LOCK视图时HANG住
11g也存在访问数据字典出现长时间等待的问题。 今天在检查11g被锁对象时,发现了这个问题。数据库版本Oracle rac 11.1.0.6 for Solaris sparc64。SQL> SELECT * FROM V$VERSION;BANNER-------------...
利用字符串实现高精度数值运算(四)
由于Oracle的数值类型的最大精度只有38位,因此对于高精度的数值计算就需要使用其他的方法来实现。这篇文章利用字符串来保存高精度数值,并实现了两个字符串中数值的运算。这篇给出完整的字符串相减的解决方法。...
利用字符串实现高精度数值运算(三)
由于Oracle的数值类型的最大精度只有38位,因此对于高精度的数值计算就需要使用其他的方法来实现。这篇文章利用字符串来保存高精度数值,并实现了两个字符串中数值的运算。这篇描述两个表示整数的字符串相减。利...
11G的SYS连接阻止SHUTDOWN IMMEDIATE关闭数据库
以前就发现11g的Oracle有这个问题,一直没有太在意,直到今天关闭数据库的时候发现很长时间Oracle都无法正常关闭。 从后台查询,发现数据库出现错误提示:SHUTDOWN: Active processes prevent shutdo...
利用字符串实现高精度数值运算(二)
由于Oracle的数值类型的最大精度只有38位,因此对于高精度的数值计算就需要使用其他的方法来实现。这篇文章利用字符串来保存高精度数值,并实现了两个字符串中数值的运算。这篇描述两个字符串相乘。利用字符串实...
利用字符串实现高精度数值运算(一)
由于Oracle的数值类型的最大精度只有38位,因此对于高精度的数值计算就需要使用其他的方法来实现。这篇文章利用字符串来保存高精度数值,并实现了两个字符串中数值的运算。这篇描述两个字符串相加。 ...
利用MOVE压缩表的高水位线
如果表的高水位线比较高,或者表经历了大数据量的产生操作,经常会使用ALTER TABLE MOVE的方法来减少表占用的空间。不过今天才发现以前对MOVE的了解一直存在偏差。 看一个简单的例子: 两张表...
Oracle中实现圆周率计算(三)
今天两个同事用JAVA实现圆周率一百位小数的实现。一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现。这篇给出一个真正的算法。Oracle中实现圆周率计算(一...
JAVA存储过程出现ORA-24345错误
写了一个简单的JAVA存储过程,处理一个精度较大的数学问题,结果碰到了ORA-24345错误。 由于对JAVA不熟悉,JAVA存储过程也很少使用,因此费了不少时间,总算写了出来,但是在执行的时候发现了一个问题...
不包含INTO的动态SQL不会增加序列值
今天在试图增加序列的NEXTVAL的时候,无意中发现了这个问题。 首先还是看看现象:SQL> CREATE SEQUENCE SEQ_TEST;序列已创建。SQL> SELECT SEQ_TEST.NEXTVAL FROM DUAL; NEXTVAL-----...
Oracle中实现圆周率计算(二)
今天两个同事用JAVA实现圆周率一百位小数的实现。一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现。这篇给出一个真正的算法。Oracle中实现圆周率计算(一...
Oracle中实现圆周率计算(一)
今天两个同事用JAVA实现圆周率一百位小数的实现。一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现。 其实Oracle中使用现成的函数就可以直接...
Oracle10g新特性——利用外部表卸载数据
今天在看Oracle的CONCEPT文档时发现,Oracle的外部表也可以用来卸载数据了。 从10.2中开始,Oracle增加了外部表的一个新的访问驱动:ORACLE_DATAPUMP。而再次之前,只有一个默认的驱动ORACLE_LOADER。...
数据泵导出时报错ORA-1422错误
今天一个学习Oracle时间不长的同事在使用数据泵导出的时候碰到了这个错误。 由于前两天看到他在研究DUAL表,而且还问过我几个DUAL表相关的问题,所以看到这个错误后首先想到的就是问他是否向DUAL表中...
ORA-2083错误
如果数据库的GLOBAL_NAME中包含'-',就可能导致通过数据库链创建的物化视图、视图和同义词出现这个错误。 重现一下这个错误:SQL> CONN yangtk/yangtk@192.25.1.103/ora11g_p.ytk_thinkpad已连接。SQ...
ORA-12028错误
在建立物化视图中碰到了这个错误,经过分析发现,导致错误的原因并非这个错误描述的原因。 首先看一下错误的发生:SQL> CONN YANGTK/YANGTK@192.25.1.101/TEST101已连接。SQL> SELECT * FROM V$VERSI...
临时表的ORA-14552错误
在处理临时表的时候经常会碰到这个错误。 最简单的例子:SQL> CREATE GLOBAL TEMPORARY TABLE T_TEMP 2 (ID NUMBER) 3 ON COMMIT PRESERVE ROWS;表已创建。SQL> INSERT IN...