
ORACLE技术
文章平均质量分 78
johnson58
这个作者很懒,什么都没留下…
展开
-
oracle一个事务的完整流程分析
oracle服务进程如何处理用户进程的请求服务器进程在完成用户进程的请求过程中,主要完成如下7个任务:0.sql语句的解析1.数据块的读入db buffer2.记日志3.为事务建立回滚段4.本事务修改数据块5.放入dirty list6.用户commit或rollback0.sql语句的解析下面要讲oracle服务器进程如可处理用户进程的请求,当一用户进程提交一个sql时:update temp原创 2013-09-04 11:38:39 · 575 阅读 · 0 评论 -
事实表与维度表
解释1:事实表就是按某个分析领域组合的数据表维度表则是这个领域上的分析指标的组合表解释2:简单点说;事实表就是交易表。维度表就是基础表。用来解释事实表中关键字纬度的具体内容。解释3:事实数据表数据仓库架构中的中央表,它包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务(如银行事务或产品销售)内特定事件的数据。维度表数据仓库中的表,其条目描述事实数据表中的数据。维度表包含创建维度所基于的数原创 2013-09-04 11:37:52 · 728 阅读 · 0 评论 -
临时表上的索引没有被使用
今天出了个这样的问题,在开发环境临时表上的索引正常,在生产环境的执行计划中没有被使用到。经分析,数据库做成时临时表为空,每次业务开始时插入大量数据,业务结束时将数据删除。因为统计情报不准确,导致生产环境上没有使用索引。加入HINT后,问题解决。总结:Oracle 10g开始,已经不在支持RBO模式,由CBO根据统计情报安排执行计划,所以需要经常收集数据库的统计情报。而业务上经常要用到临时表,由于其原创 2013-09-04 11:38:06 · 924 阅读 · 0 评论 -
使用 tpkrof 输出文件的步骤
使用 tpkrof 输出文件的步骤--使用 tpkrof 输出文件的步骤:1、show parameter timed_statistics2、alter session set timed_statistics=true3、alter session set sql_trace=true4、--需要分析的sql语句select owner,count(*)from all_objectsgrou原创 2013-09-04 11:38:04 · 577 阅读 · 0 评论 -
电信数据仓库设计的六个关键环节
数据仓库技术经过了十几年的发展,在理论与工程实践上都取得了显著的成果。国际上许多重要的学术会议,如超大型数据库国际会议(VLDB)、数据工程国际会议(Data Engineering)等,都有大量专门 研究数据仓库(Data Warehousing)、联机分析处理(On-Line Analytical Processing)、数据挖掘(Data Mining)的论文,各大数据库厂商纷纷推出相应产品原创 2013-09-04 11:37:54 · 2357 阅读 · 0 评论 -
测试工具runstats
配置环境-runstats runstats是一个开发工具,能对同一件事的两个不同方法进行比较,得出孰优孰劣的结果。你只要提供两个不同的方法,余下的事情都由runstats负责。runstats只是测量3个要素:墙上时钟(wall clock)或耗用时间(elapsed time):知道墙上时钟或耗用时间很有用,不过这不是最重要的信息。系统统计结果:会并排地显示每个方法做某件事(如执行一个解析调原创 2013-09-04 11:38:01 · 896 阅读 · 0 评论 -
四种数据ETL模式
根据模型的设计和源数据的情况,有四种数据ETL模式:完全刷新:数据仓库数据表中只包括最新的数据,每次加载均删除原有数据,然后完全加载最新的源数据。这种模式下,数据抽取程序抽取源数据中的所有记录,在加载前,将目标数据表清空,然后加载所有记录。为提高删除数据的速度,一般是采用Truncate清空数据表。如本系统中的入库当前信息表采用此种模式。镜像增量:源数据中的记录定期更新,但记录中包括记录时间字段,原创 2013-09-04 11:37:59 · 534 阅读 · 0 评论 -
海量数据的删除策略
1.延迟删除 一条数据会被很多数据引用。当被引用的数据删除时,引用的数据也需要删除。这时候可以用延迟删除的方法。 例子: 用户发表的帖子,可以被转发到很多地方。所有转发过的贴都是对原帖的引用,用户接着把他的原帖删除,所有被转发过的帖子也需要进行清理。我们采用的是延迟删除的方法,用户操作时,先直接删除原帖,被转发的贴,在点击时,会到原帖加载内容,这时发现原帖已经不存在,此时这条被点击的转发贴也会被删原创 2013-09-04 11:37:19 · 484 阅读 · 0 评论 -
转载:数据库逻辑设计原则
数据库逻辑设计原则 2.1 命名规范 2.1.1 表属性规范 2.1.1.1 表名 前缀为Tbl_ 。数据表名称必须以有特征含义的单词或缩写组成,中间可以用“_”分割,例如:tbl_pstn_detail。表名称不能用双引号包含。 2.1.1.2 表分区名 前缀为p 。分区名必须有特定含义的单词或字串。 例如 :tbl_pstn_detail 的分区p2004100101表原创 2013-09-04 11:37:12 · 1033 阅读 · 0 评论 -
Data Guard 环境下 主备库Redo log 的添加与删除
刚搭建完一个Data Gard 环境。 在服务器上弄的,过几天要上生产线。 安装的时候redo 默认了50M。 而且standby redo 也是50M。 和同事讨论之后,还是把改成100M。50M 确实小了点。 Standby redo的大小要和redo 的一致,所以主备库都要调整。 一. 主库操作 1.1 查看redo 信息SQL> select group#,type, memb原创 2013-09-04 11:37:39 · 395 阅读 · 0 评论 -
Oracle进程连接数过多时的Statspack分析报告
Database InfoFri Apr 22 2011 10:48:33 GMT+0800 (China Standard Time)DB IDInstanceReleaseRACHost4190444978hotel9.2.0.4.0NOlocalhost.lo Elapsed:25.37 (min)1,522.2 (sec)DB Time:435.35 (min)26,120.87 (sec原创 2013-09-04 11:37:36 · 744 阅读 · 0 评论 -
Oracle 块大小(默认8KB)
参数db_block_size;这个参数只能设置成底层操作系统物理块大小的整数倍,最好是2的n次方倍。如WINDOWS下4KB,8KB,16KB且该参数需要在建库的时候指定,一旦指定不能更改。虽然在ORACLE9I以上可以指定表空间的数据库大小,允许同时使用包括非默认大小在内的数据库块大小。不过需要设置指定大小数据块的buffer_cache.小的块:小的块降低块竞争,因为每个块中的行较少.小的块原创 2013-09-04 11:37:30 · 3682 阅读 · 0 评论 -
insert大量数据经验之谈
在很多时候,我们会需要对一个表进行插入大量的数据,并且希望在尽可能短的时间内完成该工作,这里,和大家分享下我平时在做大量数据insert的一些经验。 前提:在做insert数据之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。 1. insert into tab1 select * from tab2; commit;原创 2013-09-04 11:38:10 · 882 阅读 · 0 评论 -
EXP导出数据库时遇ORA-00600 unable to load XDB library的解决方案
昨天在工作中遇到这样一个问题:EXP导出数据库时,屏幕一直停留在导出簇定义,之后过了几分钟就出现了错误信息:ORA-00600,参数[unable to load XDB library][][][]。 刚开始以为是缓冲大小,文件丢失造成的,当我用exp ... full=y 时也确实出现了文件丢失的提示,但是执行完“alter database datafile '/date/temp01原创 2013-09-04 11:38:31 · 661 阅读 · 0 评论 -
临时表空间暴涨
今天发现同事写的存储过程里忘记清空临时表A,导致临时表A数据暴增到12亿多,所以临时表A和有5千万数据级的表B关联时,临时表空间暴增,超出了150G的上限,一度达到到10000万G,5个小时也没有执行完。 管理员在2009年8月13日编辑了该文章文章。 --> -->原创 2013-09-04 11:38:35 · 529 阅读 · 0 评论 -
oracle的临时表空间
http://www.itpub.net/386227,1.html经常看到有人说看到temporary tablespace空间不释放等等的问题,整理一篇metalink上的相关文章,入门级的,还算浅显吧。基本上就是翻译了。有疑问的欢迎讨论。参考metalink:Temporary Segments Are Not Being De-Allocated After a Sort(Note:103原创 2013-09-04 11:38:33 · 524 阅读 · 0 评论 -
expdp和exp性能对比与原理分析
1.单进程,两个导出文件C:/Documents and Settings/Administrator>expdp 'sys/aibo@test as sysdba' directory=dpdump dumpfile=expdp1.dp,expdp2.dp tables=(skate.testbind,skate.testbind_tmp,skate.test_idx) filesize=500原创 2013-09-04 11:38:37 · 689 阅读 · 0 评论 -
Oracle 临时表空间过大问题解决-性能调优
查询数据库服务器时,发现数据库服务器磁盘使用空间达到了98%,分析总共的数据文件也不可能达到如此大,经过查询发现原来临时表空间的使用情况达到了 32G,导致磁盘空间使用紧张。搜索了相应的文档与资料后,查出临时表空间主要使用在: - 索引创建或重创建。 - ORDER BY or GROUP BY (这个是‘罪魁祸首’) - DISTINCT 操作。 - UNION & IN原创 2013-09-04 11:38:08 · 1344 阅读 · 0 评论