预警:2019年ORACLE SCN 兼容性特性( Compatibility)自动改变的影响

Oracle MOS中新发布预警对于版本和对应版本的已安装PSU高于11.1.0.7.20,11.2.0.7.57(for Windows), 11.2.0.3.9,11.2.0.3.29 (for Windows), 11.2.0.3 BP22(for Exadata), 11.2.0.4,12.1.0.2 ,12.2.0.1 的Oracle 数据库, 将在2019年06月23日后自动调整SCN的增长速率为更大的上限,DBLINK 在不同数据库之间访问时会同步SCN, 为了避免不同SCN 上限数据库之间因SCN拒接访问,建议所有DBLINK访问的数据库升级为相同的SCN 兼容性。

, , ,

oracle 12.1 db alert日志显示(:GPNP01002:)Failed to open wallet file

[ GPNP]clsgpnpkwf_initwfloc: [at clsgpnpkwf.c:471] Result: (7) CLSGPNP_IO. (:GPNP01002:)Failed to open wallet file. dir ‘peer’ in ‘/u01/app/12.1.0/grid/gpnp/ccwlracnode01/wallets/’, cannot check wallet home.
2018-03-26 09:23:57.675: [ GPNP]clsgpnpkwf_initwfloc: [at clsgpnpkwf.c:469] (:GPNP01002:)SlfFopen2

Oracle goldengate write syslog(ogg 写系统日志)

在操作系统的message 系统日志中有很多OGG 写入的日志消息, 从v11.1 版本引入syslog 选项可以控制日志的写入,如禁止ogg写系统日志,在ogg 12.3中syslog已被废弃…

Oracle 12/18c 如何重建PDB$SEED PDB?

因为一先特性原因PDB$SEED数据库损坏后,影响使用pdb$seed创建新的PDB, 这里演示了几种修改PDB$SEED的方法:1. 使用建库时保存的脚本
2. 使用rman 恢复pdb$seed(前提有备份)
3. 使用同一个CDB的其它较干净的已存在的PDB创建PDB$SEED(不用备份)
4. 使用其它CDB的PDB$SEED复制PDB$SEED

, ,

What is “_enable_shared_pool_durations” ?

What is the meaning of “_enable_shared_pool_durations” parameter?
With sga_target set, the shared pool and the streams pool have of subpools subpools for 4 durations.
The durations are “instance”, “session”, “cursor”, and “execution”.

,

Oracle 18c 新特性 (一)小特性

当前oracle 18c on-premise 还没正式发布,我只是用XD版简单测试几个小功能::
Feedback sql id
private temporary table
CANCEL SQL statement
SEQUENCE增强
Read-only Oracle Home (ROOH)
DBMS_SESSION.SLEEP
Inline External Table

,

Troubleshooting Instance crash with ORA-29770 LMS is hung on SLES-11

Oracle RAC环境中有时常因为LMS进程取不到足够的CPU而hang,最终在lmhb监控进程发现lms hung超过70秒后而终止实例。lmhb是11G R2引入的RAC环境中新的后台进程,用于监控LMON、LMD、LMSn等RAC关键的后台进程

, , ,

Know more about Temporary Tablespaces ORA-1652 and event 60025 temp space never release

众所周知, oracle临时表空间是用于存储数据库的排序数据和全局临时表数据,tempfile不同于datafile因为不存在控制文件中,在恢复数据库后需要重建tempfile,也可以在standby环境中配置不同的temp表空间。用监控数据表空间间的脚本也许看到临时表空间使用率100%,但并且有时并非真实,DBA_FREE_SPACE 不会记录临时表空间的可用空间,使用v$sort_segments, V$TEMP_SPACE_HEADER 和v$tempseg_usage监控临时表空间的使用,如果临时表空间不足会提示ORA-1652错误。

, ,

ora-600 [kclfadd_1] 安装one-off patch后一个节点无法启动

朋友有套数据库出现了ora-600 [kclfadd_1]引起数据库实例crash, 数据库版本10.2.0.2 2-nodes RAC, 找我帮分析原因,定位BUG后,在不升级版本并安装oneoff patch后,节点2实例无法启动,在startup 过程种从alert log看在提示了一些后台进程启动后,到LCK0 进程启动后没有任何报错挂起,节点1正常

ORA-00600: [kwqidrdq: loop], [0] in Oracle 9i

ORA-00600: [kwqidrdq: loop] reported on dequeue of a message from an Advanced Queueing (AQ) Multi-Consumer Queue Table.

如何创建Snapshot 使用Oracle ILOM Command-Line Interface

Oracle ILOM服务快照工具用于收集Oracle服务人员使用的数据来诊断系统问题,除非Oracle Service要求收集,否则平时我们不用使用该工具。

Exadata Instance crash ORA-600 [ksz_cln_proc1] and restart fail due to breakdown of one CellServer (案例)

cell03存储主机的文件系统异常,导致ASM Hang,数据库实例crash, 虽然是NORMAL级别的冗余,但是数据库实例此时不能于ASM通信,重启CRS进程恢复,可使用剩余的2条CELL继续为数据库提供服务。 在延长了disk_repair_time时间后,等待时间后强置重启CELL03主机操作系统后,一切恢复。

12c R2 RAC instance crash due to CKPT is hung, using Multipathing

12C R2 3Nodes RAC on Linux using multipath 环境的crash总是不定时的crash(几天一次), 使用的是LINUX的多路径软件的默认配置。从日志看是CKPT进程hang超过了70秒所以LMON进程终止了实例, 从CKPT的trace文件中Call Stack看I/O的可能性较大。

案例: RAC Hang wait ‘library cache lock’ & ‘latch: row cache objects’ 在做了大量的表分区DDL后

点1的活动会话已接近4000,几乎全是Library cache lock的会话,blocker session 在等待DFS lock handle ,当shared pool里的对象需要为新的对象释放空间时如sql cursor, LCK进程降低Row Cache 大小期间使数据库临时hang, 因为在RAC环境中LCK进程负责释放持有row cache的用户进程协调工作及Library cache 的请求, 如果LCK出现性能问题也就会导致library cache object无法请求和会话补KILL后的释放row cache堵塞。

, , ,

ORA-600 [2252] & Know more about SCN

数据库当前的请求SCN大于当前最大允许SCN时会提示ORA-600[2252], 最大允许SCN是有本地系统时间决定。一个可能性是本地库主机时间向前调了,还有个可能性是通过DBLINK 分布式事务同步SCN时,远程库 SCN大于本地允许的最大scn.

, , ,

How to choose “non recommended” character sets(US7ASCII、WE8ISO8859P1) in DBCA 11G, 12C or later

We limit the default display of database character sets that can be used for a new database in Oracle Database 11 via DBCA (Database Creation Assistant) based on the recommended list.

,

Oracle 12.2 DB alert show “WARNING: too many parse errors” or “__Oracle_JDBC_internal_ROWID__” in sql

alert log中出现了大量的”WARNING: too many parse errors”,是以前的版本中从未见过,这也是12.2的新特性,自动生成解析失败的信息写入db alert log, 即使没有在数据库启用event 10035,当JDBC 中scroll sensitive resultset 启用时,JDBC驱动就会在用户SQL中自动增加ROWID

, ,

Know more about V$BACKUP_CORRUPTION

The V$backup_corruption view shows corrupted blocks discovered during an RMAN backup. But once the corruption on this blocks has been fixed this view is not updated.

,

Troubleshooting alert log show “Oradism binary does not have root privilege”

alert log frequently show the below worning ———– […]

library cache: mutex X等待事件, blocker session on cpu

library cache: mutex X等待事件是当一个会话以 exclusive mode持有library cache mutex时,另一个会话当前无论何时申请此mutex时必须等待其释放。很多时候对 library cache做不同的操作时都需要申请一个mutex, 所以最重要的是确认mutex的位置”location”, 该位置有助于分析该类等待事件的原因