调整共享池(zt)
本文对shared_pool各部分的调整讲的比较详细,特记录下来.[@more@]1.共享池中的主要组件 /库缓存(library cache) 主要缓存共享SQL和PL/SQL相关信息 /数据词典缓存(data dictionary cache) 缓存Dictionary objects的信息,用于解析权限,表结构等 /UGA(User global are) 在shared server模式下如果没有配置大池(Larger_pool_size=0)时,UGA会占用shared pool的空间 SGA中除Shared Pool外还有: 大池 如果使用RMAN备份 并行查询 共享服务器时应该配置 另外还有 data buffer cache(ppt第五章), redo log buffer(ppt第七章) 2.调整shared pool
对checkpoint的理解一文的学习
checkpoint的作用是什么? 看这了篇文章受益颇多.http://space.itpub.net/7199859/viewspace-255305[@more@]log switch会触发一个检查点,在检查点完成之前,日志文件是不能够被重用的,状态也就是active,那么什么时间才会inactive?今天对这个问题有了更深的理解:其实通常所说的logfile switch 触发检查点,实际上就是给出一个标记,而并不真正去写脏块。等待增量检查点做到了那个标记,再标识完成。所以触发增量检查点的时机就显的尤为重要:90% OF THE SMALLEST REDO LOGFILE 意味着最后一次增量检查点与当前日志文件末尾所差的redo block数
linux下软raid的实现
raid是当前存储提高安全和性能的主要技术手段,实现raid一般用raid卡实现,也就是硬raid。除此之外,我们还可以用软件来实现raid技术。这篇文章就简单介绍如何用软件实现raid技术(以raid0为例)。参考:http://space6212.itpub.net/post/12157/306986但觉的步骤有点问题,且在生成mdadm配置文件写的不够详细,现整理一下以备后查.[@more@]有两个可以实现软raid的工具:raidtools, mdadm。raidtool,这是在RHEL3中所使用的,但是我在RHEL4中没有找到raidtool,只有mdadm,看来RH也是偏向于使用mdadm的。本文也以mdadm为例讲述。一、查看当前硬
更改主机名称或ip 导致 Oracle10G Web OEM不能正常启动的解决过程(zt)
引用:http://tolywang.itpub.net/post/48/422170[@more@]今天由于修改了Oracle10g 主机的名称,导致了OEM不能正常启动。 报错,找不到文件。 PDM8_NewDB$emctl start dbconsoleTZ set to ROCOC4J Configuration issue. /u01/product/oracle/oc4j/j2ee/OC4J_DBConsole_PDM8_NewDB_wind not found.PDM8_NewDB$然后直接想通过拷贝目录来达到目的,但是由于配置文件中太多地方设计到主机名称,没有办法一一都该。所以只有想办法看看 emca 命令能否重新配置。 测试了一下,果然可以。 详见下面处理过程: 第一步: $ emca -repos recreate -host
对'Consistent Gets',''Physical Reads'和'DB Block Gets'的理解
在Oracle的文档中有这样一段解释:db block gets:Number of times a CURRENT block was requested.consistent gets:Number of times a consistent read was requested for a block.physical reads:Total number of data blocks read from disk. This number equals the value of "physical reads direct" plus all reads into buffer cache. [@more@]---------------------------------------------------------------针对以上3个概念进行的说明解释及关系如下:1、DB Block Gets(当前请求的块数目)当前模式块意思就是在操
Table 参数总结 (ZT)
关于Oracle Tables 的一些基础知识: Ref: http://spaces.msn.com/sunmoonking/[@more@]1.BUFFER POOL SQL> CREATE TABLE wwm_test(ID NUMBER(9)) STORAGE (BUFFER_POOL DEFAULT);Table created.1* SELECT TABLE_NAME,BUFFER_POOL FROM USER_TABLES WHERE TABLE_NAME='WWM_TEST'SQL> / TABLE_NAME BUFFER_------------------------------ -------WWM_TEST DEFAULTSQL> ALTER TABLE WWM_TEST STORAGE(BUFFER_POOL RECYCLE);Table altered.SQL> SELECT TABLE_NAME,BUFFER_POOL FROM USER_TABLES WHERE TABLE_NAME='WWM_TEST';TA
oracle内核参数意义
shmmax - 共享内存段,建议设大点, 达到最大SGAshmmin - 最小的共享内存段.shmmni - 共享内存标志符的数量.shmseg - 一个进程可分配的最大内存段数.shmall - 最大可允许的内存数,比SGA还要大.semmns - 信号量,跟ORACLE的PROCESS数有关.semmsl - 一个信号量中最大的信号量数. [@more@]
什么时候使用绑定变量性能反而更差
转自http://www.hellodba.com/Doc/Oralce_no_bind_variable.htm[@more@]扫描成本和OPTIMIZER_INDEX_COST_ADJ我们知道,在CBO模式下,Oracle会计算各个访问路径的代价,采用最小代价的访问路径作为语句的执行计划。而对于索引的访问代价的计算,需要根据一个系统参数OPTIMIZER_INDEX_COST_ADJ来转换为与全表扫描代价等价的一个值。这是什么意思呢?我们先稍微解释一下这个参数:OPTIMIZER_INDEX_COST_ADJ。它的值是一个百分比,默认是100,取值范围是1~10000。当估算索引扫描代价时,会将索引的原始代价值乘以这个百分比,将换算后的值作为
理解 oracle 的 “lsnrctl status”(ZT)
from:http://tolywang.itpub.net/post/48/443993[@more@]先看看 lsnrctl status 的输出信息:Services Summary...Service "PLSExtProc" has 1 instance(s).Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for thisservice...Service "catadb" has 2 instance(s).Instance "catadb", status UNKNOWN, has 1 handler(s) for thisservice...Instance "catadb", status READY, has 1 handler(s) for this service...Service "catadbXDB" has 1 instance(s).Instance
实时获得最耗CPU资源的SQL语句(zt)
在Oracle性能诊断和日常监控中,最耗CPU的语句通常也是我们最需要关心的语句。所以在Oracle10g的awr中,将cpu time和elapsed time最高的语句加入到了报表,并且放到了SQL语句部分的前两位。那么在平时的监控中,也可以通过shell脚本实时捕获系统中CPU耗用最多的进程中正在执行的SQL,以更加有效和及时的诊断和发现问题。[@more@]首先写一个根据spid来或者其SQL的脚本get_by_spid.sh[oracle@qht107 test]$ cat get_by_spid.sh#!/bin/ksh# creator:NinGoo# function: get sql statement by spid# parameter: spid# useage: get_by_spid.sh s
VMWARE+OCFS2+ASM+10GRAC实验
花近有10天的时间做了10G的RAC。由于OCFS2和ASM都熟悉时间长的点,不要笑我呀。OS:Linux node1pub 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:27:17 EDT 2006 i686 i686 i386 GNU/LinuxORACLE:10.2.0.1存储的布局:ocfs2 for OCR, CRS voting, ASM for data.VMWARE:Server 1.0.5 build-80187[@more@]实验过程中严重参考:http://blog.chinaunix.net/u/31/showart_518611.htmlhttp://tolywang.itpub.net/post/48/454440vmware-vdiskmanager 创建 pre-allocated并且是lsi contoller的硬盘 1GB一个 for ocfs2 for OCR + CRS votingvmware-vdiskm
取下一个工作日的函数
请问大家有没有取下一个工作日的函数?谢谢了!
简单方法消息行移植和行链接
alter table move可用来消除行移植和行链接,很好用。[@more@]降低HWM,消除行移植和行链接。我们可以用下面的办法来最方便的进行重组,消除row migration: SQL> alter table t add t1 date default sysdate; Table altered. SQL> c/t1/t2 1* alter table t add t2 date default sysdate SQL> / Table altered. SQL> c/t2/t3 1* alter table t add t3 date default sysdate SQL> / Table altered. SQL> analyze table t compute statistics; Table analyzed. SQL> select table_name,num_rows,CHAIN_CNT from user_
LVM的简单学习
在网上看到一些LVM的配置,参考文档做了一些实验。这里记录一下,以后用到方便查询。[@more@]在网上看到一些LVM的配置,参考文档做了一些实验。参考资料: http://www.3800hk.com/Article/os/Linux/xtgllu/2005-08-06/Article_42306.htmlhttp://www.itpub.net/thread-964714-1-1.html1,lvm它用来简化分区管理,因为有时添减硬盘或增删分区,利用fdisk,pq实为不便,故搞来一个lvm,用作os和分区的管理大管家.2,概念:pv ---相当于硬盘或硬盘某个分区vg ---多个pv的集合.lv ---构建于vg上,类似于文件系统(我把它理解对应为windows下的目录)3,
select 语句引起ORA-1555?
今天在日志里看到一个错误,如下:ORA-01555 caused by SQL statement below (SQL ID: 5kn7xufxuvy28, Query Duration=1267 sec, SCN: 0x0000.027686e5):Wed Apr 2 09:42:57 2008SELECT  ...
putty工具打开X窗口的问题
由于经常需要用putty连接到linux上安装oracle和数据库。经常打不开服务器的X窗口,今天想重点解决这方面的问题。[@more@]由于经常需要用putty连接到linux上安装oracle和数据库。经常打不开服务器的X窗口,今天想重点解决这方面的问题。发现用Xshell工具用ROOT登进去后,DISPLAY的值是localhost:10.0,执行xhost +没有问题。[root@linux5-130 ~]# echo $DISPLAYlocalhost:10.0而putty登进去后,DISPLAY没有值,执行xhost +就会出错[root@linux5-130 ~]# echo $DISPLAY[root@linux5-130 ~]# xhost +xhost: unable to open display "&qu
深入浅出oracle锁(ZT)
在网上看到蛮不错的锁介绍,收藏一下。 深入浅出oracle锁---原理篇深入浅出oracle锁---锁阻塞的分析[@more@] 深入浅出oracle锁---原理篇在现代的多用户多任务系统中,必然会出现多个用户同时访问共享的某个对象,这个对象可能是表,行,或者内存结构,为了解决多个用户并发性访问带来的数据的安全性,完整性及一致性问题,必须要有一种机制,来使对这些共享资源的并发性访问串行化,oracle中的锁就可以提供这样的功能,当事务在对某个对象进行操作前,先向系统发出请求,对其加相应的锁,加锁后该事务就对该数据对象有了一定的控制权
遇到10G的一个bug
前段时间在检查表空间使用情况时发现db file free space的大小大于file的大小。导致在toad下看到的使用率为负的,考虑到应该是10G的一个bug, 因为这个表空间前段时间删除了大量的数据,后又导进来许多数据。经过验正,真是的Bug,Bugno: 5083393[@more@]OS是RHEL4 Update 4SYS @orcl>select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - ProdPL/SQL Release 10.2.0.3.0 - ProductionCORE 10.2.0.3.0 ProductionTNS
datafile的未使用率大于100%
真是奇怪呀,oracle版本是10G R2,free的空间大于总空间了,怎么回事?SQL> SELECT a.tablespace_name,b.FILE_NAME, b.size_kb, a.free_kb, 2 &n...
执行dbms_stats需要什么权限
赋了DBA,但在SQLPLUS里没有权限执行dbms_stats,需要什么样的权限显式的赋给这个用户?