ORACLE未绑定变量和硬解析过多问题处理
可以增加共享池大小,如果从根本解决问题,还需要增加硬件资源。升级oracle版本,优化应用部署等才能根本解决。另外:1、查询分配情况SELECT 'shared pool (' || NVL (DECODE (TO_CHAR (ksmdsidx), '0', '0 - Unused', ksmdsidx),'Total') || '):' subpool, SUM (ksmsslen) BYTES, ROUND (SUM (ksmsslen) ...
SQL解析时间过长的调整 案例一则 [复制链接]
某医院生产库迁移到11.2.0.3后,用户抱怨系统变慢。检查发现,很多复杂SQL的执行很快,但是解析非常慢。整个数据库并不存在任何争用。SQL> SELECT SQL_ID, AVG_HARD_PARSE_TIME_MSFROM(SELECT ROUND(AVG_HARD_PARSE_TIME / 1000, 2) AVG_HARD_PARSE_TIME_MS,&n...
【RAC】使用crsctl工具控制Oracle RAC集群的启停
在安装Oracle RAC集群环境后,与集群有关的进程会自动启动。这样就带来了一个问题,似乎这里有不可控的因素在里面。在默认情况下,主机重新启动后集群进程会随操作系统而启动,因主机在启动的过程中会消耗比较大的资...
rman备份验证(之restore validate)
验证rman备份是否有效首先进入rman命令下执行:1、 验证数据备份restore validate database;2、 验证控制文件备份restore validate controlfile;3、 验证参数文件备份restore ...
Oracle诊断上--Spotlight On Oracle
Oracle诊断上--Spotlight On Oracle Spotlight on Oracle 能让你迅速发现任何性能瓶颈,无论是实时还是历史查询。Spotlight 能鉴别和诊断几千种性能问题,无论是特定用户问题、集中资源SQL事务、 I/O瓶颈、锁定等待或者其它源码问题。Spotlight for Oracle 能自动为每个实例建立正常活动的底线,当检测到性能瓶...
【OCM】Oracle OCM11g 证书+红衣战袍+ID Card+贺喜函=America to China
小结:Oracle OCM11g是一次身体与精神淬炼之旅,这张证书不仅仅是身份象征同时也证明了你的辛勤付出,在此祝福想挑战自我的朋友好运常在,如果有朋友想交流考试和培训情况请加QQ 40354446,我们一起交流进步
ORACLE 使用TRACE进行SQL性能分析
ORACLE 使用TRACE进行SQL性能分析
ORACLE RAC 的滚动升级
Oracle 11g 新特性 --Online Patching (Hot Patching 热补丁)说明http://blog.csdn.net/tianlesoftware/article/details/8214412 Oracle 更新 OPatch 工具版本 的方法说明http://blog.csdn.net/tianlesoftware/article/details/6857059 这里看一下RAC的Patch。 这里是争对DB Patc...
收集Oracle RAC跟踪诊断信息的几个工具
收集rac的跟踪或诊断信息:1、RDA(remote diagnostic agent)4.2或以上metalink:note.359395.1用来收集操作系统和数据库的诊断信息2、RDA-DDT(RAC diagnostic data tool)metalink:note.301138.1用来收集与rac相关的诊断信息,包含oswatcher3、diagcollection.pl:收集10.2 RAC的诊断信息$cd $ORA_CRS_HOME/bin$./diagcollection.pl --collect将自动创建crsData_.tar.gz,ocrData_.tar.gzoraData_.tar.gz,basData_.tar.gz等文件--end-- [@more@]
ORACLE-00600 4194 断电undo损坏处理过程
接上面一篇文章,数据库断电后,启动到mount状态时报ORA-00600: internal error code, arguments: [kcratr1_lastbwr]错误,然后按 startup mount; recover database; alte...
数据迁移中需要考虑的问题
在生产环境中,做数据迁移需要考虑很多的可能性和场景,尽量排除可能发生的问题。我自己总结了下,大体有如下需要注意的地方。1)充分的测试,评估时间,总结经验,提升性能在生产中进行数据的大批量迁移时,充分的测试时必须的。一方面可以根据这些测试积累一些必要的数据作为生产中使用参考,另外一方面可以基于之前的...
Database Replay(数据库重放)
使用数据库重放功能,您可在将系统更改应用于生产系统前,通过在测试系统上重放实际工作量来测试系统更改带来的影响。记录下在某个令人感兴趣的时段(例如高峰时段)之内数据库服务器的生产工作量(包括事务处理并发和依赖性)。使用记录下的数据,在经过适当配置的测试系统上重放工作量。通过将几乎与生产工...
巧用shell脚本生成快捷脚本
在升级的过程中,可能需要准备一些额外的脚本,比如说做数据迁移的时候为了考虑性能,需要做如下的额外工作:1.将部分表置为nologging2.将部分index置为nologging3.将部分foreign key constraint置为disable4.将部分trigger 置为disable在完成数据升级后,再置为logging,enable状态。但是在准备脚本的过程中,总是为...
Linux swap 占用分析脚本
脚本一for i in`cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk'/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps;done |sort -k2nr 脚本二#!/bin/bash # Getcurrent swap usage for all running processes # writtedby xly ...
oracle mutex
了解 Oracle Mutex 虽然Mutex中文翻译为互斥锁,但为了和OS mutex充分的区别,所以我们在本文里称Oracle Mutex为Mutex。 Oracle中的mutex,类似于Latch,是一种低级的串行机制,用以控制对SGA中部分共享数据结构的访问控制。 Oracle中的串行机制有不少,引入它们的目的是避免一个对象出现下述现象:...
ORACLE 硬解析和软解析 软软解析
分类: Oracle当客户端进程,将SQL语句通过监听器发送到Oracle时, 会触发一个Server process生成,来对该客户进程服务。Server process得到SQL语句之后,对SQL语句进行Hash运算,然后根据Hash值到library cache中查找,如果存在,则直接将library cache中的缓存的执行计划拿来执行,最后将执行结果返回该...
巧用shell脚本分析数据库用户
在数据库维护中,可能对于一个陌生的schema,需要了解它的一些情况,可以使用如下的脚本来很快得到一个报告,里面包含了详尽的信息。用户占用的空间,权限,角色和基本配置信息。NAME=`echo $1|cut -d. -f1`if [ -z "$NAME" ] then echo -e "User must be provided: \c"; read NAMEfisqlplus -s $DB_C...
version_count的问题
我们经常会在SQL相关的动态性能视图中遇VERSION_COUNT,这个字段表示这个SQL在shared pool中的版本数,一个SQL语句在library cache中一般是对应一个cursor head和一个cursor body, 其中cursor head包含sql的代码和优...
显示v$sqltext中完整的sql信息
下面的sql,利用v$session视图里的 PREV_SQL_ADDR, PREV_HASH_VALUE列,确定某个SID或者spid对应的完整SQL[@more@]select /*+ ORDERED */ sql_text from v$sqltext awhere (a.hash_value,a.ADDRESS) in( select decode(sql_hash_value,0,PREV_HASH_VALUE,sql_hash_value),decode(sql_hash_value,0,PREV_SQL_ADDR,SQL_ADDRESS)from v$session bwhere b.sid=&SID)order by piece asc或者以操作系统的process ID为参数。select /*+ ORDERED */ sql_text from v$sqltext awhere (a.hash_value,a.ADDRESS) in( select decode(sql_hash_val
oracle10g nested materialized view嵌套物化视图示例
SQL> create table t_emp(empno int,ename varchar2(100),deptno int);Table created.SQL> alter table t_emp add primary key(empno);Table altered.SQL> create table t_dept(deptno int primary key,dname varcha...