===========================================================
===========================================================
跟老牛学一招oracle
刚刚从老牛那里, 学了一招:
查询表空间的使用量、剩余量:
select * from sm$ts_used;
select * from sm$ts_free;
比起用其它的视图写长长的一段脚本, 简便多了。
查看全文
oldwain
发表于:2008.01.04 18:32
::分类:
(
Oracle
)
::阅读:(466次)
::
评论
(3)
===========================================================
===========================================================
itpub论坛回复: 如何看到自己的数据被插入到了哪个分区
问题: 来源(muyehuoying)
请问如何看到自己的数据被插入到了哪个分区?
我的回答:
查看全文
oldwain
发表于:2006.09.29 11:06
::分类:
(
Oracle
)
::阅读:(964次)
::
评论
(0)
===========================================================
===========================================================
用oracle分析itpub徽章(2) -- 分析数据
有了数据,进行分析就比较容易了。我们可以分析每个品种的最大持有人、前n大持有人等信息。
查看全文
oldwain
发表于:2006.09.12 21:44
::分类:
(
Oracle
)
::阅读:(1060次)
::
评论
(4)
===========================================================
===========================================================
用oracle分析itpub徽章(1) -- 获取数据
本文试图通过使用Oracle的utl_http package来抓取itpub的徽章列表,并通过对获取的数据进行一些简单的查询,模拟投资市场来分析这些徽章的价格趋势。
查看全文
oldwain
发表于:2006.09.12 21:42
::分类:
(
Oracle
,
侃也白侃
)
::阅读:(1085次)
::
评论
(3)
===========================================================
===========================================================
读DSI笔记-301(2): 用EXPORT来检测坏块
- 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笔记-301(1): event参数设置
DSI系列教材很早就下载过(好像还不止下载了一回),不过一直懒惰没有看过(这好像是很多人的通病: 下载的时候满世界找,似乎完下到一天都会是莫大的损失,下载完了重来不看)
刚刚翻看了DSI301, 感觉收获还是蛮大的。有些零零散散的东西就记录在这里,就算是帮助自己记忆吧。
查看全文
oldwain
发表于:2006.06.06 01:25
::分类:
(
Oracle
)
::阅读:(3946次)
::
评论
(0)
===========================================================
===========================================================
itpub论坛回复: 授权何时生效
问题: 来源(tiansmart )
在oracle9i中,当通过角色为某个用户赋权时,如果用户正处于连接状态,能否实时生效?
我的回答:
查看全文
oldwain
发表于:2006.05.21 00:29
::分类:
(
Oracle
)
::阅读:(2547次)
::
评论
(1)
===========================================================
===========================================================
itpub论坛回复:让一个JOB每天执行俩次
问题: 来源(winrar )
怎么让一个JOB每天执行俩次?
如每天中午12:00,下午5:30执行
我的回答:
查看全文
oldwain
发表于:2006.04.08 23:33
::分类:
(
Oracle
)
::阅读:(2103次)
::
评论
(2)
===========================================================
===========================================================
itpub论坛回复: 直接赋值与select from dual的效率对比
问题: (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)
===========================================================
===========================================================
itpub论坛回复: 分组求积
问题:
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(2)
tkprof可以把输出文件的内容放到数据库表中, 使用下面的参数:
tkprof tracefile outputfile insert=insert.sql
生成的表(tkprof_table)的结构为:
查看全文
oldwain
发表于:2005.09.15 17:26
::分类:
(
Oracle
)
::阅读:(2105次)
::
评论
(4)
===========================================================
===========================================================
也许你还不知道 - tkprof(1)
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)
也许你还不知道 - sqlplus的小秘密(4)
这个也许不算什么秘密, 很多人大概都知道, 不过用过的人也许不多.
在8.1.7版本(也许是816? 不太确定)以后, sql*plus中有一个set markup html的命令, 可以将sql*plus的输出以html格式展现.
查看全文
oldwain
发表于:2005.09.08 12:54
::分类:
(
Oracle
)
::阅读:(2737次)
::
评论
(3)
===========================================================
===========================================================
也许你还不知道 - sqlplus的小秘密(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)
===========================================================
===========================================================
测试了一下365key的兴趣小组
创建了两个小组:
欢迎加入/订阅.
另外对于测试征求意见有一条::
目前按邀请其他人的分类加入,不需要被加入用户的确认,是否需要确认呢对于这一点我是极力反对的: 这是因为兴趣小组的内容会以邮件列表的形式发给成员, 如果允许非个人意愿的情况下被加入其它组, 就会给垃圾邮件以可乘之机.
即使没有垃圾邮件的问题, 我本人也不希望被人强行拉入一个小组, 以前在smiling有过类似经历, 对此我是深恶痛绝的.
oldwain
发表于:2005.09.06 14:16
::分类:
(
Oracle
)
::阅读:(1842次)
::
评论
(0)
===========================================================
===========================================================
也许你还不知道 - sqlplus的小秘密(2)
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)
===========================================================
===========================================================
也许你还不知道 - sqlplus的小秘密(1)
有没有为了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文件(2)
oldwain
发表于:2005.08.02 12:50
::分类:
(
Oracle
)
::阅读:(2610次)
::
评论
(3)
===========================================================
===========================================================
在数据库中远程分析服务器上的alert文件(1)
在数据库中远程分析服务器上的alert文件
很多时候, 我们仅仅有远程服务器的数据库用户(dba用户)的口令, 而没有远程服务器的操作系统用户口令, 或者如果因为网络限制而不能访问远程服务器的操作系统.
但为了分析问题的原因, 希望能在数据库内部查看数据库的alert文件.
下面提供一些方法.
查看全文
oldwain
发表于:2005.08.02 12:43
::分类:
(
Oracle
)
::阅读:(1624次)
::
评论
(0)
===========================================================
===========================================================
itpub论坛回复: 参数化视图
问题:
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)
===========================================================
===========================================================
最新网摘-ORACLE相关(05.07.07)
oldwain
发表于:2005.07.08 01:09
::分类:
(
Oracle
,
天下文章
)
::阅读:(875次)
::
评论
(0)
===========================================================
===========================================================
有趣的sql(5) - 另一种方法构造连续数
比起我在另一篇文章( 使用PL/SQL table 来构造连续数集合表 )中所用的方法来,从这个blog得到的这种方法更为高效、简洁,不过看上去也要诡异许多。 :)
查看全文
oldwain
发表于:2005.07.06 20:15
::分类:
(
Oracle
,
天下文章
)
::阅读:(1388次)
::
评论
(2)
===========================================================
===========================================================
关于blog阅读者数量的有趣的推理
在onlysay的blog的访问量不可能增大一文中,作者进行了一次有趣的推理。
其结论就是:
当blog写作习惯和内容定下来之后,你的访问量就不会增大了。
由此就可以决定我们应该做的是,保持你的访问量,不让它减少就好。贪心是一种祸。
其实这个阅读链倒是很像数据库中常用的B+树索引。 在B+树索引中,一个节点的子节点数目在通常情况(不考虑极端情况)下,也会保持一个基本恒定的值,一旦超过这个值, 就会发生分裂,这个分裂过程恰如onlysay所说的读者变成作者,并同时带走原来的其它读者的情况。
正如黄教授说的:世界的本质是数学,果然如此!
btw: 第一次为一篇文章用到了三个分类,尽管没有写多少真正的内容。:)
oldwain
发表于:2005.07.04 22:01
::分类:
(
Oracle
,
侃也白侃
,
Web2.0
)
::阅读:(2462次)
::
评论
(3)
===========================================================
===========================================================
模糊查询(1) - 尾号查询
在应用项目中,经常要用到模糊查询。其中有些模糊查询是为了快速查询业务关键号的(主键/外键或者其它非键的关键列)。但是经过我对多个应用项目的最终用户使用过程的观察,用户查询是使用的最主要的还是尾号来查询。
举个人员编码的例子, 比如说某个系统中人员编码的格式为:机构码+部门码+n位的流水号,用户在使用所谓的模糊查询功能时,绝大多数时间他会输入一个类似'00234'这样的尾号, 在此他只是希望查到尾号对应的人, 而不是要查找一个xxx0机构+0234部门的人。
从SQL的角度看,尾号查询对应的数据库查询,就是形如 colname like '%00234'这样的百分号前置的查询
我们都知道对于百分号后置的情形,数据库能够使用已存在的索引,从而提高查询效率。那么对于前置的情形,有没有好的解决办法呢?本文利用ORACLE的函数索引(FBI)来解决这个问题。
查看全文
oldwain
发表于:2005.06.22 13:32
::分类:
(
Oracle
)
::阅读:(1686次)
::
评论
(2)
===========================================================
===========================================================
使用PL/SQL table 来构造连续数集合表
很多时候,我们需要在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)
===========================================================
===========================================================
让查询出来的数据和in中列表顺序一致 - 对biti一篇文章的改进。
在biti_rainy的这篇文章http://blog.itpub.net/post/330/18893中,讨论了让查询依照in列表顺序进行排序的方法。
但该方法有一个问题,就是依赖于查询时的执行计划。(因此biti在他的查询中加入了hint来强制使用nl方式)
我们通过加入一个序号域的方式,加以改进,从而避免对执行计划的依赖:
查看全文
oldwain
发表于:2005.04.20 16:41
::分类:
(
Oracle
)
::阅读:(1604次)
::
评论
(6)
===========================================================
===========================================================
Oracle kernel executable致命错误
今天在测试用java存储过程实现pl/sql调用os命令时, 出现Oracle kernel executable致命错误
不知有没有人见到过? 特此留下图片以做记念。
查看全文
oldwain
发表于:2005.04.20 10:27
::分类:
(
Oracle
)
::阅读:(716次)
::
评论
(0)
===========================================================
===========================================================
小招技巧6: 判断是否存在记录
很多人喜欢用这样的方法来判断是否存在记录:
select count(*) into t_count from t where condition;
if t_count> 0 then ....
这种方法的问题在于:我们需要的仅仅是是否存在,而不是得到总记录数。查询记录总数付出了不必要的性能代价。
查看全文
oldwain
发表于:2004.12.08 10:23
::分类:
(
Oracle
)
::阅读:(21340次)
::
评论
(2)
===========================================================
===========================================================
捣乱的ORACLE关键字
我们都知道,在设计ORACLE对象的时候,应该避免使用关键字作为对象的名字。可是,如果将关键字用作用户名会有问题吗?
这个blog(http://www.edhanced.com/ask-mred/?q=node/view/53)的作者发现了一个有意思的现象。
为了便于讨论, 将他的例子抄录过来:
查看全文
oldwain
发表于:2004.11.09 09:31
::分类:
(
Oracle
)
::阅读:(4659次)
::
评论
(0)
===========================================================
===========================================================
又一个有趣的sql问题
问题来源: 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)
===========================================================
===========================================================
小招技巧5: 数学常数
oldwain
发表于:2004.10.19 09:54
::分类:
(
Oracle
)
::阅读:(1444次)
::
评论
(0)
===========================================================
===========================================================
小招技巧4: 整理IMP的INDEXFILE选项生成的脚本
IMP的INDEXFILE选项是个很有用的功能(关于它的用法,请参考ORACLE文档)
不过,让人烦恼的是,这个脚本中每行前都有一个REM, 并且有时会在不恰当的地方换行。这样每次要使用INDEXFILE生成的脚本,都要做一系列的整理工作。
本人用UltraEdit生成了几个宏,可以较好的进行这项整理工作。
查看全文
oldwain
发表于:2004.09.17 14:39
::分类:
(
Oracle
)
::阅读:(1864次)
::
评论
(0)
===========================================================
===========================================================
ITPUB老帖子:将查询结果连接成列表的几个方法
将查询结果连接成列表的几个方法 (发表于ITPUB电子杂志第二期) 我们在实际开发过程中, 经常需要将一个查询的结果连接成一个单行的字符串列表, 比如说将一个部门及其所有员工列在一行显示. 本文介绍了从最简单到最通用的几种方法来达到这一目的.
查看全文
oldwain
发表于:2004.09.09 15:19
::分类:
(
Oracle
)
::阅读:(1728次)
::
评论
(0)
===========================================================
===========================================================
ITPUB老帖子:小招技巧3: EXCEL文件导入数据库
小招技巧3: EXCEL文件导入数据库 (发贴日期:2003.03.11)
EXCEL文件导入数据库的简便方法
查看全文
oldwain
发表于:2004.09.09 15:15
::分类:
(
Oracle
)
::阅读:(6466次)
::
评论
(4)
===========================================================
===========================================================
ITPUB老帖子:小招技巧2: 快速写存储过程
小招技巧2: 快速写存储过程 (发贴日期:2003.03.10)写存储过程时, 经常要INSERT ... SELECT ....或者 UPDATE ...=....,
表的列数少时无所谓, 列数多的时候列出这些列名就很烦人.
把下面的脚本保存到手边, 能大大提高效率.
查看全文
oldwain
发表于:2004.09.09 15:12
::分类:
(
Oracle
)
::阅读:(1630次)
::
评论
(2)
===========================================================
===========================================================
ITPUB老帖子:小招技巧1: 列出小于n的素数
本人一向手懒,看的帖子多,回的帖子少,发的帖子更少。
搜索了一下,真正自己原发的帖子屈指可数。
就把这几篇存到这里,算是留个纪念吧。
小招技巧: 列出< n的素数(发贴日期:2003.03.10)
查看全文
oldwain
发表于:2004.09.09 15:02
::分类:
(
Oracle
)
::阅读:(1207次)
::
评论
(0)
===========================================================
===========================================================
一个比较ORACLE和SQLSERVER的网页
http://www.wilsonmar.com/1sql.htm
常用的功能用法都提到了。
有对其中一个产品比较熟而又想了解另一个产品的,这个网页应该很有帮助
oldwain
发表于:2004.09.08 16:39
::分类:
(
Oracle
)
::阅读:(1187次)
::
评论
(0)
===========================================================
===========================================================
ORACLE中的BITOR和BITXOR
很多人都有一个疑问:ORACLE中为什么只有BITAND而没有BITOR, BITXOR
原因是,有了BITAND, 很容易实现BITOR和BITXOR
查看全文
oldwain
发表于:2004.09.08 15:58
::分类:
(
Oracle
)
::阅读:(2449次)
::
评论
(3)
===========================================================
===========================================================
有趣的sql(4) - 关于注释的,续"有趣的sql(1) "
oldwain
发表于:2004.08.04 10:33
::分类:
(
Oracle
)
::阅读:(1091次)
::
评论
(1)
===========================================================
===========================================================
有趣的sql(3)
oldwain
发表于:2004.07.26 10:23
::分类:
(
Oracle
)
::阅读:(3160次)
::
评论
(1)
===========================================================
===========================================================
Oracle 错误信息另解
有趣的东西,转来的
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)
===========================================================
===========================================================
有趣的sql(1)
oldwain
发表于:2004.07.23 10:19
::分类:
(
Oracle
)
::阅读:(937次)
::
评论
(2)