两种锁类型:SQ、JQ
最近在一个客户的系统上有时可以观察到不少的“enq: SQ - contention”等待,以前一般都按hash_value、event来group by,再按hash_value来找到相关语句,结果相关的SQL语句中没有看到sequence的影子。查看AWR报告,也找不到sequence。最终简单地查了dba_sequences视图,把cache size为0的都调大了。
最近在一个客户的系统上有时可以观察到不少的“enq: SQ - contention”等待,以前一般都按hash_value、event来group by,再按hash_value来找到相关语句,结果相关的SQL语句中没有看到sequence的影子。查看AWR报告,也找不到sequence。最终简单地查了dba_sequences视图,把cache size为0的都调大了。
所谓的rolling patch,最大的特点在于,允许RAC环境下,不同实例运行在不同的数据库版本上,当然这个不同,指的是打上rolling patch后造成的版本不一致:
This patch could be applied to the boxes in a cascaded fashion and the different instances they could be running with different versions of the code (the patch causes the code diff) and this is specific for certain patches which can be applied and would not affect the SGA structures and heaps. |
比较让人容易误解的是,以为这是一种online patch,可以不用停数据库,在线打。
对listener进行跟踪,产生trace文件,是诊断listener问题不错的手段。可以在listener.ora中添加以下内容来进行跟踪:
TRACE_LEVEL_LISTENER_T = 16 TRACE_FILE_LISTENER_T = LISTENER.TRC TRACE_DIRECTORY_LISTENER_T = /app/oracle/product/9205/network/admin TRACE_TIMESTAMP_LISTENER_T = ON |
1、INTERVAL设置错误引起的ORA-12005错误
INTERVAL函数写得不对,常会引起ORA-12005的报错,alter log中会出现以下报错信息:
我们常常会在不同的数据库中创建相同的表,包括表结构、索引、约束、权限都要相同。这时我一般会用TOAD,因为抓取的语句比较全。但TOAD也有个问题,就是遇到表上对象、分区比较多时,常常会半天没响应,甚至卡死在哪里。还是写个脚本来实现吧:
为防止误操作,日常的查询工作都改用普通用户了,也挺方便的,但普通用户无法直接查询X$表,这里可以间接地采用“视图+同义词”的方式来代替:
Alter system reset用于重置SPFILE中的参数设置,常见的用法,例如我们为获取数据库信息而设置了EVENT参数,收集到相关信息后,需要重置EVENT参数。
站内搜索