首页 > 数据库 >[20241016]Oracle C functions annotations补充.txt

[20241016]Oracle C functions annotations补充.txt

时间:2024-10-16 20:32:49浏览次数:1  
标签:kernel 20241016 tables cache functions library oracle Oracle

[20241016]Oracle C functions annotations补充.txt

--//网站orafun.info可以查询oracle c functions.Created by Frits Hoogland with a little help from Kamil Stawiarski.
--//可以通过它了解oracle 内部C 函数.实际上可以直接下载相关文件,在本地使用.

https://gitlab.com/FritsHoogland/ora_functions/archive/master/ora_functions-master.tar.gz
https://gitlab.com/FritsHoogland/ora_functions

$ ll
total 12828
-rwxrwxr-x. 1 oracle oinstall     1035 2021-01-29 22:06:05 annotate_flamegraph.awk
-rwxrwxr-x. 1 oracle oinstall     2439 2021-01-29 22:06:05 fold_debugtrace.awk
-rw-rw-r--. 1 oracle oinstall   348445 2021-01-29 22:06:05 functions.csv
-rw-r--r--. 1 oracle oinstall   418816 2024-10-16 09:50:45 functions.db
-rwxrwxr-x. 1 oracle oinstall     1630 2021-01-29 22:06:05 lookup.awk
-rwxr-xr-x. 1 oracle oinstall     1660 2024-10-16 09:58:54 lookupx.awk
-rw-rw-r--. 1 oracle oinstall     1679 2021-01-29 22:06:05 readme.md
-rwxrwxr-x. 1 oracle oinstall     3474 2021-01-29 22:06:05 sf.sh
-rw-rw-r--. 1 oracle oinstall 12231272 2021-01-29 22:06:05 symbol_archive_object_19.9.csv
-rw-rw-r--. 1 oracle oinstall    32650 2021-01-29 22:06:05 v_tables_x_tables_mapping.csv
-rw-rw-r--. 1 oracle oinstall    66350 2021-01-29 22:06:05 x_tables_descriptions.csv

--//实际上还有1个sf.sh脚本,它需要本机安装sqlite3。
$ grep ^sqlite3 sf.sh
sqlite3 functions.db "drop table if exists functions;"
sqlite3 functions.db "create table functions (function_name varchar(30), function_sum varchar(60));"
sqlite3 functions.db ".import functions.csv functions"

--//手工执行它后可以建立建立导入表functions。functions.db就是执行脚本sf.sh后建立的文件。
--//注意:你执行完1次后,可以注解前面的这3行.

$ ./sf.sh kgllkal
kgllkal -- kernel generic library cache management library cache lock allocate
-------

--//不过显示与lookup.awk不同。
$ ./lookup.awk -w   kglpn
kglpn : kernel generic library cache management pin
kglpnal : kernel generic library cache management pin allocate
kglpnc : kernel generic library cache management pin pin heaps and load data pieces of a cursor object
kglpnck : kernel generic library cache management pin pin heaps and load data pieces of a cursor object check if latch is held
kglpndl : kernel generic library cache management pin delete data heaps
kglpnds : kernel generic library cache management pin delete state object
kglpnmi : kernel generic library cache management pin migration
kglpnp : kernel generic library cache management pin pin heaps and load data for stored procedures

$ ./sf.sh -w   kglpn
kglpn   pin
kglpnal allocate
kglpnc  pin heaps and load data pieces of a cursor object
kglpnck check if latch is held
kglpndl delete data heaps
kglpnds delete state object
kglpnmi migration
kglpnp  pin heaps and load data for stored procedures

--//还有2个文件。
$ ll *table*
-rw-rw-r--. 1 oracle oinstall 32650 2021-01-29 22:06:05 v_tables_x_tables_mapping.csv
-rw-rw-r--. 1 oracle oinstall 66350 2021-01-29 22:06:05 x_tables_descriptions.csv

--//可以直接使用grep查询:

$ grep -i kglob x_tables_descriptions.csv
X$KGLOB|kernel generic library cache object
X$KGLOBXML|kernel generic library cache object xml (version of x$kglob)
--//oracle 的X表都是大写。加入-i或者直接大写。

$ grep -i 'x$kglob' x_tables_descriptions.csv
X$KGLOB|kernel generic library cache object
X$KGLOBXML|kernel generic library cache object xml (version of x$kglob)
--//如果查询带有$字符,要加入单引号。

--//也可以修改lookup.awk文件,修改文件名实现查询。
$ diff -Nur lookup.awk lookupx.awk
--- lookup.awk  2021-01-29 22:06:05.000000000 +0800
+++ lookupx.awk 2024-10-16 09:58:54.461069120 +0800
@@ -33,14 +33,14 @@
     exit 1
   }
   if ( ARGV[1] == "-w" ) {
-    requested_function = ARGV[2];
+    requested_function = toupper(ARGV[2]);
   } else {
-    requested_function = ARGV[1];
+    requested_function = toupper(ARGV[1]);
   }
   # load functions from csv into array
   PROCINFO["sorted_in"] = "@ind_str_asc";
   FS="|";
-  while ( ( getline < "functions.csv" ) > 0 ) function_array[$1]=$2;
+  while ( ( getline < "x_tables_descriptions.csv" ) > 0 ) function_array[$1]=$2;
   # lookup function annotation starting with <function>
   if ( ARGV[1] == "-w" ) {
     for ( function_from_array in function_array )

$ ./lookupx.awk   'x$kglob'
X$KGLOB : kernel generic library cache object
--//这个的查询特点一定要带单引号,还是grep方便。

$ grep -i alert x_tables_descriptions.csv
X$DBGALERTEXT|debug alert extended information
X$DIAG_ALERT_EXT|diagnostics alert extended. database alert log details
X$KELRSGA|kernel event alert SGA
X$KELRTD|kernel event alert threshold type descriptions
X$KELTGSD|kernel event alert types generator descriptions
X$KELTOSD|kernel event alert types operations descriptions
X$KELTSD|kernel event alert types descriptions
X$KXDCM_OPEN_ALERTS|kernel execution exadata cell metrics open alerts

--//查询v_tables_x_tables_mapping.csv可以知道一些对应关系,不过好像不全。
$ grep -i ir_failure v_tables_x_tables_mapping.csv
GV$IR_FAILURE|X$DBKFDG
GV$IR_FAILURE_SET|X$DBKFSET

$ grep -i '^GV$SESSION|' v_tables_x_tables_mapping.csv
GV$SESSION|X$KSUSE
--//仅仅看到1个X表,实际上关联 x$ksuse , x$ksled , x$kslwt 。


标签:kernel,20241016,tables,cache,functions,library,oracle,Oracle
From: https://www.cnblogs.com/lfree/p/18470843

相关文章

  • [数据集成/数据同步] 基于数据库增量日志的数据同步方案 : Flink CDC/Debezium/DataX/
    1概述简述:CDC/增量数据同步CDC的全称是ChangeDataCapture(增量数据捕获)在广义的概念上,只要能捕获数据变更的技术,我们都可以称为CDC。我们目前通常描述的CDC技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC的技术实现方案基于查询......
  • 【DBA Part03】国产Linux上Oracle RAC安装-升级-ADG-迁移
    本阶段内容如下:01.国产统信UOS-Oracle19c安装配置02.国产龙蜥AnolisOS-Oracle19cRAC集群安装配置03.Linux-Oracle11gR2数据库升级到Oracle19C04.Linux-Oracle11gR2RAC数据库升级到Oracle19cRAC05.Linux-Oracle19cADG容灾配置(1+1+1级联)06.OracleXTTS跨平台数据库迁移0......
  • 【DBA Part01】国产Linux上安装Oracle进行数据迁移
    内容如下:1.1.生产环境RHEL/OELLinux8+Oracle11gR2安装配置1.2.国产麒麟操作系统+Oracle11gR2安装配置1.3.国产麒麟操作系统+Oracle11gR2RAC集群安装配置1.4.Oracle11gR2迁移到国产麒麟操作系统(单机/RAC)本阶段课程项目需求说明:某单位原有两套核心业务fgeduwx:itpux-com,运......
  • 实战!oracle 19c一键安装脚本分享
    #!/bin/bash#一键安装oracle数据库#修改主机名hostnamectlset-hostnamemyoracle#添加主机名与IP对应记录public_ip=$(hostname-I|grep-o-e'[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}.[0-9]\{1,3\}'|head-n1)node_name=$(hostname)echo-e"${public_ip}${no......
  • 20241016 模拟赛总结
    期望得分:100+100+55(?)+0=255实际得分:100+100+0+0=200迷迷糊糊睡了好一会才起来打……感觉打的还行,除了T3时间太紧了,有的错误没检查出来挂分了。。T1简单线性DP。\(f_i\)表示前i个数的答案,\(g_i\)有点抽象,先假设当前在\(p\),\(a_p=i\),\(g_i\)表示的是如果\(p\)......
  • Oracle NUMBER类型可以接受的最大值是多少?
    首发微信公众号:SQL数据库运维原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486498&idx=1&sn=9c2cc6490d3799117366910ef95fbd42&chksm=ea375852dd40d14465adc718841c288fa8941aaf772a8957af9c4107e2d70841b80e5c9a3d98&token=74830047&lang......
  • Oracle 19c OCP 认证考试 083 题库(第2题)- 2024年修正版
    【优技教育】Oracle19cOCP083题库(Q2题)-2024年修正版考试科目:1Z0-083考试题量:85道(线下)通过分数:57%以上考试时间:150min(线下)本文为(CUUG原创)整理并解析,转发请注明出处,禁止抄袭及未经注明出处的转载。原文地址:http://www.cuug.com.cn/ocp/083kaoshitiku/38531279872.ht......
  • oracle 增删改查字段
    在Oracle数据库中,增删改查(CRUD)操作可以通过SQL语句来完成。以下是针对字段(列)的增删改查操作:增加字段:ALTERTABLE表名ADD列名数据类型[约束];删除字段:ALTERTABLE表名DROPCOLUMN列名;修改字段数据类型或约束:ALTERTABLE表名MODIFY列名新数据类型[新约束];查询......
  • 实战!oracle 11g一键安装脚本分享
    分享一个常用的数据库一键安装脚本,大家可以从我的网盘进行下载链接:https://pan.baidu.com/s/1iV-0zeXrwhJxJcm9qA_P_g提取码:apbc脚本内容:#!/bin/bash#一键安装oracle数据库#修改主机名hostnamectlset-hostnamemyoracle#添加主机名与IP对应记录public_ip=$(hostn......
  • Oracle 删除表中的重复数据
    删除表中某列重复的数据,只保留最新或者最旧的一条;替换下列代码中的中文后即可使用。DELETEFROM 去重复的表WHERE IDIN( SELECT ID FROM (SELECTeol.*,row_number()over(partitionBYeol.去重字段ORDERBYeol.排序字段DESC)rn FROM去重复的表eol......