随笔分类 -  Oracle

上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要:有不少学习研究Oracle的朋友,苦于没有metalink账号无法下载补丁集等软件;网上曾有总结过安装介质和补丁集的下载地址的文章,可以使用迅雷或快车等软件下载到介质,针对最新的11g release 2和未辑录的平台相关补丁集,进行了一定的补全。Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XPhttp://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.ziphttp://download.oracle.c 阅读全文
posted @ 2011-11-02 00:06 无双的小宝 阅读(12714) 评论(1) 推荐(2) 编辑
摘要:1.查看当前的AWR保存策略select * from dba_hist_wr_control;DBID,SNAP_INTERVAL,RETENTION,TOPNSQL860524039,+00 01:00:00.000000,+07 00:00:00.000000,DEFAULT以上结果表示,每小时产生一个SNAPSHOT,保留7天2.调整AWR配置AWR配置都是通过dbms_workload_repository包进行配置2.1调整AWR产生snapshot的频率和保留策略,如:如将收集间隔时间改为30 分钟一次。并且保留5天时间(注:单位都是为分钟):exec dbms_workload 阅读全文
posted @ 2011-10-22 22:51 无双的小宝 阅读(8227) 评论(0) 推荐(0) 编辑
摘要:Oracle数据库SCN号详解: 系统检查点scn(v$database(checkpoint_change#)) 数据文件检查点(v$datafile(checkpoint_change#)) 数据文件终止scn(v$datafile(last_change#)) 数据文件中存放的检查点 启动scn (v$datafile_header(checkpoint_change#) 1、系统检查点scn 当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。 select checkpoint_change# from v$database 2、数据文件... 阅读全文
posted @ 2011-09-25 23:51 无双的小宝 阅读(3067) 评论(1) 推荐(0) 编辑
摘要:一、要找出最耗资源的sql我们可以首先使用top等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为2796,然后根据这个进程号(v$process.spid)在v$process中找到进程地址(v$process.addr),然后根据这个地址在v$session中找到相应的sid(v$session.sid),然后根据这个sid找到相应的hash alue(v$session. sql_hash_value),然后根据这个hash alue在v$sqltext,$sql,v$sqlarea等视图中找到对应的sql语句(sql_text)。 select * from v$p... 阅读全文
posted @ 2011-09-20 23:05 无双的小宝 阅读(847) 评论(0) 推荐(0) 编辑
摘要:1.分析表与索引(analyze 不会重建索引)analyze table tablename compute statistics 等同于 analyze table tablename compute statistics for table for all indexes for all columns for table 的统计信息存在于视图:user_tables 、all_tables、dba_tables for all indexes 的统计信息存在于视图: user_indexes 、all_indexes、dba_indexes for all columns 的统... 阅读全文
posted @ 2011-08-29 23:19 无双的小宝 阅读(398) 评论(0) 推荐(0) 编辑
摘要:checkpoint扫盲什么是checkpointcheckpoint的作用检查点分类checkpoint相关概念术语RBA(Redo Byte Address), Low RBA(LRBA), High RBA(HRBA)Buffer checkpoint Queues (BCQ)Active checkpoint Queue (ACQ)完全检查点 (normal checkpoint)完全检查点工作过程什么时候发生normal checkpointcheckpoint和SCN有什么关系?增量checkpoint增量checkpoint工作过程发生增量checkpoint的先决条件增量che 阅读全文
posted @ 2011-06-22 22:13 无双的小宝 阅读(3237) 评论(0) 推荐(3) 编辑
摘要:一、操作符优化: 1、IN 操作符 用IN写出来的SQL的优点是比较容易写及清晰易懂,这比较适合现代软件开发的风格。但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别: ORACLE试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。在业务密集的SQL当中尽量不采用IN操作符。 优化sql时,经常碰到使用in的语句,一定要用exist... 阅读全文
posted @ 2011-06-19 20:44 无双的小宝 阅读(427) 评论(0) 推荐(0) 编辑
摘要:BBED是Oracle提供的块编辑器,借助BBED,可以帮助我们更好的理解Oracle的Block的结构。当然,反过来说,也只有更加理解块的结构,才能更好的利用BBED完成某些特殊情况下的灾难恢复。 以下是BBED各个命令的使用,翻译自BBED手册。set dba: 设置当前编辑/浏览的数据块地址,dba的格式:file_id,block_id,如选择4号数据文件的16号数据块:set dba 4,16set filename 设置当前编辑/浏览的文件 set filename '/u01/app/oracle/oradata/orcl/example01.dbf'set fi 阅读全文
posted @ 2011-06-16 17:25 无双的小宝 阅读(5174) 评论(1) 推荐(0) 编辑
摘要:How To Partition Existing Table Using DBMS_Redefinition [ID 472449.1]Modified28-SEP-2010TypeHOWTOStatusMODERATEDIn this DocumentGoalSolutionPlatforms: 1-914CU;This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process and therefore has not been subject to an inde 阅读全文
posted @ 2011-06-11 23:09 无双的小宝 阅读(670) 评论(1) 推荐(0) 编辑
摘要:Oracle ASM 详解ASM:AutomaticStorageManagement,是Oracle主推的一种面向Oracle的存储解决方案,ASM和RDBMS非常相似,ASM也是由实例和文件组成,也可以通过sqlplus工具来维护。ASM实例的创建和删除也可以用DBCA这个命令来操作。在dbca的第一个界面选择配置自动存储管理就可以了。ASM实例需要CSS进程,如果是非RAC环境,在启动ASM实例之前会提示用脚本$ORACLE_HOME/bin/localconfigadd启动CSS。1.ASM实例由SGA和后台进程组成。1.1SGA组成:ASM实例的SGA包括BufferCache,Sh 阅读全文
posted @ 2011-05-03 20:14 无双的小宝 阅读(593) 评论(1) 推荐(0) 编辑
摘要:本文并不是要说明如何把索引标记为不可用(unusable)或者如何使不可用索引恢复到可用状态,而是要看看当索引变成不可用状态时会有什么出现什么情况。在进入主题之前,我们先来简单探讨一下什么是索引。表的索引是按一定顺序(默认为升序排列)存储表列值以及RowID值的数据结构,是供使用者快速查找数据的“指路人”。 可以在索引创建脚本设置设置列排序,如下: create index temp_jp_idx on temp_jp(col1 asc); create index temp_jp_idx on temp_jp(col1 desc); 那RowID又是什么呢?一个RowID就是用来标... 阅读全文
posted @ 2011-04-10 00:08 无双的小宝 阅读(593) 评论(0) 推荐(0) 编辑
摘要:很多软件开发过程中,没有注意合理规划索引,造成一个表上有N多个索引,为后续的维护和优化带来麻烦。因此有时候需要监控已有的索引是否在使用,oracle提供了监控索引是否使用的工具,很简单,简要介绍一下。首先,我们如果是监控一个表上的所有索引,可以这样先生成监控的命令:SQL> select 'alter index '||index_name||' monitoring usage;' from user_indexes where table_name=upper('mpaymentappl');'ALTERINDEX'|| 阅读全文
posted @ 2011-03-09 10:46 无双的小宝 阅读(4434) 评论(0) 推荐(0) 编辑
摘要:当你运用SQL语言,向数据库发布一条查询语句时,ORACLE将伴随产生一个“执行计划”,也就是该语句将通过何种数据搜索方案执行,是通过全表扫描、还是通过索引搜寻等其它方式。搜索方案的选用与ORACLE的优化器息息相关。 SQL语句的执行步骤 一条SQL语句的处理过程要经过以下几个步骤。 1 语法分析 分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2 语义分析 检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3 视图转换 将涉及视图的查询语句转换为相应的对基表查询语句。 4 表达式转换 将复杂的SQL表达式转换为较简单的等效连接表达式。 5 选... 阅读全文
posted @ 2011-03-03 09:55 无双的小宝 阅读(2038) 评论(0) 推荐(0) 编辑
摘要:DBVERIFY工具用来验证数据文件的物理结构。DBVERIFY工具的主要目的是为了检查数据文件的物理结构,包括数据文件是否损坏,是否存在逻辑坏块,以及数据文件中包含何种类型的数据。DBVERIFY工具可以验证ONLINE或OFFLINE的数据文件。不管数据库是否打开,都可以访问数据文件。一个最简单的访问数据文件的例子:E:oracle>dbv file=e:oracleoradataytk92users01.dbf blocksize=8192DBVERIFY: Release 9.2.0.4.0 - Production on 星期四 3月 26 21:17:44 2009Copyr 阅读全文
posted @ 2011-03-02 11:14 无双的小宝 阅读(3275) 评论(1) 推荐(0) 编辑
摘要:处理一个数据库坏块的问题,处理过程纪录如下:1.根据报错的信息,用dbv确认一下,是否真的文件有坏块了,如果有,那继续,用下面的SQL查询出坏块为index还是数据,如果是索引,删除重建即可,如果是数据,那麻烦了,还要进行下一步动作。SELECTSEGMENT_NAME,SEGMENT_TYPEFROMDBA_EXTENTSWHEREFILE_ID=<file_number>and<block_number>BETWEENBLOCK_IDANDBLOCK_ID+BLOCKS-1 2.在做这一步之前,先对数据所在的表进行备份,比如exp或者create newtable等 阅读全文
posted @ 2011-03-02 11:06 无双的小宝 阅读(8426) 评论(0) 推荐(0) 编辑
摘要:在过去的十年中,Oracle已经成为世界上最专业的数据库之一。对于IT专家来说,就是要确保利用Oracle的强大特性来提高他们公司的生产力。最有效的方法之一是通过Oracle调优。它有大量的调整参数和技术来改进你的Oracle数据库的性能。 Oracle调优是一个复杂的主题。关于调优可以写整整一本书,不过,为了改善Oracle数据库的性能,有一些基本的概念是每个Oracle DBA都应该遵从的。 在这篇简介中,我们将简要地介绍以下的Oracle主题: 外部调整:我们应该记住Oracle并不是单独运行的。因此我们将查看一下通过调整Oracle服务器以得到高的性能。 Rowre-sequ... 阅读全文
posted @ 2011-02-23 08:47 无双的小宝 阅读(633) 评论(0) 推荐(0) 编辑
摘要:analyze table tablename compute statistics;analyze index indexname compute statistics;对于使用CBO很有好处,可以使用更可靠的table信息,从而执行计划也可以更准确一些,在10g会自动analyze,之前的版本需要手动定期生成统计信息,,选择合理的执行计划..Oracle的online document这样描述analyze的作用:Use the ANALYZE statement to collect non-optimizer statistics, for example, to:1、Collect 阅读全文
posted @ 2011-02-20 22:06 无双的小宝 阅读(29439) 评论(0) 推荐(0) 编辑
摘要:作者: Fenng | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址: http://www.dbanotes.net/database/oracle_dbms_stats.html保存表或者相关数据对象统计信息的历史数据是个不错的习惯。万一新的分析(ANALYZE 或者 DBMS_STATS) 过后发现统计信息有问题,急于恢复的时候又找不到备份,是个比较糟糕的事情。虽然我在维护的过程中很少使用 DBMS_STATS 来收集数据对象统计信息,不过用这个工具来进行统计信息的管理还是很方便的。首先建立资料库, DBMS_STATS 的具体语法暂且就跳过去了, 毕竟手册上写 阅读全文
posted @ 2011-02-20 22:04 无双的小宝 阅读(333) 评论(0) 推荐(0) 编辑
摘要:我们可以通过视图v$session_wait来查看系统当前的等待事件,以及与等待事件相对应的资源的相关信息,从而可确定出产生瓶颈的类型及其对象。 v$session_wait的p1、p2、p3告诉我们等待事件的具体含义,根据事件不同其内容也不相同,下面就一些常见的等待事件如何处理以及如何定位热点对象和阻塞会话作一些介绍。<1> db file scattered read DB 文件分散读取 (太多索引读,全表扫描-----调整代码,将小表放入内存)这种情况通常显示与全表扫描相关的等待。当全表扫描被限制在内存时,它们很少会进入连续的缓冲区内,而是分散于整个缓冲存储器中。如果这个数目 阅读全文
posted @ 2011-02-20 21:44 无双的小宝 阅读(2152) 评论(0) 推荐(0) 编辑
摘要:log file sync(日志文件同步)等待事件具有一个参数:buffer#。在Oracle Database 10g中,这种等待事件位于Commit等待下面。当处理log file sync等待事件时,注意下面的思想: ◎ log file sync 等待时间和事务中指(提交或回滚)相关 ◎ 当进程在log file sync事件上花费大量时间时,这通常表明过多的提交或短事务。常见的原因、诊断和动作 Oracle 在SGA中的日志缓冲区中记录事务和块的改变,这是成为生理日志(physiological logging)的方法。通过以各种时间进度将内容写入到日志文件,LGWR进程负责在日志缓 阅读全文
posted @ 2011-02-20 21:43 无双的小宝 阅读(15777) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 ··· 9 下一页