随笔 - 832, 文章 - 0, 评论 - 46, 阅读 - 156万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

07 2012 档案

摘要:表空间的空间监控表空间的空间使用其实是一个需要特别注意的问题,因为数据文件不可扩展而导致表空间的空间不够,可能导致无法写入任何新的数据,而甚至导致数据库的停止。以下的语句可以监控表空间的空间利用情况,如果使用了9i的完全临时表空间,则加入后半部分用于检测临时表空间。SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) &q 阅读全文

posted @ 2012-07-31 17:33 徐正柱- 阅读(1837) 评论(0) 推荐(0) 编辑

摘要:概述1、描述数据库的逻辑存储结构----表空间(TABLESPACE)2、描述字典管理表空间(DMT)的特性以及相应缺点3、描述字典管理表空间的优化方法4、描述本地管理表空间(LMT)的特性以及相应优点5、描述9i新的表空间类型以及相应优化6、描述段自动管理表空间的特点7、描述10g新的表空间的特点及相应优化一、表空间的作用与分类表空间是数据库中最大的逻辑存储结构,为数据库提供使用空间,其对应物理结构是数据文件,一个表空间可以包含多个数据文件,但是一个数据文件只能属于一个表空间。表空间所包含的数据文件的大小,也就决定了表空间的大小,所以,表空间也是逻辑结构连接到物理结构的一个纽带。既然表空间为 阅读全文

posted @ 2012-07-31 17:30 徐正柱- 阅读(730) 评论(0) 推荐(0) 编辑

摘要:一、 Oracle数据库I/O相关竞争等待简介当Oracle数据库出现I/O相关的竞争等待的时候,一般来说都会引起Oracle数据库的性能低下,发现数据库存在I/O相关的竞争等待一般可以通过以下的三种方法来查看Oracle数据库是否存在I/O相关的竞争等待:ØStatpack报告中在"Top 5 Wait Events"部分中主要都是I/O相关的等待事件。Ø数据库的等待事件的SQL语句跟踪中主要都是I/O相关的等待事件的限制。Ø操作系统工具显示存储数据库文件的存储磁盘有非常高的利用率。数据库如果发现存在I/O竞争,那我们就必须要通过各种方法来调 阅读全文

posted @ 2012-07-31 17:26 徐正柱- 阅读(1009) 评论(0) 推荐(0) 编辑

摘要:本文讨论的是oracle中关于table的HWM的内容,主要包括这样几个内容: 1. 什么是HWM?2. HWM是如何移动的。3. HWM对于性能的影响4. 何时应该降低以及如何降低HWM5. 其他一些影响HWM的操作除了特殊注明,本章内容所有的实验都基于:win2000,oracle9201,bolcksize 8K的实验环境。一、什么是HWMHWM(high water mark),高水标记,这个概念在segment的存储内容中是比较重要的.简单来说,HWM就是一个segment中已使用和未使用的block的分界线.在oracle的concept中对于HWM的说明是这样的:在一个segme 阅读全文

posted @ 2012-07-31 17:21 徐正柱- 阅读(694) 评论(0) 推荐(0) 编辑

摘要:一、 行迁移/行链接的简介在实际的工作中我们经常会碰到一些Oracle数据库性能较低的问题,当然,引起Oracle数据库性能较低的原因是多方面的,我们能够通过一些正确的设计和诊断来尽量的避免一些Oracle数据库性能不好,Row Migration (行迁移) & Row Chaining (行链接)就是其中我们可以尽量避免的引起Oracle数据库性能低下的潜在问题。通过合理的诊断行迁移/行链接,我们可以较大幅度上提高Oracle数据库的性能。那究竟什么是行迁移/行链接呢,先让我们从Oracle的block开始谈起。操作系统的最小读写操作单元是操作系统的block,所以当创建一个Ora 阅读全文

posted @ 2012-07-31 17:09 徐正柱- 阅读(393) 评论(0) 推荐(0) 编辑

摘要:1.查询锁的信息SELECT A.OWNER 方案名, A.OBJECT_NAME 表名, B.XIDUSN 回滚段号, B.XIDSLOT 槽号, B.XIDSQN 序列号, B.SESSION_ID 锁表SESSION_ID,... 阅读全文

posted @ 2012-07-30 17:31 徐正柱- 阅读(1226) 评论(0) 推荐(0) 编辑

摘要:1.查询普通行的数据所占空间:表:DIM_USAGE如表结构:create table DIM_USAGE( USAGE VARCHAR2(20), USAGE_NAME VARCHAR2(120))求所有记录行所占空间:select 3+vsize(USAGE)+1+nvl(vsize(USAGE_NAME),0)+1 from DIM_USAGE;2.查询含有 BLOB字段的空间大小select dbms_lob.getLength(ATTACHMENT_CONTENT)/1024 ||'KB' from TOP_ATTACHMENT_CONTENT a; 阅读全文

posted @ 2012-07-27 16:47 徐正柱- 阅读(372) 评论(0) 推荐(0) 编辑

摘要:一、将一条记录复制成多条相同记录select codefrom(select '001,002,003,004,005,' as code from dual)connect by level<=5;二、实现将一串字符转换成行记录select regexp_substr(code,'[^,]+',1,level) code,levelfrom(select '001,002,003,004,005,' as code from dual)connect by level<=5结果:code level001 1002 2003 300 阅读全文

posted @ 2012-07-27 16:38 徐正柱- 阅读(335) 评论(0) 推荐(0) 编辑

摘要:dba_tables中的avg_row_len是如何被计算的 =========================================================== 收集信息时avg_row_len被计算,使用analyze 和dbms_stats搜集时计算avg_row_len的差别在于后者不考虑row header占用的3个bytedoc如下:http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/schema.htm#sthref720C:>sqlplus xys/managerdba_table 阅读全文

posted @ 2012-07-26 16:58 徐正柱- 阅读(909) 评论(0) 推荐(0) 编辑

摘要:http://www.cnblogs.com/suredandan/archive/2012/09/20/2696124.html 1、什么是锁 锁是控制“共享资源”并发存取的一种机制。注意这里说“共享资源”而不仅指“数据行”,数据库的却在行一级对表的数据加锁,但是数据库也在其它地方对各种资源的并发 阅读全文

posted @ 2012-07-25 18:02 徐正柱- 阅读(429) 评论(0) 推荐(0) 编辑

摘要:EXECUTE IMMEDIATE解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块。它的动态创建和执行 SQL语句性能超前。使用技巧1、EXECUTE IMMEDIATE将不会提交一个DML事务执行,应该显式提交 假如通过EXECUTE IMMEDIATE处理DML命令,那么在完成以前需要显式提交或者作为EXECUTE IMMEDIATE自己的一部分。假如通过EXECUTE IMMEDIATE处理DDL命令,它提交所有以前改变的数据。2、 EXECUTE IMMEDIATE不支持返回多行的查询,这种交互将用临时表来存储记录或者用REF 游标。3、当执行SQL语句时,后面不要加分号. 阅读全文

posted @ 2012-07-25 16:15 徐正柱- 阅读(405) 评论(0) 推荐(0) 编辑

摘要:导致表的执行计划做全表扫描的原因:u SQL谓词列没有建相应的索引u 谓词列建有相应的索引,但执行计划没有使用Oracle不使用b*tree索引的情况大致如下1:where条件中和null比较可能导致不使用索引2:count,sum,ave,max,min等聚集操作时可能导致不使用索引3:显示或者隐式的函数转换导致不使用索引4:在cbo模式下,统计信息过于陈旧导致不使用索引5:组合索引中没有使用前导列导致没有使用索引6:访问的数据量超过一定的比例导致不使用索引下面就其中的几点做一些说明一:Null可以使用索引吗一般情况下,where条件中和null比较将会导致full table scan,实 阅读全文

posted @ 2012-07-25 16:07 徐正柱- 阅读(964) 评论(0) 推荐(0) 编辑

摘要:从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。可以通过以下查询这个JOB的运行情况:select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'其实同 阅读全文

posted @ 2012-07-25 15:51 徐正柱- 阅读(423) 评论(0) 推荐(0) 编辑

摘要:ORA-01628:max # of extents num reached for rollback segment num 产生原因:这种错误通常为一个回滚段和一个表空间已经达到MAXEXTENTS参数设置的极限。要注意的是这个MAXEXTENTS不是该回滚段或表空间的硬件极限,硬件极限取决于数据库创建时在init.ora文件中指定的DB_BLOCK_SIZE参数的值。 解决方法:使用SQL命令ALTER TABLESPACE…STORAGE(MAXEXTENTS XXXX)来增加 MAXEXTENTS,其中“XXXX”值必须大于错误信息中所指的数值,但不能大于LARGES... 阅读全文

posted @ 2012-07-16 17:27 徐正柱- 阅读(4880) 评论(0) 推荐(0) 编辑

摘要:ORA-01578:Oracle data block corrupted(file # num,block # num) 产生原因:当ORACLE访问一个数据块时,由于1、硬件的I/O错误;2、操作系统的I/O错误或缓冲问题;3、内存或paging问题;4、ORACLE试图访问一个未被格式化的系统块失败;5、数据文件部分溢出等上述几种情况的一种引起了逻辑坏块或者物理坏块,这时就会报ORA-01578的错误。 解决方式:由于ORACLE只有在访问到有问题的数据文件时才会报错,所以报错的时间有可能会比实际出错的时间要晚,如果ORA-01578出错信息提示数据坏块指向的是用户自己的... 阅读全文

posted @ 2012-07-16 17:25 徐正柱- 阅读(3042) 评论(0) 推荐(0) 编辑

摘要:ORA-01652:unable to extend temp segment by num in tablespace name 产生原因:ORACLE临时段表空间不足,因为ORACLE总是尽量分配连续空间,一但没有足够的可分配空间或者分配不连续就会出现上述的现象。 解决方法:我们知道由于ORACLE将表空间作为逻辑结构-单元,而表空间的物理结构是数据文件,数据文件在磁盘上物理地创建,表空间的所有对象也存在于磁盘上,为了给表空间增加空间,就必须增加数据文件。先查看一下指定表空间的可用空间,使用视图SYS.DBA_FREE_SPACE,视图中每条记录代表可用空间的碎片大小: ... 阅读全文

posted @ 2012-07-16 17:23 徐正柱- 阅读(5062) 评论(0) 推荐(0) 编辑

摘要:ORA-01650:unable to extend rollback segment NAME by NUM intablespace NAME 产生原因:上述ORACLE错误为回滚段表空间不足引起的,这也是ORACLE数据管理员最常见的ORACLE错误信息。当用户在做一个非常庞大的数据操作导致现有回滚段的不足,使可分配用的回滚段表空间已满,无法再进行分配,就会出现上述的错误。 解决方式:使用“ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file”命令向指定的数据增加表空间,根据具... 阅读全文

posted @ 2012-07-16 17:20 徐正柱- 阅读(487) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示