[20260925]建立完善oname.sql脚本.txt
[20260925]建立完善oname.sql脚本.txt--//tpt 有1个ou.sql脚本,通过对象名查询相关信息,但是没有显示data_object_id,object_id的功能,自己写一个oname.sql脚本,支--//持data_object_id,object_id的显示,并且对象名查询支持正则表达式,这样更加灵活一些,在原来基础上再修改增加--//data_object_id,
[20260925]21c数字对象是什么(补充).txt
[20260925]21c数字对象是什么(补充).txt--//2024年8月事情记得第1次在21c跟踪执行sql语句library cache lock/library cache pin,有点点吃惊.直到现在不理解,现在大部分--//数字对象都知道来自那里,前段时间写了[20260901]表exp_head$的exp_id如何计算.txt,实际上还有1个数字对象无法确定,今天在整--//理笔记
[20260924]避免oracle audit sys operations记录到messages文件2(补充).txt
[20260924]避免oracle audit sys operations记录到messages文件2(补充).txt--//昨天通过修改/etc/rsyslog.conf文件,找到下划线那行,增加;local0.none;local1.none;local2.none如下内容。#*.info;mail.none;authpriv.none;cron.none action(type=&quo
[20260923]避免oracle audit sys operations记录到messages文件.txt
[20260923]避免oracle audit sys operations记录到messages文件.txt--//别人的抱怨,就是/var/log/message记录太多oracle sys用户执行的命令,其实在我看来主要对方不熟悉linux操作系统。--//不过还是仔细看一下是否可以将oracle sys操作记录的相关信息移动到单独的文件。1.环境:SYS@book> @ ver2=
[20260922]gdb下使用catch syscall与break有什么区别.txt
[20260922]gdb下使用catch syscall与break有什么区别.txt--//对于这2种方式有点混淆,在deepseek提问,给出的解答如下:一句话总结:break shmget 是用户态函数断点,通常断在 glibc 的 shmget() 包装函数入口;catch syscall shmget 是系统调用捕获点,断在真正的 shmget 系统调用进入/返回内核的边界。主要区别:
[20260922]bpftrace能否探测点内调用外部命令2.txt
[20260922]bpftrace能否探测点内调用外部命令2.txt--//deepseek给出的解答:方法一:使用 system() 函数(推荐)你可以在断点触发的探针动作中使用 system() 函数来执行 /bin/sleep 3。sudo bpftrace -e 'kprobe:你的断点函数 { printf("断点命中,开始休眠 3
[20260920]skgm表示什么.txt
[20260920]skgm表示什么.txt--//最近通过跟踪shmget,知道oracle内部通过skgmhash函数计算ipcs -m的key值.这里的skgm表示什么意思呢?--//oracle 许多函数采用英文的缩略写.$ ./lookup.awk skgmskgm : operating system dependent kernel generic memory (os depend
[20260920]跟踪那个oracle函数调用shmget(整理版本).txt
[20260920]跟踪那个oracle函数调用shmget(整理版本).txt--//最近测试遇到斜线的问题,导致本地主机无法连接实例,突然想了解共享内存段Key值的计算,肯定是某种hash算法,开始使用--//ora_hash函数盲猜,根本对不上。使用sqlplus登录连接数据库,确定在调用shmget时已经知道对应的key值,想确定到底那个--//oracle内部函数调用shmget,测试遇
[20260919]oracle skgmhash函数的等价C以及python代码(整理版本).txt
[20260919]oracle skgmhash函数的等价C以及python代码(整理版本).txt--//gdb反汇编oracle的skgmhash函数,生成汇编代码,提交给kimi,本来想问它采用什么hash算法,顺便要求生成c或者python代码,主--//要想看看自己是否能读懂。经过反复沟通已经尝试,kimi终于生成正确的c代码。--//我觉得提问时除了给出oracle的skgmhash
[20260918]gdb下如何调用skgmhash函数.txt
[20260918]gdb下如何调用skgmhash函数.txt--//kimi给出的答案:可以,但建议只在测试/可控环境 attach 调用;生产关键进程上直接 call 有把进程搞崩的风险。gdb(gdb) attach <oracle_server_pid>(gdb) p (unsigned int) skgmhash((char *)"u01/app/oracle&q
[20260917]oracle共享内存段Key值的冲突.txt
[20260917]oracle共享内存段Key值的冲突.txt--//接着上午的测试,如果启动数据库前共享内存段的key已经存在呢?先尝试写代码建立1个共享内存段key=0xafa94c20。--//首先自己不熟悉这类编程,代码来自别人的例子:$ cat shmtest.c#include <stdio.h>#include <sys/shm.h>#include <
[20260917]oracle共享内存段Key值的计算4.txt
[20260917]oracle共享内存段Key值的计算4.txt--//前几天遇到斜线引起的问题,突然想了解共享内存段Key值的计算,肯定是某种hash算法,开始使用ora_hash函数盲猜,根本对不上。--//做一个小小的分析尝试,中间遇到许多问题,比如sqlplus登录连接数据库,导致是那个函数调用shmget,在这里浪费了许多时间,--//另外写blog分析。1.环境:SYS@book&g
[20260915]斜杠引起的问题.txt
[20260915]斜杠引起的问题.txt--//再次遇到斜杠引起的问题,只不过这次出现在开头.通过例子说明:1.环境:SYS@book> @ ver1PORT_STRING &n
[20260908]关于spfile参数文件转换pfile文件的问题.txt
[20260908]关于spfile参数文件转换pfile文件的问题.txt--//同事遇到spfile参数文件设置错误,需要建立pfile参数,快速启动数据库。实际上这类问题处理很简单,只不过有时候缺乏必要的--//知识储备,遇到问题有点自乱阵脚。--//我个人工作习惯,喜欢在做大的改动前做一个备份。$ cp spfilebook.ora spfilebook.ora.2026062
[20260903]sqlplus timing命令.txt
[20260903]sqlplus timing命令.txt--//sqlplus 除了set timing on命令,还有1个timing命令设置多个命令一起执行需要多时间。通过简单例子说明问题。1.环境:SCOTT@book01p> @ ver2==============================PORT_STRING &
[20260902]跟踪特定进程sql语句的执行.txt
[20260902]跟踪特定进程sql语句的执行.txt--//利用oracle每次执行前都计算hash值的特性,使用bpftrace写一个跟踪sql语句执行的脚本,--//有点小问题,无论使用str,buf,缺省最大仅仅显示1024字节,无法抓取更长的sql语句。--//可以加入 BPFTRACE_MAX_STRLEN=32768 bpftrace sql <spid> ,这样最大3
[20260902]建立完善md5sum.bt脚本4.txt
[20260902]建立完善md5sum.bt脚本4.txt--//再次做了改进,增加sql语句hash值的计算。$ cat md5sum.btBEGIN{ printf("Tracing Oracle kggmd5Update... Target PID: %d\n", $1); printf("
[20260901]建立完善md5sum.bt脚本.txt
[20260901]建立完善md5sum.bt脚本.txt--//拿以前别人写的md5.gdb脚本,抽取计算MD5的字符串,根据其脚本写一个bpftrace脚本。1.环境:SCOTT@book01p> @ ver2==============================PORT_STRING &
[20260901]表exp_head$的exp_id如何计算.txt
[20260901]表exp_head$的exp_id如何计算.txt--//实际上如何计算表sys.exp_head$的exp_id并不重要,主要目的学习bpftrace脚本,以及那些信息参与运算。1.环境:SCOTT@book01p> @ ver2==============================PORT_STRING
[20260827]sqlplus使用绑定变量与nul字符问题.txt
[20260827]sqlplus使用绑定变量与nul字符问题.txt--//测试绑定变量里有nul字符的情况。1.环境:SCOTT@book01p> @ ver2==============================PORT_STRING &n