 |
|
 |
 |
|  |
日期转换函数的格式参数大小写规则
| | | 日期:2008-01-26 点击:2 评论: 0 | | 今天在论坛上看到一个有趣的问题,研究了一下,有点心得,现在整理出来。原始文章:http://www.itpub.net/showthread.php?s= threadid=480995首先创建一个简单的测试环境:SQL CREATE TABLE T (ID NUMBER, START_TIME DATE);Table created.SQL INSERT INTO T... 阅读全文>> |
|  |
BULK COLLECT的小毛病
| | | 日期:2008-01-26 点击:5 评论: 0 | | Oracle的BULK COLLECT可以批量的将数据FETCH到PLSQL的数据组,效率比单条记录FETCH要高很多。最近偶然发现,BULK COLLECT在处理集合类型中的NUMBER类型是存在着小bug。下面是错误重现:SQL SELECT * FROM V$VERSION;BANNER---------------------------------... 阅读全文>> |
|  |
通过触发器复制包含LONG类型的表
| | | 日期:2008-01-26 点击:3 评论: 0 | | 前两天论坛上有人问如何才能通过触发器来实现对包含LONG或LONG RAW类型字段的表的复制。给他做了个最简单的例子,在这里记录一下... 阅读全文>> |
|  |
计算月还款的小过程(三)
| | | 日期:2008-01-26 点击:4 评论: 0 | | 又进行了一些修改,增加了计算提前还款的功能。计算月还款的小过程(一):http://blog.itpub.net/post/468/27307计算月还款的小过程(二):http://blog.itpub.net/post/468/27440 代码:SQL CREATE OR REPLACE PACKAGE P_PAY_MONTHLY AS 2 3... 阅读全文>> |
|  |
计算月还款的小过程(二)
| | | 日期:2008-01-26 点击:1 评论: 0 | | 做了一下修改,将函数放到一个包中,并对第一个函数进行了重载,完成了利息改变的功能。计算月还款的小过程(一):http://blog.itpub.net/post/468/27307计算月还款的小过程(三):http://blog.itpub.net/post/468/27549 代码:SQL CREATE... 阅读全文>> |
|  |
计算月还款的小过程(一)
| | | 日期:2008-01-26 点击:3 评论: 0 | | 今天和一个在银行做贷款的朋友聊了一会,顺便问了一下贷款的计算公式。一时兴起就写了计算的存储过程。计算月还款的小过程(二):http://blog.itpub.net/post/468/27440计算月还款的小过程(三):http://blog.itpub.net... 阅读全文>> |
|  |
Deterministic函数(二)
| | | 日期:2008-01-26 点击:0 评论: 0 | | 上一篇文章里面描述了9i中DETEMINISTIC函数的特点,这篇文章简单描述一下10g中DETEMINISTIC的不同之处。Deterministic函数:http://yangtingkun.itpub.net/post/468... 阅读全文>> |
|  |
Deterministic函数
| | | 日期:2008-01-26 点击:0 评论: 0 | | Oracle的性能参考手册上描述了函数的DETERMINISTIC特性,定义了这种类型的函数给定了确定的输入值,它的输出值也是确定了。如果在函数索引或物化视图中使用自定义的函数,则这个函数必须声明为DETERMINISTIC。这篇文章简单描述一下DETERMINISTIC函数的特点... 阅读全文>> |
|  |
给用户授予权限时应该尽量避免ANY系统权限
| | | 日期:2008-01-26 点击:3 评论: 0 | | Oracle推荐给用户授予权限时,给予用户可以完成操作的最小权限。应当尽量避免对用户授予包含ANY的系统权限,如SELECT ANY TABLE,CREATE ANY TABLE等。 这些包含ANY的系统权限很大,只应该授权给DBA用户,而不应该授权给普通用户... 阅读全文>> |
|  |
自定义分析函数
| | | 日期:2008-01-26 点击:0 评论: 0 | | Oracle在文档中明确说明支持自定义聚集函数和分析函数。但是我只看到聚集函数的例子。我在这篇文章中介绍了自定义聚集参数:http://blog.itpub.net/post/468/3380今天在论坛里看到有人提出,由于对字符串合并操作和对数值的SUM操作并不完全一样... 阅读全文>> |
|  |
郁闷的911错误
| | | 日期:2008-01-26 点击:1 评论: 0 | | 今天帮同事调一个存储过程。 存储过程比较长,问题出现在类似下面的一段代码上。BEGIN EXECUTE IMMEDIATE 'UPDATE '|| v_table_name || ' SET ' || v_column_name || ' = :column_value WHERE ID = :id' USING V_COLUMN_VALUE, V_ID; COMMIT;EXCEPTION WHEN... 阅读全文>> |
|  |
NUMBER类型转化为二进制
| | | 日期:2008-01-26 点击:0 评论: 0 | | Oracle基本不支持对二进制的操作。唯一接受二进制的函数是bin_to_num,用法如下:SQL select bin_to_num(1, 0, 1) from dual;BIN_TO_NUM(1,0,1)-----------------5SQL select bin_to_num(1, 1, 0) from dual;BIN_TO_NUM(1,1,0)-----------------6SQL... 阅读全文>> |
|  |
如何定位DUMP所需的文件号和BLOCK号
| | | 日期:2008-01-26 点击:1 评论: 0 | | 如果对做系统block的dump需要知道指定的BLOCK和DATAFILE,可以用下面的简单方法实现。SQL SELECT DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) R_FILE_NO, 2 DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK_NO 3 FROM T WHERE ROWNUM = 1; R_FILE_NO BLOCK_NO-------... 阅读全文>> |
|  |
DBMS_REPAIR的使用(二)
| | | 日期:2008-01-26 点击:1 评论: 0 | | 对我上一篇文章给出的函数进行了进一步修改。将函数变为了一个包,修正了一个bug,现在已经可以支持复合索引,目前支持的数据类型包括CHAR、VARCHAR2、NUMBER、DATE、TIMESTAMP、RAW和ROWID类型。下面给出包的代码和使用的例子... 阅读全文>> |
|  |
DBMS_REPAIR的使用
| | | 日期:2008-01-26 点击:6 评论: 0 | | Oracle提供了DBMS_REPAIR包用来发现、标识并修改数据文件中的坏块。任何工具都不是万能的,使用这个包的同时会带来数据丢失、表和索引返回数据不一致,完整性约束破坏等其他问题。因此当出现错误时,应当首先从物理备份或逻辑备份恢复,使用dbms... 阅读全文>> |
|  |
V$SQL视图显示结果异常的诊断
| | | 日期:2008-01-26 点击:4 评论: 0 | | 今天碰到一个奇怪的现在,在检查会话执行的SQL时发现,V$SQL视图中SQL_TEXT列中的数据是不正常的。为了方便的定位问题,将显示异常的V$SQL记录备份到了BAK_V$SQL表中,首先看一下异常的SQL语句:SQL SELECT SQL_TEXT FROM BAK_V$SQL;SQL_TEXT---------------... 阅读全文>> |
|  |
建立11G DATA GUARD环境后Listener无法启动
| | | 日期:2008-01-26 点击:3 评论: 0 | | 前几天通过VMWare建立了11g的DATA GUARD环境,这两天由于调整了VMWare的网络设置,发现standby数据库的LISTENER无法启动。利用VMWare建立11R1的物理DATA GUARD:http://yangtingkun.itpub.net/post/468/388465错误信息为: lsnrctl startLSNRCTL for Linux: ... 阅读全文>> |
|  |
一次网络连接错误的诊断
| | | 日期:2008-01-26 点击:5 评论: 0 | | 今天帮同事解决一个sqlplus无法连接到数据库的问题。在通过9i的客户端连接10g的rac环境时,出现了ORA-12054错误:E: sqlplus test@testracSQL*Plus: Release 10.2.0.1.0 - Production on 星期二 5月 8 18:40:18 2007Copyright (c) 1982, 2005, Oracle. All... 阅读全文>> |
|  |
长时间latch free等待——记一次系统异常的诊断过程
| | | 日期:2008-01-26 点击:6 评论: 0 | | 今天发现一个报表数据库中SQL运行异常,简单记录一下问题的诊断和解决过程。问题是在检查ALERT文件时发现的,一个过程运行时间太长而出现了ORA-1555错误。错误信息:ORA-01555 caused by SQL statement below (Query Duration=38751 sec, SCN:... 阅读全文>> |
|  |
一次ORA-01041错误诊断
| | | 日期:2008-01-26 点击:9 评论: 1 | | 今天收到一个错误信息,说在访问数据库的时候出现ORA-01041错误。发给我的错误信息为:2006-7-3 12:13:30:ORA-01041: 内部错误,hostdef 扩展名不存在SELECT * FROM ( SELECT ROWNUM as numrow, zz.* from ( SELECT ID, URL, MEMBER_TYPE , LAST... 阅读全文>> |
|
 | |
|
|