How to disable database link in Oracle? (如何禁用数据库dblink )

前几天有人问到是否有办法禁用Oracle database link?是的, 有时出于安全、性能、防止SCN传播等原因需要禁用本地创建DBLINK,同时也希望其它库不要DBLINK访问我们的库, 但是只要给其它人提供了本库的用户、密码、监听端口、服务名连接的信息,即使只有create session的权限,对方也可以dblink 从其它库连到本地数据库…

,

Oracle Database 环境整改建议应对 Linux TCP SACK PANIC 内核安全高危漏洞 CVE-2019-11477

在 Linux 内核处理 TCP 网络数据的操作中发现了三个相关的安全漏洞。 其最严重的安全漏洞会被远程攻击者利用在运行受影响软件的系统上触发一个内核崩溃,从而影响到系统的可用性。对于安装现在运行oracle 数据库的环境,anbob建议禁用tcp_sack的方式解决SACK问题高危。

SCN compat no change even Auto-RollOver is enable (SCN 兼容级别未改变)

相信近几个月好些DBA一定都被SCN compat(兼容级别)在2019年6月23日自动从1直接跳级到3的问题搞的紧张兮兮, 现在这个特殊日期已经过去几天,不知道是不是觉的风平浪静有些失望, 最近应该都开始检查是否SCN Compat是否已自动变为3, 在auto rollover未禁用的情况下,还是有些情况下SCN compat当前并没有改变,下面列几种情况。

,

Instance Startup Fails With ORA-00205, ORA-15040 After Applying Patch (安装补丁后实例启动失败)

安装PSU或安装one-off patch补丁时,在relink编译oracle执行文件后文件的group ownership属组可能会发生改变,对比可以和oracle 执行文件相同路径下的oracle0文件(上一版oracle的mv)查看。 当oracle用户和oracle执行文件都没有OS ASM属组如asmadmin时,会无法读取ASM disk.
解决方法,手动修改或使用setasmgidwrap 修改;使用srvctl 启动实例,让oracle自动修改…

, , ,

Script: PostgreSQL 实现字符串拆分 split (二)

几年前写过一篇在oracle 使用oracle函数实现的类似java 语言中的split 拆分功能,这篇改用PostgreSQL实现类型的功能。
在PG提供了两个函数用于拆份字符串:
regexp_split_to_array:它根据正则表达式拆分字符串并将其部分返回到数组中。
regexp_split_to_table:它根据正则表达式将字符串拆分为多个部分,并将其部分返回到表的行中。

, ,

PostGreSQL12 源码安装与字符集修改 (一)

这篇简单的记录PostGreSQL12 (以下简称PG)Binary packages on RHEL 7.3安装过程,与后期的PG DB 和RHEL7 OS字符集修改。

,

Troubleshooting kernel: EXT4-fs warning (device dm-0): ext4_dx_add_entry: Directory index full!

The following error message is displayed in the database host operating system log of a customer today.

kernel: EXT4-fs warning (device dm-0): ext4_dx_add_entry: Directory index full!

, ,

Troubleshooting ORA-600 [kcrfw_search_blklctn: Dead loop] and more about NSA process

Starting with 11gR1, Oracle Data Guard asynchronous redo transport will read redo directly from the in-memory log buffer, provided that the requested redo blocks still reside in the log buffer, start 11g R2 use NSA backgroup process do that.

, ,

Scripts: Tablespace Report for Oracle 12c Multitenant Database

You can use this SQL script to report tablespace space details in 12c Multitenant database.

Wait Event: buffer deadlock

Buffer Deadlock is very typical wait event and not so much seen in database. But when you are encountering with this mysterious wait then you would see the effect of wait and performance bottleneck of the server.

Troubleshooting sqlplus logon instance slow and Swap usage high even memory is 50% free

A few days ago, I encountered a case, a 11.2.0.4 three-node Oracle RAC database on RHEL 6.6 , when trying to login to the database instance using sqlplus “/ as sysdba” on the third node, It’s very slow, and vmstat show that there is a very large swap in and out, but there is still a lot of memory free space

,

Troubleshooting Out-Of-Memory(OOM) killer db crash when memory exhausted

If kernel can not find memory to allocate when it’s needed, it puts in-use user data pages on the swap-out queue, to be swapped out. If the Virtual Memory (VM) cannot allocate memory and canot swap out in-use memory, the Out-of-memory killer may begin killing current userspace processes.

Oracle12c R2注意事项: Active DataGuard logon fail with ORA-00604& ORA-04024

一套12c R2 4-nodes Oracle RAC on RHEL 7的环境,已安装0417 RU。 该库有一套Phyical DataGard, 同时也是GoldenGate的target端,存在一个replicat 进程同步数据,因为OGG的认证导致ADG hang最终使归档删除失败。

, ,

MySQL 5.7 使用diagnostics() Procedure生成”AWR” Report

Oracle Database有强大的AWR报告分析整体的服务器性能问题, 但是MySQL之前是没有的,需要自定义大量的脚本生成监控数据, 从MySQL 5.7 (5.7.9)开始,可以使用sys.diagnostics()存储过程依赖于PERFORMANCE_SCHEMA,生成类似于Oracle AWR一样的MySQL性能报告。

Troubleshooting Internal error ora-600 [kxspoac : EXL 1] after enable 10503 event

简单记录一下这个内部错误 ora-600 [kxspoac : EXL 1], 环境11.2.0.3 RAC on hpux ia, 这是一个并行查询相关的错误,当启了10503 event后并行查询带绑定变量的SQL时有可能会出现此错误。

,

query dba_free_space(tablespace usage) slow after upgrade 12c R2

前不久有个下线EXADATA并同时从11g R2 升级12C R2的案例,反应升级12c后明显感觉原来查询表空间使用率的脚本时间比升级前长了很多, 要花好几分钟, 这种情况时通常是因为recyclebin$回收站中的对象太多,清理回收站解决, 但是这次的回收站并无多少对象(<100), 这是一个50 TB左右的数据库,有350个左右的数据文件。

,

Oracle12c R2注意事项: SCM0进程的CPU使用率高

本篇是12c版本中cpu high的第三种情况: scm0进程占用较高的cpu使用率,(Distributed Lock Management )DLM Statistics Collection and Management从属(SCM0)后台进程负责收集和管理全局入队服务(GES)和全局缓存服务(GCS)的统计信息。如果在数据库中启用了DLM统计信息收集此进程(scm0)才会存在…

, ,

Oracle12c R2注意事项: 多个”/usr/bin/ssh -o StrictHostKeyChecking… /sbin/ifconfig -a”进程导到CPU使用高

为了当分析节点重启和节点驱逐故障时,避免因缺少网络和操作系统级信息无法定位,引入diagsnap并与GI集成,diagsnap是12.1.0.2 GI引入的新进程,CHM的osysmod管理diagsnap资源,该资源收集弥补CHM通常不收集的其他OS统计信息…

,

Oracle12c R2注意事项: 大量crsctl.bin进程cpu使用率高,等待crs call completion

前不久遇到的一个问题,一套12.2的RAC环境, CPU使用率高,使用top可以看到有大量crsctl.bin进程导致, sys cpu占用了大部分, 如果从数据库内查看等待会伴随着wait event “crs call completion”,

,

How to release still “killed“ status session in v$session? (释放killed的session) (四)

继续一个killed无法释放的案例, 环境是11.2.0.4 2nodes-RAC on SELS11, 开始是数据库突然出现了非常高的负载wait event是“enq: SV – contentio”,“row cache lock”,“enq: SQ – contention ”, 因为这个事件KILL了一批进程,后期发现有个进程始终是KILLED状态,并且同时影响后期的AWR都无法生成。