Author: mac
-
Know more about CBO Index Cost
近日偶读Joze Senegacnik(他是一名ACE)在OOW 2011上做的《Getting The Best From The Cost Based Optimizer》Presentation(这里可以下载),发现他总结的索引Unique Scan和Range Scan成本计算公式总结地很不错,贴出来共享: Index Unique Scan Cost INDEX UNIQUE SCAN COST = (BLEVEL (1-(OIC/100)) + 1) * (OICA/100) Index Range Scan Cost INDEX RANGE SCAN COST = (BLEVEL + FF*LFBL)*(1-(OIC/100))+ FF*CLUF)* (OICA/100) formula does not include the CPU cost BLEVEL = number…
-
11gR2新特性:Heavy swapping observed on system in last 5 mins.
在11gR2中DBRM(database resource manager,11gR2中新的后台进程,见《Learning 11g New Background Processes》)会在Alert.log告警日志中反映OS操作系统最近5分钟是否有剧烈的swap活动了, 具体的日志如下: WARNING: Heavy swapping observed on system in last 5 mins. pct of memory swapped in [3.07%] pct of memory swapped out [4.44%]. Please make sure there is no memory pressure and the SGA and PGA are configured correctly. Look at DBRM trace file for more details.…
-
11g新特性:hangdiag.sql实例hang诊断脚本
11g中引入了hangdiag.sql 这个脚本来帮助Oracle Support 用来收集诊断实例hang住所需要的diagnostic信息,这个脚本直接存放在11g 以后的$ORACLE_HOME/rdbms/admin目录下,无需用户另外下载。 该脚本用于收集单实例的hang诊断信息还是很不错的,如果是RAC环境的话推荐使用racdiag.sql这个脚本。 值得一提的是 hangdiag.sql会做 11g中独有的(oradebug dump hangdiag_header 1)并将v$wait_chain的源信息x$ksdhng_chains文本形式输出, 之后会做ashdump和systemstate(level 267 可能耗时较长)的dump转储操作,这样获得的trace文件信息就很全面了。 hangdiag.sql: [oracle@vrh2 ~]$ cat $ORACLE_HOME/rdbms/admin/hangdiag.sql Rem Rem $Header: hangdiag.sql 08-jun-2007.02:06:43 amysoren Exp $ Rem Rem hangdiag.sql Rem Rem Copyright (c) 2007, Oracle. All rights reserved. Rem Rem NAME Rem hangdiag.sql – Hang Diagnosis script Rem…
-
BYPASS_UJVC hint in Oracle
The BYPASS_UJVC hint Most views that contain multiple tables joined together are not updateable. However there are some Join Views that are modifiable or updateable (hence “Updateable Join Views” or UJV) according to some pre-defined criteria. These criteria can be found in the manuals here: Oracle® Database Administrator’s Guide 10g Release 2 (10.2) Part Number…
-
利用rowid分块实现非分区表的并行update与delete
大表中海量历史数据的更新与删除一直是令DBA非常头痛的事情,在表已经分区的前提下我们还可以利用并行或者truncate parition等手段来为UPDATE或者DELETE提速, 但是如果对象是普通的非分区对表(non-partitioned heap table)的话,似乎就没有太好的加速方法了, nologging或parallel 对非分区表都没有效果。 之前我也有介绍过一个利用rowid将非分区表分割成指定数量个区间块的方法,见<Script:partition table into rowid extent chunks>;利用该脚本可以获取到这些分割后的区间块的起始rowid和结尾rowid,之后利用between start_rowid and end_rowid的条件构造多条DML语句, 因为这些DML语句所更新的数据都是在互不相关的区间内的,所以可以在多个终端内并行地运行这些DML语句,而不会造成锁的争用或者Oracle并行执行协调(Parallel Execution coordinator ) 所带来的一些开销。 为了加深理解,我们来实践一下<Script:partition table into rowid extent chunks>中提到的方法: SQL> select * from v$version; BANNER —————————————————————- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bi PL/SQL Release 10.2.0.1.0 – Production CORE 10.2.0.1.0 Production TNS…
-
【推荐】Oracle版的The Life of a Query
Jonah H. Harrisx制作的《The Life of a Query (Oracle Edition)》PPT, 对初学Oracle的朋友来说搞懂Oracle是如何处理链接(connection)以及Query Select查询语句是如何被执行地,肯定是十分感兴趣的事情; 这个PPT就由浅入深地介绍了这些知识,这里分享一下: The life of a query (oracle edition) View more presentations from Maclean Liu
-
11g新特性:X$DBGALERTEXT一个很酷的内部视图
以往我们为了管理数据库的便利,总是希望能够利用SQL查询Oracle关键的Alert.log告警日志,在11g以前可以通过创建Alert.log内容的外部表来实现查询日志内容的目的的。 从11g 开始引入了新的ADR(Automatic Diagnostic Repository ADR is a file-based repository for database diagnostic data, such as traces, incident dumps and packages, the alert log, Health Monitor reports, core dumps, and more. It has a unified directory structure across multiple instances and multiple products stored outside of any database. It is,therefore, available for problem diagnosis…
-
Exadata V2 Oracle-Sun Database Machine数据库一体机
以下是Maclean.Liu所编写或收集的有关Exadata V2 Oracle-sun Database Machine(DBM)数据库一体机的汇总文章列表: Oracle Exadata v2的价格 Exadata V2 Pricing 一次Exadata上的ORA-600[kjbmprlst:shadow]故障分析 Exadata Server Hardware Details Exadata用户的困境 My Opinion On Exadata V2 Warning:Even Exadata has a wrong memlock setting Oracle Exadata Database Recommended Patch (BP3) for Bug 10387939 Exadata Database Machine Host的操作系统OS版本 数据仓库:Oracle Exadata和Netezza的比较 Exadata Smart Flash Logging新特性 Database Appliance并非Mini版的Exadata-还原真实的Oracle Unbreakable…
-
12c新特性
以下是Maclean.Liu 所编写或收集的Oracle 12c新特性的文章汇总列表: Oracle 12c coming soon? Oracle Enterprise Manager 12c 新特性:实时Real-Time Addm Oracle Database 12c(12.1) Beta已经开始内部测试 Oracle发布Oracle Enterprise Manager 12c Oracle Enterprise Manager Cloud Control 12c(12.1) OMS&Agent安装图文指南 快速部署Enterprise Manager Cloud Control 12c(12.1) Agent 在OEL 5上快速部署Enterprise Manager Cloud Control 12c(12.1) Dream features in Oracle Database 12g? Gain Total Cloud Control with Oracle Enterprise…
-
Windows上如何禁用TCP/IP自动调优特性
之前有网友在t.askmac.cn提问版上提问关于远程PL/SQL Developer连接Oracle数据库发现查询v$session会hang住的问题,而本地连接(local connection)则可以正常查询。 分析了问题相关的10046 trace和MOS上的一些案例发现可能是由Bug 9087501: SELECT FROM V$SESSION AND SOME OTHER DICTIONARY VIEWS HANG FROM A REMOTE CLIENT 所引起, 该Bug Note 还指出在Windows Vista上存在因为操作系统默认启用了TCP/IP Auto-tuning(TCP Window Scaling)从而可能导致使用如PL/SQL Developer这样的客户端登录数据库后某些查询Hang住的问题。 而在其他Windows版本中(如Win 7)没有默认启用该TCP/IP Auto-tuning特性,所以默认不存在该问题; 看起来Vista还真是一个失败的作品。 该TCP Window Scaling(接收窗口自动调谐级别)用以优化TCP网络的吞吐量,更多信息参考一下文本: TCP Window Scaling For larger window sizes to accommodate high-speed transmission paths, RFC 1323 (ietf.org/rfc/rfc1323.txt) defines window…