DBSNMP,SYSMAN,MGMT_VIEW 对EM的影响
修改DBSNMP的密码并不会影响EM的访问。但如果把SYSMAN,MGMT_VIEW 的帐号锁定,会导致Enterprise Manager 无法连接到数据库实例。同样修改SYSMAN,MGMT_VIEW 密码,也将导致EM无法访问,并且系统自动锁定SYSMAN账号。转到$ORACLE_HOME/(host)_(sid)/sysman/config目录下1. 把emoms.properties另存为emoms.properties.oldb. 修改emoms.properties文件找到oracle.sysman.eml.mntr.emdRepPwd=把等于后的加密字串替换成刚才更改的密码;2.找到oracle.sysman.eml.mntr.emdRepPwdEncrypted=TRUE 把TRUE换成FALSE。修改主机名将导致emctl start dbcon
LINUX AIO
从Oracle9iR2开始支持Linux上的异步IO,但是Oracle9iR2和Oracle10gR1中的AIO模块默认是disable的,如果要启用必须relink一下cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk async_onmake -f ins_rdbms.mk ioracle当然,如果要关闭AIO支持,只需要使用async_off选项进行relink即可。在Oracle10gR2中AIO默认已经是开启的了。可以通过ldd或者nm来检查oracle是否已经启用了AIO支持,有输出代表已经启用/usr/bin/ldd $ORACLE_HOME/bin/oracle | grep libaiolibaio.so.1 => /usr/lib64/libaio.so.1 (0x0000003ca9800000)/usr/bin/nm $ORACLE
实时获得最耗CPU资源的SQL语句
地址:http://rdc.taobao.com/blog/dba/html/126_get_top_n_cpu_sql_in_realtime.html在 Oracle性能诊断和日常监控中,最耗CPU的语句通常也是我们最需要关心的语句。所以在Oracle10g的awr中,将cpu time和elapsed time最高的语句加入到了报表,并且放到了SQL语句部分的前两位。那么在平时的监控中,也可以通过shell脚本实时捕获系统中CPU耗用最多的进程中正在执行的SQL,以更加有效和及时的诊断和发现问题。首先写一个根据spid来或者其SQL的脚本get_by_spid.sql#!/bin/ksh# creator:NinGoo# function: get sql statement by spid# paramet
sql 执行计划
第一步:登入sql/plus 执行命令(无先后顺序)set time on; (说明:打开时间显示) set autotrace on; (说明:打开自动分析统计,并显示SQL语句的运行结果) set autotrace traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)二者选一个执行第二步: 输入你要查看的sql 执行方法二先执行 EXPLAIN PLAN FOR select * from dual ;再执行 select * from dual 便可以看到oracle的执行计划了[@more@]第一步:登入sql/plus 执行命令(无先后顺序)set time on; (说明:打开时间显示) set autotrace on; (说明:打开自动分析统计,
优化sql语句
1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. (2) WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件