oldwain随便写
置顶
ow_ms模板v1.3beta 提前放出
欢迎给oldwain留言
===========================================================
===========================================================

刚刚从老牛那里, 学了一招:

查询表空间的使用量、剩余量:

select * from sm$ts_used;

select * from sm$ts_free;

比起用其它的视图写长长的一段脚本, 简便多了。

 查看全文

oldwain 发表于:2008.01.04 18:32 ::分类: ( Oracle ) ::阅读:(466次) :: 评论 (3)
===========================================================
===========================================================

问题: 来源(muyehuoying)

请问如何看到自己的数据被插入到了哪个分区?

我的回答:

 查看全文
oldwain 发表于:2006.09.29 11:06 ::分类: ( Oracle ) ::阅读:(964次) :: 评论 (0)
===========================================================
===========================================================

有了数据,进行分析就比较容易了。我们可以分析每个品种的最大持有人、前n大持有人等信息。

 查看全文
oldwain 发表于:2006.09.12 21:44 ::分类: ( Oracle ) ::阅读:(1060次) :: 评论 (4)
===========================================================
===========================================================

本文试图通过使用Oracle的utl_http package来抓取itpub的徽章列表,并通过对获取的数据进行一些简单的查询,模拟投资市场来分析这些徽章的价格趋势。

 查看全文

oldwain 发表于:2006.09.12 21:42 ::分类: ( Oracle , 侃也白侃 ) ::阅读:(1085次) :: 评论 (3)
===========================================================
===========================================================
  • EXPORT只能检测表的HWM以下的数据块
  • EXPORT不能检测索引段,Temp段和空闲空间
  • 技巧: 如果只是用EXPORT来检测坏块, 不必将Dump文件写到物理文件,可以将其写到null设备(unix下的dev/null, Windows下的nul):

    exp system/manager file=nul full=y


oldwain 发表于:2006.06.07 02:18 ::分类: ( Oracle ) ::阅读:(1152次) :: 评论 (0)
===========================================================
===========================================================

DSI系列教材很早就下载过(好像还不止下载了一回),不过一直懒惰没有看过(这好像是很多人的通病: 下载的时候满世界找,似乎完下到一天都会是莫大的损失,下载完了重来不看)

刚刚翻看了DSI301, 感觉收获还是蛮大的。有些零零散散的东西就记录在这里,就算是帮助自己记忆吧。

 查看全文
oldwain 发表于:2006.06.06 01:25 ::分类: ( Oracle ) ::阅读:(3946次) :: 评论 (0)
===========================================================
===========================================================

问题: 来源(tiansmart )

在oracle9i中,当通过角色为某个用户赋权时,如果用户正处于连接状态,能否实时生效?

我的回答:

 查看全文
oldwain 发表于:2006.05.21 00:29 ::分类: ( Oracle ) ::阅读:(2547次) :: 评论 (1)
===========================================================
===========================================================

问题: 来源(winrar )

怎么让一个JOB每天执行俩次?
如每天中午12:00,下午5:30执行

我的回答:

 查看全文
oldwain 发表于:2006.04.08 23:33 ::分类: ( Oracle ) ::阅读:(2103次) :: 评论 (2)
===========================================================
===========================================================

问题: (MountLion )

直接赋值与select from dual的效率对比

在pl/sql中,可以直接给变量赋值,也可以使用select ... into var from dual,这两种方式效率有差别吗?

开始我认为,select 要慢些,因为需要扫描dual表,虽然表很小,但也有消耗。然而实验结果让我大跌眼镜:

代码:
declare 
  a varchar2(30);
begin
  for i in 1..100000 loop
    select user into a from dual;
  end loop;
end;

declare a varchar2(30); begin for i in 1..100000 loop a:=user; end loop; end;

select from dual 居然比直接赋值快10%左右,经过翻来覆去的实验,结果还是这样。

哪位可以解释一下原因?

我的回答:

 查看全文
oldwain 发表于:2006.03.30 00:23 ::分类: ( Oracle ) ::阅读:(2363次) :: 评论 (0)
===========================================================
===========================================================

问题:

wenzai169:

从未遇到的SQL问题?

一表A结构大致如下
ID QTY
1 2
2 4
3 6
4 5
要求能够得到QTY字段的乘积2*4*6*5,

我的回答:

 查看全文
oldwain 发表于:2005.10.10 16:14 ::分类: ( Oracle ) ::阅读:(2249次) :: 评论 (4)
===========================================================
===========================================================

tkprof可以把输出文件的内容放到数据库表中, 使用下面的参数:

tkprof tracefile outputfile insert=insert.sql

生成的表(tkprof_table)的结构为:

 查看全文
oldwain 发表于:2005.09.15 17:26 ::分类: ( Oracle ) ::阅读:(2105次) :: 评论 (4)
===========================================================
===========================================================

tkprof中, sort后面的参数可以同时用多个, 只要用逗号分割并用括号括起来即可.

比如, 如果以总的elapse time来排序, 可以:

tkprof tracefile outputfile sort=(prsela, exeela, fchela)

注意:这里最后排序依据的是各个sort参数的数字和, 而不是先依照第一个参数排序, 再按照后面的排序. 也就是说, 相当于Sql语句中的order by (sort1+sort2+sort3), 而不是 order by sort1, sort2, sort3.

因为是依据参数的数字和, 所以在使用多个参数时, 应该使用相同类型的参数, 比如说都是ela结尾的参数.

如果把不同类型的参数放到一起, 例如prsela, prscpu, 那就如同"一只鸡加两个苹果等于多少"一样毫无意义了.


oldwain 发表于:2005.09.13 14:21 ::分类: ( Oracle ) ::阅读:(1519次) :: 评论 (0)
===========================================================
===========================================================

也许你还不知道 - sqlplus的小秘密(4)

这个也许不算什么秘密, 很多人大概都知道, 不过用过的人也许不多.

在8.1.7版本(也许是816? 不太确定)以后, sql*plus中有一个set markup html的命令, 可以将sql*plus的输出以html格式展现.

 查看全文
oldwain 发表于:2005.09.08 12:54 ::分类: ( Oracle ) ::阅读:(2737次) :: 评论 (3)
===========================================================
===========================================================

有没有过这样的经历? 在sql*plus中敲了很长的命令后, 突然发现想不起某个列的名字了, 如果取消当前的命令,待查询后再重敲, 那太痛苦了. 当然你可以另开一个sql*plus窗口进行查询, 但这里提供的方法更简单.

比如说, 你想查工资大于4000的员工的信息, 输入了下面的语句:

scott@O9I.US.ORACLE.COM> select deptno,
  2  empno,
  3  ename
  4  from emp
  5  where

这时, 你发现你想不起来工资的列名是什么了.
 查看全文

oldwain 发表于:2005.09.07 10:04 ::分类: ( Oracle ) ::阅读:(1661次) :: 评论 (3)
===========================================================
===========================================================

创建了两个小组:

欢迎加入/订阅.

另外对于测试征求意见有一条::

  • 目前按邀请其他人的分类加入,不需要被加入用户的确认,是否需要确认呢

    对于这一点我是极力反对的: 这是因为兴趣小组的内容会以邮件列表的形式发给成员, 如果允许非个人意愿的情况下被加入其它组, 就会给垃圾邮件以可乘之机.

    即使没有垃圾邮件的问题, 我本人也不希望被人强行拉入一个小组, 以前在smiling有过类似经历, 对此我是深恶痛绝的.


  • oldwain 发表于:2005.09.06 14:16 ::分类: ( Oracle ) ::阅读:(1842次) :: 评论 (0)
    ===========================================================
    ===========================================================

    Sql*plus中, 不允许sql语句中间有空行, 这在从其它地方拷贝脚本到sql*plus中执行时很麻烦. 比如下面的脚本:

    select deptno, empno, ename
    from emp
    
    where empno = '7788';

    如果拷贝到sql*plus中执行, 就会出现错误:

     查看全文
    oldwain 发表于:2005.09.06 10:06 ::分类: ( Oracle ) ::阅读:(1468次) :: 评论 (3)
    ===========================================================
    ===========================================================

    有没有为了dbms_output.put_line会"吃掉"最前面的空格而苦恼?

    scott@O9I.US.ORACLE.COM> set serveroutput on
    scott@O9I.US.ORACLE.COM> exec dbms_output.put_line('   abc');
    abc
    
    PL/SQL procedure successfully completed.

     查看全文

    oldwain 发表于:2005.09.05 15:09 ::分类: ( Oracle ) ::阅读:(2189次) :: 评论 (2)
    ===========================================================
    ===========================================================

    续: 在数据库中远程分析服务器上的alert文件(1)

     查看全文

    oldwain 发表于:2005.08.02 12:50 ::分类: ( Oracle ) ::阅读:(2610次) :: 评论 (3)
    ===========================================================
    ===========================================================

    在数据库中远程分析服务器上的alert文件

    很多时候, 我们仅仅有远程服务器的数据库用户(dba用户)的口令, 而没有远程服务器的操作系统用户口令, 或者如果因为网络限制而不能访问远程服务器的操作系统.

    但为了分析问题的原因, 希望能在数据库内部查看数据库的alert文件.

    下面提供一些方法.

     查看全文

    oldwain 发表于:2005.08.02 12:43 ::分类: ( Oracle ) ::阅读:(1624次) :: 评论 (0)
    ===========================================================
    ===========================================================

    问题:

    zzk101

    带有参数的view是指这个view可以有参数,当select时可以加入这些参数从而可以返回不同的结果。

    for example:

    create view my_parameter_view { my_name varchar2(20)} as 
    select * from work_log where 
    name = my_name
    select * from my_parameter_view('my_name')
    

    就会只有我自己的记录。

    我的回答:

     查看全文
    oldwain 发表于:2005.07.28 13:16 ::分类: ( Oracle ) ::阅读:(1244次) :: 评论 (0)
    ===========================================================
    ===========================================================

    oldwain 发表于:2005.07.08 01:09 ::分类: ( Oracle , 天下文章 ) ::阅读:(875次) :: 评论 (0)
    ===========================================================
    ===========================================================

    比起我在另一篇文章( 使用PL/SQL table 来构造连续数集合表 )中所用的方法来,从这个blog得到的这种方法更为高效、简洁,不过看上去也要诡异许多。 :)

     查看全文

    oldwain 发表于:2005.07.06 20:15 ::分类: ( Oracle , 天下文章 ) ::阅读:(1388次) :: 评论 (2)
    ===========================================================
    ===========================================================

    onlysayblog的访问量不可能增大一文中,作者进行了一次有趣的推理。

    其结论就是:

    当blog写作习惯和内容定下来之后,你的访问量就不会增大了。

    由此就可以决定我们应该做的是,保持你的访问量,不让它减少就好。贪心是一种祸。

    其实这个阅读链倒是很像数据库中常用的B+树索引。 在B+树索引中,一个节点的子节点数目在通常情况(不考虑极端情况)下,也会保持一个基本恒定的值,一旦超过这个值, 就会发生分裂,这个分裂过程恰如onlysay所说的读者变成作者,并同时带走原来的其它读者的情况。

    正如黄教授说的:世界的本质是数学,果然如此!

    btw: 第一次为一篇文章用到了三个分类,尽管没有写多少真正的内容。:)


    oldwain 发表于:2005.07.04 22:01 ::分类: ( Oracle , 侃也白侃 , Web2.0 ) ::阅读:(2462次) :: 评论 (3)
    ===========================================================
    ===========================================================

    在应用项目中,经常要用到模糊查询。其中有些模糊查询是为了快速查询业务关键号的(主键/外键或者其它非键的关键列)。但是经过我对多个应用项目的最终用户使用过程的观察,用户查询是使用的最主要的还是尾号来查询。

    举个人员编码的例子, 比如说某个系统中人员编码的格式为:机构码+部门码+n位的流水号,用户在使用所谓的模糊查询功能时,绝大多数时间他会输入一个类似'00234'这样的尾号, 在此他只是希望查到尾号对应的人, 而不是要查找一个xxx0机构+0234部门的人。

    从SQL的角度看,尾号查询对应的数据库查询,就是形如 colname like '%00234'这样的百分号前置的查询

    我们都知道对于百分号后置的情形,数据库能够使用已存在的索引,从而提高查询效率。那么对于前置的情形,有没有好的解决办法呢?本文利用ORACLE的函数索引(FBI)来解决这个问题。

     查看全文
    oldwain 发表于:2005.06.22 13:32 ::分类: ( Oracle ) ::阅读:(1686次) :: 评论 (2)
    ===========================================================
    ===========================================================

    很多时候,我们需要在SQL查询中构造一张由连续数组成的集合,比如找出某一列中缺少某些数字,或者在不是每个日期都有记录的情况下,列出所有日期的记录情况。

    典型应用的例子可参考:
    http://www.itpub.net/showthread.php?s=&threadid=4724
    http://www.itpub.net/showthread.php?threadid=104060&pagenumber=
    http://www.itpub.net/showthread.php?s=&threadid=13618

    在上面的这些例子中,为了构造连续数/日期表,几乎都使用了select * from all_objects(或其它类似的大表),但是这种做法有两个明显的弊端:

    1. all_objects(或类似表)的数目未知,并且不确定。在需要大的构造表时,可能数量不够。(当然,数量的问题可以通过all_objects自身连接来避免。但自身连接会带来很大的性能问题,这使得何时使用表本身,何时使用两表/更多的表连接成为一件难以确定的事)
    2. 使用all_objects,带来了更多的逻辑IO, 影响了系统性能。

    下面我们采用Pl/sql table来构造这样的集合。

     查看全文
    oldwain 发表于:2005.05.25 16:57 ::分类: ( Oracle ) ::阅读:(1892次) :: 评论 (1)
    ===========================================================
    ===========================================================

    在biti_rainy的这篇文章http://blog.itpub.net/post/330/18893中,讨论了让查询依照in列表顺序进行排序的方法。

    但该方法有一个问题,就是依赖于查询时的执行计划。(因此biti在他的查询中加入了hint来强制使用nl方式)

    我们通过加入一个序号域的方式,加以改进,从而避免对执行计划的依赖:

     查看全文

    oldwain 发表于:2005.04.20 16:41 ::分类: ( Oracle ) ::阅读:(1604次) :: 评论 (6)
    ===========================================================
    ===========================================================

    今天在测试用java存储过程实现pl/sql调用os命令时, 出现Oracle kernel executable致命错误

    不知有没有人见到过? 特此留下图片以做记念。

     查看全文

    oldwain 发表于:2005.04.20 10:27 ::分类: ( Oracle ) ::阅读:(716次) :: 评论 (0)
    ===========================================================
    ===========================================================

    很多人喜欢用这样的方法来判断是否存在记录:

    select count(*) into t_count from t where condition;
    if t_count> 0 then ....

    这种方法的问题在于:我们需要的仅仅是是否存在,而不是得到总记录数。查询记录总数付出了不必要的性能代价。

     查看全文
    oldwain 发表于:2004.12.08 10:23 ::分类: ( Oracle ) ::阅读:(21340次) :: 评论 (2)
    ===========================================================
    ===========================================================

    我们都知道,在设计ORACLE对象的时候,应该避免使用关键字作为对象的名字。可是,如果将关键字用作用户名会有问题吗?

    这个blog(http://www.edhanced.com/ask-mred/?q=node/view/53)的作者发现了一个有意思的现象。

    为了便于讨论, 将他的例子抄录过来:

     查看全文
    oldwain 发表于:2004.11.09 09:31 ::分类: ( Oracle ) ::阅读:(4659次) :: 评论 (0)
    ===========================================================
    ===========================================================

    问题来源: http://www.itpub.net/showthread.php?threadid=281465&pagenumber=

    原文标题:1 个很难的SQL问题

    表 t0 (f0 number(2)) ,f0列的数据为从1至9。

    需要提取 1,2,3......7,8,9 中相加等于15 的组合。
    比如:
    1 2 3 4 5
    6 9
    7 8
    3 5 7
    。。。。。。。。。。。

    解决方法:

     查看全文
    oldwain 发表于:2004.10.27 14:16 ::分类: ( Oracle ) ::阅读:(1605次) :: 评论 (2)
    ===========================================================
    ===========================================================

    圆周率PI 和 e

     查看全文
    oldwain 发表于:2004.10.19 09:54 ::分类: ( Oracle ) ::阅读:(1444次) :: 评论 (0)
    ===========================================================
    ===========================================================

    IMP的INDEXFILE选项是个很有用的功能(关于它的用法,请参考ORACLE文档)

    不过,让人烦恼的是,这个脚本中每行前都有一个REM, 并且有时会在不恰当的地方换行。这样每次要使用INDEXFILE生成的脚本,都要做一系列的整理工作。

    本人用UltraEdit生成了几个宏,可以较好的进行这项整理工作。

     查看全文
    oldwain 发表于:2004.09.17 14:39 ::分类: ( Oracle ) ::阅读:(1864次) :: 评论 (0)
    ===========================================================
    ===========================================================

    将查询结果连接成列表的几个方法 (发表于ITPUB电子杂志第二期) 我们在实际开发过程中, 经常需要将一个查询的结果连接成一个单行的字符串列表, 比如说将一个部门及其所有员工列在一行显示. 本文介绍了从最简单到最通用的几种方法来达到这一目的.

     查看全文
    oldwain 发表于:2004.09.09 15:19 ::分类: ( Oracle ) ::阅读:(1728次) :: 评论 (0)
    ===========================================================
    ===========================================================

    小招技巧3: EXCEL文件导入数据库 (发贴日期:2003.03.11)

    EXCEL文件导入数据库的简便方法

     查看全文
    oldwain 发表于:2004.09.09 15:15 ::分类: ( Oracle ) ::阅读:(6466次) :: 评论 (4)
    ===========================================================
    ===========================================================
    小招技巧2: 快速写存储过程 (发贴日期:2003.03.10)

    写存储过程时, 经常要INSERT ... SELECT ....或者 UPDATE ...=....,

    表的列数少时无所谓, 列数多的时候列出这些列名就很烦人.

    把下面的脚本保存到手边, 能大大提高效率.

     查看全文
    oldwain 发表于:2004.09.09 15:12 ::分类: ( Oracle ) ::阅读:(1630次) :: 评论 (2)
    ===========================================================
    ===========================================================

    本人一向手懒,看的帖子多,回的帖子少,发的帖子更少。

    搜索了一下,真正自己原发的帖子屈指可数。

    就把这几篇存到这里,算是留个纪念吧。

    小招技巧: 列出< n的素数(发贴日期:2003.03.10)

     查看全文

    oldwain 发表于:2004.09.09 15:02 ::分类: ( Oracle ) ::阅读:(1207次) :: 评论 (0)
    ===========================================================
    ===========================================================

    http://www.wilsonmar.com/1sql.htm

    常用的功能用法都提到了。

    有对其中一个产品比较熟而又想了解另一个产品的,这个网页应该很有帮助


    oldwain 发表于:2004.09.08 16:39 ::分类: ( Oracle ) ::阅读:(1187次) :: 评论 (0)
    ===========================================================
    ===========================================================

    很多人都有一个疑问:ORACLE中为什么只有BITAND而没有BITOR, BITXOR

    原因是,有了BITAND, 很容易实现BITOR和BITXOR

     查看全文

    oldwain 发表于:2004.09.08 15:58 ::分类: ( Oracle ) ::阅读:(2449次) :: 评论 (3)
    ===========================================================
    ===========================================================
    更多的跟注释有关的有趣的sql。 查看全文
    oldwain 发表于:2004.08.04 10:33 ::分类: ( Oracle ) ::阅读:(1091次) :: 评论 (1)
    ===========================================================
    ===========================================================

    转贴自Lunar2000的专栏http://blog.csdn.net/lunar2000/

    显示结果很有趣。

     查看全文
    oldwain 发表于:2004.07.26 10:23 ::分类: ( Oracle ) ::阅读:(3160次) :: 评论 (1)
    ===========================================================
    ===========================================================

    有趣的东西,转来的

    Q. What if your Dad loses his car keys?
    A. 'Parent keys not found!'

    .......

     查看全文

    oldwain 发表于:2004.07.23 10:30 ::分类: ( Oracle , 侃也白侃 , 天下文章 ) ::阅读:(923次) :: 评论 (0)
    ===========================================================
    ===========================================================
    有趣的sql(2) 查看全文
    oldwain 发表于:2004.07.23 10:22 ::分类: ( Oracle ) ::阅读:(1199次) :: 评论 (0)
    ===========================================================
    ===========================================================

    猜猜这条语句执行后什么结果?

     查看全文

    oldwain 发表于:2004.07.23 10:19 ::分类: ( Oracle ) ::阅读:(937次) :: 评论 (2)
    自我介绍
    切换风格
    新闻聚合
    博客日历
    文章归档...
    最新发表...
    最新评论...
    最多阅读文章...
    最多评论文章...
    博客统计...
    Blog信息
    赞助商
    网站链接...
    其它资源
    我的网摘...