代码改变世界

left join on ...and ... 与left join on ... where.. 的区别

2011-08-29 17:31 by Tracy., 534 阅读, 0 推荐, 收藏, 编辑
摘要:create table UserAccount( UID int, UName varchar(50), JoinDate datetime)insert into UserAccount values(1,'Jimmy','2006-10-3')insert into UserAccount values(2,'Jack','2006-10-25')insert into UserAccount values(3,'Mike','2006-11-13')insert into UserAccou 阅读全文

凤姐访谈录

2011-08-25 11:04 by Tracy., 523 阅读, 0 推荐, 收藏, 编辑
摘要:SHAUN:晚上好!我是SHAUN SHEEP!网络世界神奇莫测,每天数以亿万计的人们流连忘返,见证每天发生的神奇故事,不单单是在美国,在中国也是如此,下面让我们欢迎来自中国的网络奇人——凤姐 !!!SHAUN:你好!凤姐!请允许我这么称呼。。。凤姐:嘿嘿 您年龄那么大,叫凤妹妹就可以了SHAUN:呵呵 欢迎来到美国,也非常感谢你能亲自来到现场和广大美国人民交流凤姐:HI 大家好 也祝贺你们击败CNN取得我的独家访谈权SHAUN:哦 谢谢 我们非常想知道,你来到美国感觉如何?凤姐:这是每个中国人做梦都想来的国度啊,我现在还以为是在梦里。。。现在是不是美国的春节啊!马路上人这么少啊!我可... 阅读全文

Oracle:Virtual Columns in Oracle Database 11g Release 1

2011-08-24 10:35 by Tracy., 397 阅读, 0 推荐, 收藏, 编辑
摘要:When queried, virtual columns appear to be normal table columns, but their values are derived rather than being stored on disc. The syntax for defining a virtual column is listed below.column_name [datatype] [GENERATED ALWAYS] AS (expression) [VIRTUAL]If the datatype is omitted, it is determined bas 阅读全文

Oracle:PIVOT and UNPIVOT Operators in Oracle Database 11g Release 1

2011-08-24 10:25 by Tracy., 709 阅读, 0 推荐, 收藏, 编辑
摘要:This article shows how to use the new PIVOT and UNPIVOT operators in 11g, as well as giving a pre-11g solution to the same problems.PIVOTUNPIVOTPIVOTThe PIVOT operator takes data in separate rows, aggregates it and converts it into columns. To see the PIVOT operator in action we need to create a tes 阅读全文

Oracle:【DEADLOCK】Oracle“死锁”模拟

2011-08-24 10:07 by Tracy., 2778 阅读, 0 推荐, 收藏, 编辑
摘要:本着实验优先的原则,先模拟死锁的发生,然后在列一下死锁产生的四个必要条件和处理死锁的一般策略。1.创建两个简单的表t1_deadlock和t2_deadlock,每个表中仅仅包含一个字段asys@ora10g> conn sec/secConnected.sec@ora10g> create table t1_deadlock (a int);Table created.sec@ora10g> create table t2_deadlock (a int);Table created.2.每张表中仅初始化一条数据sec@ora10g> insert into t1_d 阅读全文

Select for update nowait

2011-08-24 09:28 by Tracy., 539 阅读, 0 推荐, 收藏, 编辑
摘要:Suppose steps below:1. begin TX12. in TX1, do update table1 set a = 1;3. begin TX24. in TX2, doselect * from table1 for update nowait;Since TX1 is holding a lock, so TX2 failed to acquire a lock. Then the "select * from table1 for update nowait" will return with an error. I called it " 阅读全文

Oracle:TOM实验DBMS_LOCK

2011-08-24 08:58 by Tracy., 1359 阅读, 0 推荐, 收藏, 编辑
摘要:创建一个带主键的表,和一个触发器,触发器会防止两个或多个会话同事插入相同的值。这个触发器使用DBMS_UTILITY.GET_ HASH_VALUE 来计算主键的散列值,得到一个0~1 073 741 823 之间的数(这也是Oracle 允许我们使用的锁ID 号的范围)。然后使用DBMS_LOCK.REQUEST 根据这个ID 分配一个排他锁(也称独占锁,exclusive lock)。一次只有一个会话能做这个工作。grant execute on dbms_lock to scott;create table demo (x int primary key);create or repla 阅读全文

Oracle:物化视图的PCT特性(二)

2011-08-23 16:11 by Tracy., 1236 阅读, 0 推荐, 收藏, 编辑
摘要:上一篇文章介绍了PCT的概念和优点,本文详细介绍一下PCT的限制。物化视图的PCT特性(一):http://blog.itpub.net/post/468/21406物化视图的分区变化跟踪特性(PCT)具有以下的限制条件:1.物化视图参考的基表中至少有一个是分区的;2.分区表必须是范围分区或复合分区;3.分区键必须由单列组成;4.物化视图必须包含基表的分区列或分区标志;5.如果物化视图包含GROUP BY语句,则分区列或分区标志必须出现在GROUP BY语句中;6.数据修改只能发生在分区表中;7.兼容性设置COMPATIBLE必须在9.0.0.0.0以上;8.物化视图不能参考远端表、视图或外连 阅读全文

Oracle:物化视图的PCT特性(一)

2011-08-23 16:07 by Tracy., 815 阅读, 0 推荐, 收藏, 编辑
摘要:Oracle的物化视图从9i开始支持了PARTITION CHANGE TRACKING(PCT)功能。本文简单描述一下PCT的概念及PCT的优点。物化视图的PCT特性(二):http://blog.itpub.net/post/468/21639PCT是基于分区的修改跟踪,如果基表进行了分区,Oracle可以知道物化视图中的每条记录会被基表中的哪个或哪几个分区所影响。PCT带来的优点主要体现在两个方面上:刷新和查询重新。当基表发生DROP PARTITION或TRUNCATE PARTITION操作后,物化视图仍然可以执行快速刷新。而且即使不执行快速刷新,Oracle也不会将这个物化视图中所 阅读全文

创建其他用户下的物化视图报错权限不足

2011-08-23 15:39 by Tracy., 2451 阅读, 0 推荐, 收藏, 编辑
摘要:在创建一个其他用户的物化视图时报错,错误信息为:ORA-01031: 权限不足。以前写过几篇文章,介绍物化视图创建所需要的权限:建立物化视图所需权限(一):http://yangtingkun.itpub.net/post/468/50672建立物化视图所需权限(二):http://yangtingkun.itpub.net/post/468/50707建立物化视图所需权限(三):http://yangtingkun.itpub.net/post/468/50838建立物化视图所需权限(四):http://yangtingkun.itpub.net/post/468/51163但是目前碰到的问 阅读全文

Oracle:Checkpoint&logswitch -- what is their relationship.

2011-08-23 14:06 by Tracy., 366 阅读, 0 推荐, 收藏, 编辑
摘要:You AskedPlease Tomcan you help me to understand what happens at the log switch timeand what happens at checkpoint time and how one event can determine the other one.Also i am very confuse where SCN is written: in datafile header,in rolback segment header etc?? thanks a lotwith respectrazvan and we 阅读全文

Oracle:如何计算索引的大小

2011-08-23 10:29 by Tracy., 4609 阅读, 0 推荐, 收藏, 编辑
摘要:上次因为创建索引失败,原因是TEMP临时表空间满,经过测试,索引创建需要的临时表空间大概是索引的大小,所以在执行alter index index_name rebuild online nologging parallel 5语句前,要计算出创建索引需要的临时段的大小。实验如下:SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 阅读全文

在Oracle中创建视图时, 如果我们用了”*”符号

2011-08-23 10:15 by Tracy., 644 阅读, 0 推荐, 收藏, 编辑
摘要:在Oracle中创建视图时, 如果我们用了”*”符号, 会被自动地根据当时表的定义扩展成字段列表, 在后面再加列时, 新的列不会自动出现在视图的定义中, 直到你重建视图为止. 那么在MVIEW中呢, 通过一个不经意的操作, 发现一个有趣的问题. 总之, 不要随便地在实体视图的定义中使用”*”号.下面我们在一个表上建两个实体化视图, 角本如下:CREATE TABLE T_MVTEST AS SELECT * FROM TAB;CREATE MATERIALIZED VIEW LOG ON T_MVTEST WITH ROWID,SEQUENCE; CREATE MATERIALIZED ... 阅读全文

在Oracle中怎样查看空间索引的存储空间

2011-08-23 09:54 by Tracy., 3959 阅读, 0 推荐, 收藏, 编辑
摘要:本文只讨论Oracle中最常见的索引,即是B-tree索引。本文中涉及的数据库版本是Oracle8i。 一. 查看系统表中的用户索引 在Oracle中,SYSTEM表是安装数据库时自动建立的,它包含数据库的全部数据字典,存储过程、包、函数和触发器的定义以及系统回滚段。 一般来说,应该尽量避免在SYSTEM表中存储非SYSTEM用户的对象。因为这样会带来数据库维护和管理的很多问题。一旦SYSTEM表损坏了,只能重新生成数据库。我们可以用下面的语句来检查在SYSTEM表内有没有其他用户的索引存在。select count(*) from dba_indexeswhere tablespace... 阅读全文

db file scattered read和sequential read.

2011-08-22 16:41 by Tracy., 831 阅读, 0 推荐, 收藏, 编辑
摘要:1. db file scattered read-DB 文件分散读取这种情况通常显示与全表扫描相关的等待。当数据库进行全表扫时,基于性能的考虑,数据会分散(scattered)读入Buffer Cache。如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或者没有创建合适的索引,我们可能需要检查这些数据表已确定是否进行了正确的设置。然而这个等待事件不一定意味着性能低下,在某些条件下Oracle 会主动使用全表扫描来替换索引扫描以提高性能,这和访问的数据量有关,在CBO 下Oracle 会进行更为智能的选择,在RBO 下Oracle 更倾向于使用索引。因为全表扫描被置于LRU 阅读全文
上一页 1 2 3 4 5 6 7 8 9 ··· 28 下一页