Latch及latch冲突 (zt)
引言 Oracle Rdbms应用了各种不同类型的锁定机制,latch即是其中的一种,本文将集中介绍latch(闩)的概念,理解latch的实现方法并说明引起latch冲突的原因。[@more@]什么是latch Latch是用于保护SGA区中共享数据结构的一种串行化锁定机制。Latch的实现是与操作系统相关的,尤其和一个进程是否需要等待一个latch、需要等待多长时间有关。 Latch是一种能够极快地被获取和释放的锁,它通常用于保护描述buffer cache中block的数据结构。与每个latch相联系的还有一个清除过程,当持有latch的进程成为死进程时,该清除过程就会被调用。
同步vmware时间(ZT)
vmware时间同步问题是一个难题,根据本人使用vmware经验,vmware的时间同步可以有如下几个方法:[@more@]转自:http://space6212.itpub.net/post/12157/450838一、用VMWARE TOOLS同步时间注意:如果是用复制文件的方法创建虚拟系统,最好是在复制完文件之后分别安装VMWARE TOOLS。1) 安装vmware tools在 VMware 控制台上,以 root 用户身份登录。1. 单击 VM,然后选择 Install VMware Tools。2. rac1 — 虚拟机:单击 Install。3. 双击桌面上的 VMware Tools 图标。4. cdrom:双击 VMwareTools-1.0.1-29996.i386.rpm。5. 完成系统准备:单
索引的一点认识(ZT)
转自thomas zhang的杂货铺。http://tomszrp.itpub.net/post/11835/68822[@more@]在使用Oracle的过程,我们就不能考虑性能和SQL优化,而正确的使用索引是优化SQL中的很关键的因素.如果发现Oracle在有索引的情况下而没有使用索引,这并不是Oracle的优化器出错。在有些情况下Oracle确实会选择全表扫描(Full Table Scan),而非索引扫描(Index Scan)。比如: 1、表未做分析或者分析信息太老,导致 Oracle 判断失误.2、根据表拥有的记录和数据块数,实际上全表扫描要比索引扫描更快.对第1种情况最常见的例子,是以下这样的count语句: select cou
Oracle Database Internals FAQ
http://www.orafaq.com/faqdbain.htm[@more@]Oracle Database Internals FAQ$Date: 26-Apr-2002 $$Revision: 1.02 $$Author: Frank Naudé $ WARNING: This FAQ is for informational purposes only. Check with Oracle Support before using the information below. What is the difference between locks, latches, enqueues and semaphores? Where can one get a list of all hidden Oracle parameters? What is a database EVENT and how does one set it? What database events can be set? How can one dump internal database stru
shutdown之前的好习惯(zt)
shutdown之前的好习惯[@more@]今天看到的OTN文档375935.1,讲的时候为什么shutdown immediate有时候会hang住。其中一个原因是因为在shutdown immediate前有大的transaction需要rollback,只能等待事务回滚完毕,数据库达到一致的状态,才能顺利shutdown.因此,shutdown数据库之前最好察看一下是否有大的transaction在运行。select sum(used_ublk) from v$transaction;如果没有心思等待而执行了shutdown abort,则在再次启动数据库时候,startup时要做rollback回滚操作,仍然需要很多时间。长短取决于要回滚的事务的大小。10g> select *
Oracle常用dump命令
Oracle常用dump命令,记录一下备查。[@more@]Oracle常用dump命令,记录一下备查。一.Memory Dumps1).Global AreaALTER SESSION SET EVENTS ‘immediate trace name global_area level n’;1 包含PGA2 包含SGA4 包含UGA8 包含indrect memory2).Library CacheALTER SESSION SET EVENTS ‘immediate trace name library_cache level n’;1 library cache统计信息2 包含hash table histogram3 包含object handle4 包含object结构(Heap 0)3).Row CacheALTER SESSION SET EVENTS ‘immediate trace name row_cache level n’;1 row cache统计信
[转]How to release space from database
How to release space from database这篇文章比较详细,包括回收到HWM,以及如何降低HWM后再继续回收。[@more@]How to release space from database(Step 3-5 only applies to development/testing DB or in an offline production DB, because move table would destroy index.)当然就是resize datafile 了,下面稍微写了一下步骤 How to release space from database(Step 3-5 only applies to development/testing DB or in an offline production DB, because move table would destroy index.)1. Find which tablespace have much fr
PMON failed to acquire latch, see PMON dump
在10.2.0.1+rhel4上碰到一个bug,导致在shutdown数据库时时间较长。[@more@]To implement the solution, execute the following steps::1. In $ORACLE_HOME/network/admin/listener.ora, of the database where the Metadata Repository is to be loaded, add the line:INBOUND_CONNECT_TIMEOUT_LISTENER = 02. In the Oracle Server 10g sqlnet.ora, add the line:SQLNET.INBOUND_CONNECT_TIMEOUT = 03. Stop and restart the database and the listener for the changes to take effect这是metalink上的:Applies to:Oracle Server - Ent
表空间offline,数据文件offline 的区别(ZT)
表空间offline,数据文件offline 的区别[@more@]在对表空间进行offline时,oracle需要针对这个表空间生成检查点,刷新表空间中数据文件的相关事务,更新数据文件头SCN,数据文件SCN,文件终止SCN,达到一致状态,当表空间被再次ONLINE时,oracle会捕捉online时刻的SCN,更新上面各个位置的SCN(当然文件结束SCN号会置为无穷大),将数据文件都打开在对单个数据文件做offline时,是立即offline,此时不会针对数据文件生成检查点,所以数据文件的终止SCN为无穷大,处于不一致状态,数据文件也需要recover,在v$recover_file视图也可以看到这个文件的信息,要想
9i Performance Tuning Guide 读书笔记二(zt)
转自:http://www.heysky.net/archives/2006/08/optimizer_operations_notes.html[@more@]Optimizer OperationsHow the Optimizer Performs Operations How the CBO Evaluates IN-List Iterators 当 IN clause 指定了特定的值,并且在该列上有索引,优化器选择 IN-list iterator。如果有多个 OR clauses 使用相同的索引,那么优化器选择更高效的 IN-list iterator,而不使用 CONCATENATION or UNION ALL。 How the CBO Evaluates Concatenation 当不同的条件使用 OR clause 连接起来,并且不同的条件都可以通过不同
9i Performance Tuning Guide 读书笔记一
转自:http://www.heysky.net/archives/2006/08/9iperformancetuningguide.html[@more@]Introduction to the OptimizerOverview of SQL Processing 1. parser 进行语意和语法分析 2. Optimizer 利用RBO,CBO等方法决定产生查询结果的最有效路径 3. Row Source Generator 从2中接受优化后的方案,并产生SQL的Execution Plan 4. SQL Execution Engine运行该执行计划,并产生查询结果Features that Require the CBO 1. Partitioned tables and indexes 2. Index-organized tables 3. Reverse key indexes 4. Function-based indexes
深入了解oracle的高水位(HWM)
转自http://tolywang.itpub.net/post/48/307529说到HWM,我们首先要简要的谈谈ORACLE的逻辑存储管理.我们知道,ORACLE在逻辑存储上分4个粒度:表空间,段,区和块. [@more@](1)块:是粒度最小的存储单位,现在标准的块大小是8K,ORACLE每一次I/O操作也是按块来操作的,也就是说当ORACLE从数据文件读数据时,是读取多少个块,而不是多少行. (2)区:由一系列相邻的块而组成,这也是ORACLE空间分配的基本单位,举个例子来说,当我们创建一个表PM_USER时,首先ORACLE会分配一区的空间给这个表,随着不断的INSERT数据到PM_USER,原来的这个区容不下插入的数据时,O
free命令的说明(ZT)
对free命令的几个值不太理解,记录一下[@more@]在Linux下查看内存我们一般用command free[root@nonamelinux ~]# freetotal used free shared buffers cachedMem: 386024 377116 8908 0 21280 155468-/+ buffers/cache: 200368 185656Swap: 393552 0 393552下面是对这些数值的解释:第二行(mem):total:总计物理内存的大小。used:已使用多大。free:可用有多少。Shared:多个进程共享的内存总额。Buffers/cached:磁盘缓存的大小。第三行(-/+ buffers/cached):used:已使用多大。free:可用有多少。第四行就不多解释了。区别:第二行(mem)的used/
Oracle 10G 新特性——闪回表
如果某个用户不小心删除了一个十分重要的表,后果将非常严重。在9i中提供的闪回特性只能恢复DML语句造成的影响,而无法恢复DDL语句的影响。DBA只能通过重建一张表,然后从备份数据中导入。[@more@]删除表的恢复利用Oracle 10G中的闪回表的特性,DBA可以轻松完成这项工作,并将影响降到最小。下面就举一个例子说明:创建表: SQL> create table abc (f number(9));表已创建。SQL> create index idx_test on abc(f);索引已创建。SQL> insert into abc values(1);已创建 1 行。SQL> insert into abc values(2);已创建 1 行。SQL&
Oracle内存全面分析(ZT)
转自hellodba 的一篇好文.http://www.hellodba.com/Doc/oracle_memory(1).htm[@more@]Oracle的内存配置与oracle性能息息相关。而且关于内存的错误(如4030、4031错误)都是十分令人头疼的问题。可以说,关于内存的配置,是最影响Oracle性能的配置。内存还直接影响到其他两个重要资源的消耗:CPU和IO。 首先,看看Oracle内存存储的主要内容是什么:程序代码(PLSQL、Java); 关于已经连接的会话的信息,包括当前所有活动和非活动会话; 程序运行时必须的相关信息,例如查询计划; Oracle进程之间共享的信息和相互交流的信息,例如锁; 那些
各种unix平台下iostat与vmstst说明
各种unix平台下iostat与vmstst说明 (ZT)[@more@]一点个人积累,共享出来!Linux下vmstat输出释疑: Vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----r b swpd free buff cache si so bi bo in cs us sy id wa0 0 100152 2436 97200 289740 0 1 34 45 99 33 0 0 99 0procsr 列表示运行和等待cpu时间片的进程数,如果长期大于1,说明cpu不足,需要增加cpu。b 列表示在等待资源的进程数,比如正在等待I/O、或者内存交换等。cpu 表示cpu的使用状态us 列显示了用户方式下所花费 CPU 时间的百分比。us的值
NFS 伺服器(ZT)
鸟哥的书写的不错http://linux.vbird.org/linux_server/0330nfs.php[@more@]
操作Blob类型的方法(zt)
转自http://space.itpub.net/498744/viewspace-281097[@more@]注:下列过程中的参数p_filename为外部文件名称,p_name用于标识唯一的一行1.创建目录utl_dir用于文件的导入、导出create or replace directory utl_dir as 'd:';2.给所有用户赋予读写utl_dir的权限grant write,read on directory utl_dir to public;3.创建测试表blob_test,其中列a为blob类型,b列在实际应用中可以是表的PK列create table blob_test(a blob,b number);4.将外部文件插入blob列CREATE OR REPLACE PROCEDURE insert_blob(p_name varchar2,p_filename varchar2)
关于UNIX和Linux系统下SUID、SGID的解析
如果你对SUID、SGID仍有迷惑可以好好参考一下! Copyright by kevintz. [@more@]由于用户在UNIX下经常会遇到SUID、SGID的概念,而且SUID和SGID涉及到系统安全,所以用户也比较关心这个问题。关于SUID、SGID的问题也经常有人提问,但回答的人一般答得不够详细,加上曾经回答过两个网友的问题,还查了一些资料,决定整理成本文,以供大家参考。限于本人的水平问题,文章中如果有不当之处,请广大网友指正。 一、UNIX下关于文件权限的表示方法和解析 SUID 是 Set User ID, SGID 是 Set Group ID的意思。 UNIX下可以用ls -l 命令来看到文件的
DBA优化之路(zt)
转自:http://www.itpub.net/thread-298019-1-1.html [@more@]做为一个新手dba来讲,有关oracle体系统结构的概念非常重要,如果想比较透彻地理解这些概念,必须做大量的实验,书上得来终觉少,绝知些事要躬行,千万不要在生产库上进行测试哦;如果想从麻烦制造者成长为一个麻烦终结者,只顾自己埋头苦学是不够的,毕竟你的生产环境与学习环境产生的故障很有限,通过在相关论坛上阅读贴子,从网友的经验与教训中汲取营养,拓展发现与解决问题的技巧。独立学习与思考是dba快速成长的关键。许多新手发现系统出现问题或未知的现象,第一时间总是