物化视图的运用案例
最近一公司产品在现网频频导致数据库cpu告警,经查发现是由于应用中"高级搜索"功能的sql语句过于复杂,部分语句如下:select t1.icpcode,t3.spname,t3.spshortname spshortname,T3.SERVIDALIAS,t1.icpservid,t1.servname, t1.servstatus,t1.ServAttr, t1.umflag,T1.servtype,t1.UsageDesc,t1.wwwurl,t1.introURL, t1.ChargeType, t1.Price,t1.ChargeDesc, t1.StartTime starttime,t1.EndTime,nvl(t2.servdesc,t1.servdesc) servdesc , t3.csrtel,T3.CSRURL as spurl, t4.ACCESSMODEID,t1.FREEUSETYPE,t1.OFFLINEDESC,t1.OFFLI
oracle数据库健康检查报告模板
1.文档控制修改记录分发者审阅记录相关文档2.检查总结概要建议3.介绍目标检查方法检查范围4.系统背景数据库配置基于Oracle 数据库的应用5.操作系统性能CPU Utilisation6Paging结论/建议6.数据库配置数据库版本数据库参数运行日志错误检查控制文件Redo LogsTemporary Tablespace表空间管理回滚段结论/建议7.数据库性能数据库实例性能命中率等待事件(Top Wait Events)SORT 信息统计用户回滚信息统计Top SQL by buffer getsTop SQL by physical read其它瓶颈结论/建议[@more@]
日剧《黑鹭/诈欺猎人》故事简介
过年的时候看过一部日剧《黑鹭/诈欺猎人》,虽没看完,但知道其大概情节.如下: 世界上的欺诈师可以分成三类:第一类以骗取人钱财为目的,人称白鹜;第二类以美色布局引君入瓮,人称红鹜;第三种则是前两者的天敌克星,专门以白鹜和红鹜为捕捉对象,人们给予他们一个响当当的名号“黑鹜”。在江湖上有这样一个传说,六年前一个叫黑崎的男子因中了白鹜的局而倾家荡产,这个可怜的男人走投无路之下杀死了自己的妻女并共赴黄泉。据说在这场惨绝人寰的劫难中黑崎家族只有一个人得以逃生。六年后,道上突然多了一个神秘欺诈师,他骗术高超从未失手
HP UNIX系统优化实例
首先,我们利用SAR 工具分析CPU 的利用率,SAR 进行CPU 的利用率分析的命令形式为#sar -u,这时数据是通过sa1 在后台定时生成;或#sar -u 5 100,每隔5 秒取样一次,共取100 次;然后对结果的分析。然后,我们看%idle 列的值,如果为接近零,则再看对应%wio 列的值,如果这列的大于7,则表明系统的磁盘或其他I/O 可能有问题,需要进一步的分析:用iostat 命令分析各个磁盘的传输闲忙状况,如#iostat -t 5 2,每隔5 秒取样一次,共取2 次;用sar -d 命令分析各块设备(磁盘、磁带)活动情况;用sar -b 命令分析系统的缓存的活动情况;用sar -
在HP UNIX中sar的使用
SAR(System Activity Reporter) 系统活动情况报告顾名思义,SAR 工具将对系统的当前状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是: System V-based,在很多的UNIX 版本中都存在; 可以连续对系统取样,获得大量的取样数据; 取样数据和分析的结果都可以入文件; 自己所需的负载很小SAR 也有一个致命的不足,这就是:SAR 不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。在HPUX 中SAR 的语法如下sar [-ubdycwaqvmAMS] [-p psetid] [-o file] t [n]参数说明:-A:所有报告的总和。-u:CP
手机银行产品介绍
手机银行产品介绍手机银行是中国建设银行携手移动通信运营商推出的,基于移动通信数据业务平台的创新银行服务。客户只需将手机号码与建设银行账户绑定,就能让手机演变成贴身移动的理财专户室,随时随地享受中国建设银行的优质服务。手机银行可为客户提供方便快捷的7×24小时贴身理财服务,是“随身携带的银行”。客户可以在手机上轻松实现查询、转账、汇款、缴费、支付、银证转账、外汇买卖、贷记卡和公积金、手机股市、电子商务等业务功能。手机银行申请非常简单,客户只需通过手机或建设银行网站就可注册开通成为手机银行普通用户,即刻
常用的压缩和解压命令案例
下面是我平时常用的解压和压缩文件命令.1.uncompress/compress2.gzip/gunzip3.zip/unzip(tar是打包,将一个目录打包成一个压缩文件,不是压缩)下面是具体的操作记录.[oracle@portal3115 oracle]$ ll moportal*-rw-r--r-- 1 oracle dba 14072832 3月 8 15:47 moportal.dmp.bak-rw-r--r-- 1 oracle dba 5026441 1月 18 01:33 moportal.dmp.Z[oracle@portal3115 oracle]$ uncompress moportal.dmp.Z [oracle@portal3115 oracle]$ ll moportal*-rw-r--r-- 1 oracle dba 14072832 1月 18 01:33 moportal.dmp
(转)PGA自动管理原理深入分析及性能调整
最近在网上看到一遍有关pga的文章,觉得不错,特放在自己的博客中供大家学习! 1. PGA的概念以及所包含的内存结构作为一个复杂的oracle数据库系统来说,每时每刻都要处理不同的用户所提交的SQL语句,获取数据并返回数据给用户。众所周知,解析SQL语句的工作是在oracle实例中的shared pool所完成的。那么对于每个session来说,其执行SQL语句时所传入的绑定变量放在哪里?而且,对于那些需要执行比较复杂SQL的session来说,比如需要进行排序(sort)或hash连接(hash-join)时,这时这些session所需要的内存空间又从哪里来?另外,还有与每个se
#的妙用
在sql*plus中敲命令的过程中, 想不起某个列的名字, 如果取消当前的命令,待查询后再重敲, 那太痛苦了. 当然你可以另开一个sql*plus窗口进行查询, 但下面提供的方法更简单.比如说, 你想查名称带"xxx"的业务信息, 输入了下面的语句:SQL> select icpcode,icpservid2 from service3 where这时, 你发现你想不起来业务名称的列名是什么了.这种情况下, 只要在下一行以#开头, 就可以执行一条sql*plus命令, 执行完后, 刚才的语句可以继续输入SQL>> select icpcode,icpservid2 from service3 where6 #desc service Name
衡量内存闲忙程度的指标
1) 整体内存忙闲指标:buffer cache size: 缓存区在内存开销中占很大比例;page in/out rates;swap in/out rates;可用内存的大小,或用得到内存的大小(available memory size):自由内存的大小(free memory size): what is currently available,it should notbe confuzed with available memory,which does not change during normal sytem operation;swap queue length;2) 单个进程的内存衡量指标:一个进程占用物理内存的大小(resident set size)一个进程占用虚拟内存的大小(virtual set size)VM reads and writes: it can show how many
物理内存和虚拟内存
物理内存(physical memory)(不用阐述了)虚拟内存(virtual memory)virtual memory uses a disk as an extension of RAM so that the effective size of usable memory grows correspondingly. The kernel will write the contents of a currently unused block of memory to the hard disk so that the memory can be used for another purpose. When the original contents are needed again, they are read back into memory.This is all made completely transparent to the user; programs only see the larger amount of memory avail
回滚表空间和回滚段的案例
最近在制作现网报表数据时发觉alert.log中抛如下的异常:"Failure to extend rollback segment 24 because of 30036 conditionFULL status of rollback segment 24 set."这是由于报表数据生成过程中有大量的中间临时数据insert和update,导致回滚空间爆涨,不能及时扩展新的extent.此时有效的解决方案有:1.改进报表数据的生成语句,将大事务化为小事务,多加些commit;2.将部分update语句整合(期间我新加了索引,极大提高报表生成速度);3.及时给回滚表空间添加新的数据文件或resize部分文件;4.新建专有的回滚表空间来对付报表数据的生成
趣味运动会项目及规则
去年底公司举办了一场趣味运动会,我们部门获得了第二名!下面是具体的项目及规则.一、 瞎子敲锣1. 比赛人数及分组:每队6名队员(3男3女),分为三组依次进行2. 比赛赛距:距离6米3. 比赛赛制:按每队在规定时间(5分钟)内敲打锣次数多少排列名次4. 比赛规则:1) 每队队员按1-6号排列(顺序自定),并用眼罩蒙好眼睛,第一名队员持敲锣棒,当听到发令号后,向前走进行敲锣,每名队员敲锣次数为一次(动作),不管敲没敲中,均取下眼罩返回将敲锣棒交给第二名队员,依次类推,直到时间结束2) 每队队员在进行比赛时
(转发)终身受用的4个经典故事
这些天看到一个blog中有这么4个故事,确实很经典,供大家受用! 1.误会: 早年在美国阿拉斯加地方,有一对年轻人结婚,婚后生育,他的太太因难产而死,遗下一孩子。 他忙生活,又忙于看家,因没有人帮忙看孩子,就训练一只狗,那狗聪明听话,能照顾小孩,咬着奶瓶喂奶给孩子喝,抚养孩子。 有一天,主人出门去了,叫它照顾孩子。 他到了别的乡村,因遇大雪,当日不能回来。第二天才赶回家,狗立即闻声出来迎接主人。他把房门开一看,到处是血,抬头一望,床上也是血,孩子不见了,狗在身边,满口也是血,主人发现这种情形,以
临时表空间的探讨案例
对于dba来讲,涉及临时表空间的字典表和动态视图有如下:v$tempfile;v$tablespace;v$tempstat;dba_temp_files;dba_free_space,v$temp_space_headerV$TEMP_SPACE_HEADER:显示每一个临时表空间中每一个文件的聚集信息,涉及每个空间首部中当前使用多少空间和有多少自由空间.分三个方面来进行阐述:1.怎样来查看临时表空间的剩余空间.9i的话,可以采用如下的查询语句:SQL> SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,USED_SPACE "USED_SPACE(M)",2 ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USE
append和nologging的案例
一 非归档模式下C:Documents and Settingsshiyihai>sqlplus /nologSQL*Plus: Release 9.2.0.6.0 - Production on 星期二 2月 27 11:42:43 2007Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.SQL> conn / as sysdba已连接。SQL>当前session产生的redoSQL> create or replace view v_session_redo_size 2 as 3 select value 4 from v$mystat, v$statname 5 where v$mystat.statistic# = v$statname.statistic# 6 and v$statname.name = 'redo size';视图已建立。SQL>SQL> archive log l
v$session中的saddr,paddr和taddr
saddr(session address):表示当前记录的内存地址;paddr(process address):该session对应的进程地址,关联v$process的addr字段,可以通过这个字段查处当前session对应操作系统的那个进程的id;taddr(transation address):当前有活动事务的地址,关联v$transaction表的addr,通过这个字段关联查出当前session正在使用的回滚段的情况,以及当前事务的大小等信息[@more@]
oracle中session跟process的研究
首先看看v$session跟v$process中主要的字段属性:v$session(sid,serial#,paddr,username,status,machine,terminal,sql_hash_value,sql_address,,,)v$process(addr,spid,,,)可看到v$session中的paddr跟v$process中的addr对应,也即会话session在数据库主机上对应进程的进程地址.这里我们要先定位该session正在执行的sql语句,此时我们可以查询如下的语句:select sql_textfrom v$sqltext_with_newlineswhere (hash_value,address) in (select sql_hash_value,sql_address from v$session where sid=&sid) order by address,piece; 若需手工
Oracle 9i 数据库创建手册
主要的环境变量:ORACLE_HOME: /oracle/app/oracle/product/9.2.0ORACLE_SID: ora9iNLS_LANG: American_America.zhs16gbk一、 创建前准备工作 准备好initora9i.ora文件################################################################# Copyright (c) 1991, 2001, 2002 by Oracle Corporation################################################################ ############################################ Cache and I/O###########################################db_block_size=8192db_cache_size=2147483648db_file_mult
整理了一份oracle数据库培训课程大纲
Oracle 9i/10g课程大纲UNIT 1. 数据库基础 及 SQL基础l 课程综述本课程适用于Oracle9i/10g 用户,将向学员提供数据服务器的扩展介绍。课程涉及的概念包括面向关系和面向对象数据库,以及强大的SQL编程语言。 课程将向学员教授创建和维护数据库对象,以及存储、获取和操作数据。同时学员将学会使用像ROLLUP、CUBE、Set运算符和分级获取等高级技术获取数据。学员将学会使用iSQL*Plus工具编写SQL和SQL*Plus脚本文件产生类似报表的示例和动手实践以增强基础概念。l 内容纲要※ 数据库概述 ※ 编写基本的SQL语句 ※ 限制