Tuning ‘latch free’ & ‘null event’ wait event in Oracle 9i
最近遇到一套9I数据库遇到了性能问题, 现象是数据库主机CPU使用率很高应用响应缓慢,Cpu Idel几乎为0, 从v$session_wait查看数据库当前的活动会话在等待’null event’和’latch free’.
提供综合数据库运维服务与优化方案(不限Oracle MySQL PG GaussDB GoldenDB OceanBase等), 微信/Tel:(+86)134-365-60330
数据库oracle
最近遇到一套9I数据库遇到了性能问题, 现象是数据库主机CPU使用率很高应用响应缓慢,Cpu Idel几乎为0, 从v$session_wait查看数据库当前的活动会话在等待’null event’和’latch free’.
最近一套数据库的2节点半夜突然crash,被1节点驱逐, AGENT 启动DB失败,手动重启CRS启动失败,后来发现日志中的现象与MOS中多篇bug很像但又不是,节点2CRS启动失败,AIX环境,crs日志显示”Policy Engine is not initialized yet”,evmd.log 显示”[gipcretConnectionRefused] [29]”
ORA-31693: Failed to load / unload the data object table “ANBOB” “SDTEMPETL” object is ignored because of the error.:
ORA-29913: error in executing the call ODCIEXTTABLEFETCH
ORA-27163: insufficient memory(内存不足)
修改PUBLIC IP应该就可以,但是应用前期连接数据库存在使用public IP的中件间,而且短时间内无法梳理并修改, 如何及解决CRS启动慢的问题又可以避免中间件或为中间件争取时间梳理? 下面是我的一种方案。
JI enqueue is used to serialize the refresh of a materialized view, JI enqueue is acquired in exclusive mode on the mview base (container) table when the refresh is being performed, it ensures that two or more refresh processes do not try to refresh the same object.
因为某些原因数据字典表不一致,导到该表在查询或导出时都会提示ora-600 [kkpo_rcinfo_defstg:delseg] 错误,因为数据库使用延迟段创建,手动分配segment时提示ORA-600 [25027],对分区做MOVE时会提示ORA-600 [ktadrprc-1], 使用hcheck脚本检查会提示Orphaned TABPART$
source: v$sql_hint NAME VERSION VERSION_OUTLINE INVERSE —————————————- ————————- ————————- —————————————————————- APPEND 8.1.0 NOAPPEND NOAPPEND 8.1.0 APPEND NO_MONITORING 8.0.0 NO_SQL_TUNE 10.2.0.1 DEREF_NO_REWRITE 8.1.0 NESTED_TABLE_GET_REFS 8.1.0 PRESERVE_OID 10.2.0.1 NESTED_TABLE_SET_SETID 8.1.5 NESTED_TABLE_FAST_INSERT 10.1.0.3 INLINE_XMLTYPE_NT 10.2.0.1 REF_CASCADE_CURSOR 9.2.0 NO_REF_CASCADE NO_REF_CASCADE 9.2.0 REF_CASCADE_CURSOR FORCE_XML_QUERY_REWRITE 9.2.0 11.1.0.6 NO_XML_QUERY_REWRITE NO_XML_QUERY_REWRITE 9.2.0 11.1.0.6 FORCE_XML_QUERY_REWRITE IGNORE_WHERE_CLAUSE 9.2.0 OPAQUE_TRANSFORM 10.1.0.3 OPAQUE_XCANONICAL 10.1.0.3 SYS_DL_CURSOR 9.2.0 SQLLDR … Read more
我喜欢在PROCEDURE中增加一些DBMS_OUTPUT输出调试过程,但是只有在控制台运行才可以看到输出, 在11g及之前的版本中使用DBMS_SCHEDLER创建的JOB已经增加了DBA_SCHEDULER_JOB_RUN_DETAILS 视图可以记录一些运行的日志信息如error#,在12C的版本中再增强,同样记录了procedure中使用的DBMS_OUTPUT的输出和ERROR的具体文本…
sys@pdborcl:orcl> CREATE table anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_anbob_com_copyright_t(id int, col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_col_name_largecolumn varchar2(5000));
Table created.
从12c r2 Release起表名和列名的长度限制为128 bytes.
部署GOLDENGATE时发现,当前库中存在较多的长事务,在v$transaction中显示状态一直是ACTIVE, 对于长事务的对OGG的BR或启动抽取位置有较大影响, 奇怪的是这些长事务的起动时间甚至都有3天以上,而且当前会话状态已是INACITVE.而且查看UNDO SEGMENT HEADER上对应的SLOT 的DBA是0x00000000。
因为raw device头上记录的是552959 个块数,但数据文件实际为540640个块数, 所以在oracle 未使用的block都未格式化,但是DBV如果不指定end 截至位置都会扫描, 所以DBV会提示那些都是勘误块, 使用RMAN未发现。
RAW DEVICE可以在增加数据文件时不指定文件大小,可用空间这样通常是RAW Device的实际大小, 但是文件头上不会写入可用块数,表空间块大小会写入, 这种情况下DBV工具无法从文件头正确的获取blocks数,所以产生错误的扫描块数结果。在不指定大小的情况下,如果RAW Device曾经文件头上有记录之前的blocks,RAW device在新加入数据库时也不会擦写该位置,这样后期在使用DBV时的结果就不正确。
SQL> exec lbc_p3(1571747577004035);
———————————————
……………………..Library cache P3 value: 1571747577004035
………………….Library cache P3 value HEX: 5957f00010003
…………………………………Object id: 365951
…………………………………Namespace: 1
……………………………….RequestMode: exclusive mode
ORACLE DB 有时出于硬件维护等情况需要更换主机操作,但IP,DB实例等都未改变, 这时在割接后的机器需要重新部署EM_AGENT , 我通常是离线安装, 离线安装EM ANGENT 12参考我之前的笔记Acquiring Management Agent Software for HPUX&AIX in the Offline Mode(离线安装EM agent),OMS 端原target 不需要删除在重新填加, 但是重部署后的EM_agent 通过emctl status agent 状态会是blocked,这时重新同步一下即可。
很久前在网上发现了一个很好的描述oracle 11g r2 集群软件(CLUSTERWARE)记录启动的视频, 不敢独项, 分享给大家。
在oracle DATAGUARD环境,STANDBY_FILE_MANAGEMENT 参数控制standby database的文件管理。当启用自动备用文件管理时(AUTO),Primary数据库上的操作系统文件添加和删除将在备用数据库上复制。将此参数设置为MANUAL可能会导致MRP进程crash,也可能因为备库的映射错误或磁盘空间不足等原因,中止应用产生gap, 在standby db 的alert日志中可以发现备用数据库出现ORA-01111、ORA-01110、ORA-01157错误,备数据库中创建的文件为UNNAMED or MISSING的文件名。 下面记录修复方法. 错误日志 Errors in file /u01/app/oracle/diag/rdbms/orclstdy/orclstdy/trace/orclstdy_mrp00_11317.trc: ORA-01111: name for data file 11 is unknown – rename to correct file ORA-01110: data file 11: ‘/u01/app/oracle/product/11.2.0.4/db/dbs/UNNAMED00011’ ORA-01157: cannot identify/lock data file 11 – see DBWR trace file ORA-01111: name for data file 11 is unknown – rename to … Read more
ogg 12.2 的安装方式和11是略有差别,之前是解压就OK, 现在是OGG提供了OUI 的安装方式,也可以静默方式,之前的升级是解压覆盖,现在多了一种选择可以像DB一样使用opatch安装,这里简单的记录下安装并给OGG安装PSU的过程。
以后说起360可以脑子里除了闪过一个卖鞋的一个杀毒的,恐怕还要多个DB圈玩意了,360安全卫士相信你并不陌生,界面简捷扫描后打个分,简单说就是”傻瓜式”的操作, 如果数据库上出了这么个东东,你想不想要?还真有个DB360, but not free.
前几天看了篇日志自己一直没注意的小细节,利用开会儿的功夫做了个测试,因为维护的环境数据库中存在数万数十万的分区表, 平时维护时确实应该注意。环境11.2.0.4 这里就展示两个内容
1, 表上不同的分区初始化segment大小,在split partition时的segment大小继承方式。
2, truncate partition 会使手动unusable的分区索引变为usable.
去年在排查SCN 天花板问题修改相关的几个参数时,发现了这个问题,尤其如果是从别人手中接手的数据库,通常从opatch lsinventory 检查数据库的版本和补丁信息,在12C 的版本中也可以使用DBMS_QOPATCH, 但是有一个库发现之前别人挖了个坑实际安装补丁时应试是出错了,但是从opatch lsinventory查看两节点并没有区别 .。。。