xsb Oracle Blog

暂无签名

  • 博客访问: 3046850
  • 博文数量: 343
  • 用 户 组: 普通用户
  • 注册时间: 1970-01-01 08:00
个人简介

鏆傛棤浠嬬粛

ITPUB论坛APP

ITPUB论坛APP



APP发帖 享双倍积分

文章分类

全部博文(343)

文章存档

2012年(1)

2011年(6)

2010年(2)

2009年(6)

2008年(32)

2007年(28)

2006年(182)

2005年(78)

2004年(8)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

发布时间:2006-03-17 15:01:44

truncate,delete,drop的比较:[@more@]-->注意:这里说的delete是指不带where子句的delete语句相同点:truncate和不带where子句的delete, 以及drop都会删除表内的数据 不同点: 1. truncate和 delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为invalid状态. 2.delete语句是DML,这个操作会放到rollback segement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发. truncate,drop是DDL, 操作立即生效,原数据不放到r......【阅读全文】

阅读(2946) | 评论(0) | 转发(0)

发布时间:2006-03-17 13:29:42

仅供参考,并不全面也不代表权威:[@more@]Oracle面试常见的二十个问题及回答1.冷备份和热备份的不同点以及各自的优点  解答:热备份针对归档模式的数据库,在数据库仍旧处于工作状态时进行备份。而冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库。热备份的优点在于当备份时,数据库仍旧可以被使用并且可以将数据库恢复到任意一个时间点。冷备份的优点在于它的备份和恢复操作相当简单,并且由于冷备份的数据库可以工作在非归档模式下,数据库性能会比归档模式稍好。(因为不必将archive log写入硬盘)  2.如果你必须利用备份恢......【阅读全文】

阅读(11407) | 评论(0) | 转发(0)

发布时间:2006-03-17 13:19:51

SQL语句的解析有软解析soft parse与硬解析hard parse之说:[@more@]以下是5个步骤:1:语法是否合法(sql写法)2:语义是否合法(权限,对象是否存在)3:检查该sql是否在公享池中存在--如果存在,直接跳过4和5,运行sql. 此时算soft parse4:选择执行计划5:产生执行计划--如果5个步骤全做,这就叫hard parse.......【阅读全文】

阅读(2784) | 评论(0) | 转发(0)

发布时间:2006-03-16 09:04:33

物化视图MV综合技术应用之分区跟踪特性:[@more@]Partition Change TrackingIt is possible and advantageous to track freshness to a finer grain than the entire materialized view. The ability to identify which rows in a materialized view are affected by a certain detail table partition, is known as Partition Change Tracking. When one or more of the detail tables are partitioned, it may be possible to identify the specific rows in the materialized view that correspond to a modified detail partition(s);......【阅读全文】

阅读(3494) | 评论(0) | 转发(0)

发布时间:2006-03-16 08:48:10

Oracle位图索引之1位图索引只能创建在非唯一性列上,唯一性unique索引只能使用B-tree索引且必须是全局global的或Local prefixed的;位图索引不仅是在低基列上创建,在数据仓库环境里高基列上的位图索引性能也outperform 优于B-tree索引;在数据仓库环境里,除非唯一性索引,创建位图索引是首选;位图索引包含null值,而B-tree索引不包含null值;分区表上只能创建本地local的位图索引,位图索引不能是全局global的;位图连接索引Bitmap Join Indexes: [@more@]CREATE BITMAP INDEX sales_cust_gender_bjixON sales(customers.cust_gender)......【阅读全文】

阅读(3738) | 评论(0) | 转发(0)

发布时间:2006-03-14 14:30:23

用VPD(Virtual Private Databases)来保持信息的隐私在 Oracle HTML DB 应用程序中使用虚拟专用数据库第 14 周:虚拟专用数据库 [@more@]Virtual Private Databases (VPD) allow multiple users to access a single schema whilst preventing them from accessing data that is not relevant to them. Although this type of access can be controlled by the application, access via other methods (SQL*Plus) would leave the data open to abuse. Setting up a VPD involves the following steps:Setup Test Environment Create an App......【阅读全文】

阅读(5109) | 评论(0) | 转发(0)

发布时间:2006-03-10 14:46:38

可分区维护的partition 、数据压缩的compress 、可快速刷新的fast 、可随时删除视图而又能保留数据的prebuilt 、带卷集的rollup、可查询重写的rewrite,集上述特性于一身的物化视图应用示例: [@more@]create table fact1 --创建事实表(c1 number,c2 number,c3 date,c4 number,c5 number,c6 number);--drop MATERIALIZED VIEW LOG ON fact1;CREATE MATERIALIZED VIEW LOG ON fact1 WITH ROWID,SEQUENCE (c1,c2,c3,c4,c5) INCLUDING NEW VALUES ;--物化日志-- Create MV tablecreate table MV_FACT1 --创建预定义的分区的压缩的物化视图表(......【阅读全文】

阅读(4917) | 评论(0) | 转发(0)

发布时间:2006-03-10 10:20:34

使用组合字段的range分区功能间接实现List-List分区策略: [@more@]相关帖子:List-Range-List分区策略,多列range分区以下脚本间接实现List-List分区需求:create table t (date1 date,id2 number,id3 number) partition by range(id2,id3,date1) (partition p11 values less than (2,0,maxvalue),partition p12 values less than (2,1,maxvalue),partition p21 values less than (3,0,maxvalue),partition p22 values less than (3,1,maxvalue));insert into t values (to_date('20010201','yyyymmdd'),2,0);--业务上期望插入p11,正确i......【阅读全文】

阅读(3144) | 评论(0) | 转发(0)

发布时间:2006-03-10 08:54:31

前几年曾问过Oracle的人为什么不支持List-Range分区功能,比如有这样的业务需求场景:地区ID是固定的,地区2的业务量很多,按时间range分区粒度为10天,地区3的业务量不大,按时间range分区粒度可以为月,Range-List复合分区功能无法实现,可又没有List-Range复合分区功能,怎么办?甚至业务上有List-Range-List这种复杂分区需求时:[@more@]曾经在多列range分区一帖里讨论了两列range分区时的困惑,鉴于Oracle目前尚不支持list-range分区功能,以下方案权作是此业务场景的"list"-range分区策略的不完全解(作为一个组合字段的r......【阅读全文】

阅读(4325) | 评论(0) | 转发(0)

发布时间:2006-03-09 18:33:28

今天碰上运行Select语句或查看其执行计划时竟然也报ORA-00600错误:[@more@]参考脚本(测试环境:win2003+10gR2):create table fact1 (c1 number,c2 number,c3 date,c4 number,c5 number,c6 number);--drop MATERIALIZED VIEW LOG ON fact1;CREATE MATERIALIZED VIEW LOG ON fact1 WITH ROWID,SEQUENCE (c1,c2,c3,c4,c5) INCLUDING NEW VALUES ;create materialized view MV_fact1--on prebuilt tablerefresh fast on demandenable query rewriteasselect C1,C2,trunc(C3) c3,count(*) CNT,sum(C4) SUM_C4,sum(C5) SUM_C5,count(C4) C_C4,......【阅读全文】

阅读(3107) | 评论(0) | 转发(0)

发布时间:2006-03-09 16:28:20

关于多个列的Range分区的问题:[@more@]http://www.anysql.net/2006/03/mcols_range_parition.html我想当我们要基于三个列作复杂分区时:如果Oracle支持range-range复合分区也没这个问题;如果Oracle支持list-range复合分区也没这个问题;(有下文:"list"-range分区策略)如果Oracle支持三级复合分区也没这个问题;如果Oracle支持list-list复合分区也好!(有下文:List-List分区策略)如果Oracle支持list-hash复合分区更好!此问题目前无解,等11g看情况吧,只好简化业务逻辑了!被技术左右了一把解决方案!也许Oracle认为问题......【阅读全文】

阅读(4282) | 评论(0) | 转发(0)

发布时间:2006-03-07 17:04:06

功 能: 数据库当前状况报告,生成orcl_info_report.txt文件。使用方法: sqlplus /nolog @orcl_info.sql [@more@]/*功 能: 数据库当前状况报告,生成orcl_info_report.txt文件。使用方法: sqlplus /nolog @orcl_info.sql Created By xiangshubo on 2003-10-20 email:78840687@163.com Modified By xiangshubo on 2004-04-12Modified By xiangshubo on 2004-06-22Modified By xiangshubo on 2004-06-30Modified By xiangshubo on 2005-06-28Modified By xiangshubo on 2005-08-08Modified By xiangshubo on 2005-11-07*/accept un prompt '用......【阅读全文】

阅读(3726) | 评论(0) | 转发(0)

发布时间:2006-03-06 16:29:13

位图索引可以是简单的(单列)也可以是连接的(多列),但在实践中绝大多数是简单的。对于基本不update的表可以考虑bitmap index。[@more@]位图索引主要用于DW环境下的查询,参见:数据仓库星型连接或请参见:位图索引与 B-tree 索引之选择在这些列上多位图索引可以与AND或OR操作符结合使用。位图索引使用位图作为键值,对于表中的每一数据行位图包含了TRUE(1)、FALSE(0)、或NULL值。位图索引的位图存放在B-Tree结构的页节点中。B-Tree结构使查找位图非常方便和快速。另外,位图以一种压缩格式存放,因此占用的磁盘空间比B-Tree索引要......【阅读全文】

阅读(3955) | 评论(0) | 转发(0)

发布时间:2006-03-06 15:59:52

物化视图一样可以分区并且可以压缩,脚本示例: [@more@]create materialized view MV_testpartition by range(id1)(partition p0 values less than (1),partition pmax values less than (maxvalue))compress refresh fast on demandenable query rewriteasselect/******************************************test.*******************************************/...from t1 ... ORcreate materialized view MV_teston prebuilt table refresh fast on demandenable query rewriteasselect...10g物化视图新特性参见:http://xsb.itpub.net......【阅读全文】

阅读(2984) | 评论(0) | 转发(0)

发布时间:2006-03-06 15:54:36

今天再次遇上shutdown immediate 等待很长时间,不得已shutdown abort。请参考引用:[@more@]ref:http://dbaoracle.itpub.net/post/901/55854一次是数据库配置的高级复制有问题,shutdown immediate怎么也关闭不了数据库;shutdown abort完成 一次是冷备份前,shutdown immediate等了20分钟。最后总算出现了"database closed".在asktom上看到一老帖,翻译如下数据库oracle 8.1.6.2运行在hp-ux 11.0 and 我们使用如下策略进行数据库冷备份,1.shutdown abort2.startup3.shutdown immediate4. backup all files that belongs to ......【阅读全文】

阅读(10403) | 评论(0) | 转发(0)

发布时间:2006-03-06 15:33:47

SQL Server、Oracle和DB2是当今比较流行的几种数据库软件,下面从几个方面进行比选:[@more@]1.1.1 SQL Server SQL Server是微软公司推出的数据库产品,与其他数据库产品相比明显地具有强大性、易用性和低廉的价格三者的综合优势。由于是微软自己的产品,所以SQL Server在Windows操作系统上运行的性能优异,与微软的产品如MS Office集成的很好。 SQL Server能够使用Windows NT或Windows 95/98所支持的所有网络适配器。当SQL Server运行在Window操作环境中时,这些操作系统内置的网络软件即可满足SQL Server的网络通信需求,但在某些特殊的网......【阅读全文】

阅读(4243) | 评论(0) | 转发(0)

发布时间:2006-03-06 11:59:56

一张大的事实表(记录数可能上千万或亿)+多张维表,星型连接提示仅用于归档目的无实际价值,那么如何启用星型连接: [@more@]要求事实表上的所有连接字段都存在位图索引Oracle自动进行表连接where子句重写,基本是改写成in子查询,如:select ... from fact,w1,w2,w3 where fact.id1=w1.id1 and w1.id2=1 ...改写为:select ... from fact where fact.id1 in (select id1 from w1 where w1.id2=1) ... 经测试创建位图索引前后cost差别之大令人激动不已:创建前:cost=88547 创建后:cost=39当然这可能会与数据量有关,差别之大足以说明Bi......【阅读全文】

阅读(166293) | 评论(0) | 转发(0)

发布时间:2006-03-06 11:54:14

请注意not in 逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在致命的BUG: [@more@]请看下面的例子:create table t1 (c1 number,c2 number);create table t2 (c1 number,c2 number);insert into t1 values (1,2);insert into t1 values (1,3);insert into t2 values (1,2);insert into t2 values (1,null);select * from t1 where c2 not in (select c2 from t2);no rows foundselect * from t1 where not exists (select 1 from t2 where t1.c2=t2.c2);c1 c21 3正如所看到的,not in 出现了不期望的结果集,存在逻......【阅读全文】

阅读(9222) | 评论(0) | 转发(0)

发布时间:2006-03-05 13:02:32

可以完整的删除Oracle products, Oracle services和注册表信息。 [@more@]如果需要请备份所有相关的文件。 NT环境下: 1、以NT的Administrator 登陆 2、通过控制面版-〉服务,停掉所有ORACLE服务 3、打开注册表(REGEDIT命令),删除 HKEY_LOCAL_MACHINESOFTWAREORACLE 4、中的 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices删除以ORACLE开头的所有服务 5、删除HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventLogA pplication下以ORACLE开头的所有服务 6、关闭REGEDIT 7、打开控制面版-〉系统-〉环境变量 8、如果ORACLE安装......【阅读全文】

阅读(5574) | 评论(0) | 转发(0)

发布时间:2006-03-04 15:35:14

24/02/2006 FP 通过进程、线程监控工具及sql脚本找出正在消耗资源的Oracle Session及其正在运行的语句。[@more@]监控工具:http://xsb.itpub.net/resource/419/9406--在windows上,已知线程ID,得到当前会话信息及正在执行的语句--在windows上,线程ID为16进制,需要转换,在UNIX直接为10进制select *from V$SESSION B,V$PROCESS Cwhere B.PADDR = C.ADDR andC.SPID = TO_NUMBER('&pid', 'xxxx');select B.SID,A.SQL_TEXTfrom V$SQLTEXT A,V$SESSION B,V$PROCESS Cwhere A.HASH_VALUE = DECODE(B.SQL_HASH_VALUE, 0, B.PREV_HASH_VALUE, B.......【阅读全文】

阅读(3128) | 评论(0) | 转发(0)

发布时间:2006-03-03 18:40:19

对已分区的表(甚至带子分区)进行压缩,如果不能一步完成,那么:[@more@]分两步半完成:alter table test compress;select 'alter table test move subpartition '|| subpartition_name||';' from user_tab_subpartitions where table_name like 'TEST';除表可以压缩外,分区表可以压缩,索引可以压缩,物化视图也可以压缩。语法类似。注:除索引外,压缩属性可以继承表空间的压缩属性。表空间改成压缩的:alter tablespace ts_test default compress;以下5种情况可以发挥压缩特性:  直接路径SQL*Loader  带有APPEND提示的串行INSE......【阅读全文】

阅读(6413) | 评论(0) | 转发(0)

发布时间:2006-03-03 16:26:14

当要求某些数据组合是唯一的而另一些数据组合不是唯一的时候:[@more@]create table t(id1 number,id2 number,s number);--创建唯一索引(flag=1时id1,id2要求唯一,s=null时不要求id1,id2唯一):create unique index idx_uq_t on t(case when s = 1 then id1 else null end,case when s = 1 then id2 else null end);OR:create unique index ind_t on t(decode(s,1,id1),decode(s,1,id2));insert into t values (1,2,1);insert into t values (1,2,null);insert into t values (1,2,null);insert into t values (1,2,2);insert into t val......【阅读全文】

阅读(153185) | 评论(0) | 转发(0)

发布时间:2006-03-03 16:11:55

http://zybing.itpub.net/post/170/43359[@more@]......【阅读全文】

阅读(2468) | 评论(0) | 转发(0)

发布时间:2006-03-03 15:52:55

如何解决Ora-00600 4194错误http://www.itpub.net/480899.htmlhttp://www.cnoug.org/viewthread.php?tid=85607[@more@]启动参数里面加这个:rollback_segments=(system)_corrupted_rollback_segment=(rba,...)_allow_resetlogs_corruption=ture......【阅读全文】

阅读(3023) | 评论(0) | 转发(0)

发布时间:2006-03-03 13:48:43

理解原理比记住命令重要100倍![@more@]不管是做DBA 还是其他的事情,理解他的原理是很重要的,不仅要知道怎么做,更重要的是要知道为什么这么做。命令那么多,怎么记也记不住的。只有原理是忘记不了的,所以我们无论做什么事情,一定要研究他的原理,这样做事情就没有那么累了今日看到一贴, 是关于丢失了Archive Log之后的问题, 在处理这种问题时, 我认为正确理解不完全恢复要比记住一堆RMAN的命令更重要, 而我本身就是用这种方法学习的, 在我没有搞懂不完全恢复是什么时, 我是没有去看过RMAN的任何书. 在这个Case中楼主用了until sequenc......【阅读全文】

阅读(3237) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册