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,需要什么样的权限显式的赋给这个用户?
有没有办法判断某个存储过程是否在运行?
有没有某个视图来查看某个procedure或funtion 在运行?请不要说这个要求不合理,且这个很重要,用v$session和v$sqlarea去关联的话,因为不知道现在运行到这个procedure的哪条语条了,所以无法判断。谢谢各位了!...
怎样加密procedure
Oracle提供Wrap工具,可以用于加密你的Package等.不过需要注意的是,加密后的代码无法解密,你需要保管好你的源代码。 10g中,Oracle包DBMS_DDL提供了一个新的函数CREATE_WRAPPED来实现对代码的混淆。[@more@][oracle@linx130 bin]$ cp f_get_rowid.sql f_get_rowid.sql.bak[oracle@linx130 bin]$ wrap iname=f_get_rowid.sql oname=f_get_rowid.plbPL/SQL Wrapper: Release 10.2.0.3.0- Production on Thu Mar 20 09:26:21 2008Copyright (c) 1993, 2004, Oracle. All rights reserved.Processing f_get_rowid.sql to f_get_rowid.plb[or
使用dbms_rowid包获得rowid的详细信息
Rowid中包含了记录的详细信息,通过dbms_rowid包可以获得这些信息.本文通过一个定义自定义函数介绍该package的使用.[@more@]参考:http://www.eygle.com/faq/Use.dbms_rowid.Package.Get.Detail.Of.Rowid.htmRowid中包含了记录的详细信息,通过dbms_rowid包可以获得这些信息.本文通过一个定义自定义函数介绍该package的使用.[oracle@linx130 bin]$ cat f_get_rowid.sqlcreate or replace function get_rowid(l_rowid in varchar2)return varchar2isls_my_rowid varchar2(200);rowid_type number;object_number number;relative_fno nu
Oracle中Kill session的研究
Oracle中Kill session的研究[@more@]Oracle中Kill session的研究参考http://www.eygle.com/faq/Kill_Session.htmSQL> select saddr,sid,serial#,paddr,username,status from v$session where username is not null;SADDR SID SERIAL# PADDR USERNAME STATUS-------- ---------- ---------- -------- ---------- ----------------29EF8638 139 4 29E214B8 SCOTT INACTIVE29EFBEA8 142 25 29E21A70 LJG INACTIVE29EFD178 143 8 29E20F00 SYSTEM INACTIVE29F0FE78 159 3 29E1E6F8 SYS ACTIVE记录kill 之前的paddrSQL> alter system kil
OEM统计的datafile出现负数了
OEM 统计datafile怎么出现负数了?这个表空间之前用掉50%左右,今天将表都truncate掉,现在出现负数了,BUG?Select File Name Tablespace Status Size (MB) Used (MB) Used (%) /oradata/orcl/B4SPACE_01.dbf B4...
Oracle的Nologging何时生效 与 批量insert加载数据速度(zt)
Oracle的Nologging何时生效 与 批量insert加载数据速度(zt)[@more@]一 非归档模式下D:>sqlplus "/ as sysdba"数据库版本为9.2.0.1.0SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 8月 14 10:20:39 2006Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.连接到:Oracle9i Enterprise Edition Release 9.2.0.1.0 - ProductionWith the Partitioning, OLAP and Oracle Data Mining optionsJServer Release 9.2.0.1.0 - Production 当前session产生的redoSQL> create or replace view redo_size2 as