首页 > 数据库 >Oracle 12c后enable_ddl_logging的日志位置变化

Oracle 12c后enable_ddl_logging的日志位置变化

时间:2024-08-19 09:48:31浏览次数:11  
标签:12c logging log reposmdb enable ddl 日志

 

Oracle 12c后enable_ddl_logging的日志位置变化

 

先吐个槽,enable_ddl_logging功能是Oracle Change Management Pack 的一部分,需要作为单独的许可证购买,要单独花钱......

开启enable_ddl_logging功能,

在11g中,ddl操作将以XML格式被记录在ADR_HOME/trade/alert_<SID>.log文件中。

在12c及以后,日志位置变成了两个,分别以文本格式和XML格式存储。

具体为:

文本格式:ADR_HOME/log/ddl_<SID>.log

XML格式:ADR HOME/log/ddl/log.xml

其中,两种格式的记录有所区别,特别CDB模式下需要注意一个问题。

以19c为例子,获取ADR_HOME的值,

09:28:11 SYS@reposmdb(770)> col value for a100
09:28:17 SYS@reposmdb(770)> select name,value from v$diag_info where name = 'ADR Home';

NAME                      VALUE
------------------------- ----------------------------------------------------------------------------------------------------
ADR Home                  /u01/app/oracle/diag/rdbms/reposmdb/reposmdb

Elapsed: 00:00:00.00

 

启动enable_ddl_logging功能后,创建一张表(DDL操作)后查看日志,https://www.cnblogs.com/PiscesCanon/p/18366748

09:30:03 SYS@reposmdb(770)> show con_name

CON_NAME
------------------------------
CDB$ROOT
09:30:05 SYS@reposmdb(770)> show parameter enable_ddl_logging

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ----------------------------------------------------------------------------------------------------
enable_ddl_logging                   boolean                           TRUE
09:30:13 SYS@reposmdb(770)> create table zkm ( id int );

Table created.

Elapsed: 00:00:00.01

另外一个窗口查看日志:
[root@reposmdb log]# tail -200f ddl_reposmdb.log
...省略不相关部分...
2024-08-19T09:31:16.089350+08:00
diag_adl:create table zkm ( id int )

[root@reposmdb log]# tail -200f ddl/log.xml 
<msg time='2024-08-19T09:31:16.089+08:00' org_id='oracle' comp_id='rdbms'
 msg_id='opiexe:5154:2946163730' type='UNKNOWN' group='diag_adl'
 level='16' host_id='reposmdb' host_addr='192.168.1.100'
 pid='10658' con_uid='1' con_id='1'
 con_name='CDB$ROOT'>
 <txt>create table zkm ( id int )
 </txt>
</msg>

这里可以看出,文本格式的日志只会记录时间和ddl的语句,不能识别是哪个容器执行的,我试了切换其他容器数据库执行同样的ddl,无法看出区别。

而xml格式则比较详细,可以通过con_name指标看到容器名,从而区别开来,不过我个人感觉内容略显臃肿。

host_addr也并非client ip。

防。

参考:How to Enable and Monitor DDL Logging in 11g and 12c (文档 ID 2254010.1)

标签:12c,logging,log,reposmdb,enable,ddl,日志
From: https://www.cnblogs.com/PiscesCanon/p/18366748

相关文章

  • .NET Core 里的优秀日志框架Serilog、NLog、Log4Net、Microsoft.Extensions.Logging
    在.NETCore中,Serilog、NLog、Log4Net、Microsoft.Extensions.Logging都是流行的日志记录框架,它们各自具有不同的特点和用法。以下是对这些日志框架使用方法的概述:目录1.Serilog2.NLog3.Log4Net4.Microsoft.Extensions.Logging1.Serilog特点:可配置性强,支持链式......
  • Oracle 11g,12c,18c,19,21,23 RU
    https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=6880880数据库补丁详细信息地址:MyOracleSupportNote2521164.1Database19ProactivePatchInformationMyOracleSupportNote2369376.1Database18ProactivePatchInformation.MyOracle......
  • 达梦数据库系列—47.DMHS实现Oracle12C到DM8的同步
    目录1、准备介质2、安装3、准备源端Oracle和目标端DM8软件安装数据库创建打开归档开启附加日志创建辅助表Oracle端安装ODBC创建连接用户创建测试用户和表4、同步配置修改服务配置Oracle到Dm单向同步配置Dm到Oracle单向同步配置5、启动DMHS服务初始装载装载数......
  • dockker部署redis报错(报:WARNING Memory overcommit must be enabled! Without it, a b
    转载博客(机翻):https://ourcodeworld.com/articles/read/2083/how-to-remove-redis-warning-on-docker-memory-overcommit-must-be-enabledHowtoremoveRediswarningonDocker:Memoryovercommitmustbeenabled如何删除Docker上的Redis警告:必须启用内存过量使用Carlos......
  • 16 模块time、datetime、random、hashlib、logging
    1.时间模块time、datetime在python中,表示时间有三种方式:时间戳格式化的时间字符串(FormatString):'2022-03-01'时间元组(struct_time)1.1time模块1.1.1时间戳(time)(1)生成时间戳 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起......
  • 在Windows Server上启用MIC (Enable microphone on VPS with Windows Server)
    在WindowsServer上启用MICEnablemicrophoneonVPSwithWindowsServer我有一台云主机,装有WindowsServer2012R2系统。现有个需求是需要通过本地电脑的麦克风录制音频。找了好多方法,未果,包括微软社区的回答和园内的博客。但下午脑瓜一转弯,更换了下关键词,找到了这篇文章,问......
  • Tenable Nessus 10.8.0 (macOS, Linux, Windows) 发布,新增功能概览
    TenableNessus10.8.0(macOS,Linux,Windows)下载-#1漏洞评估解决方案TenableNessus10.8.0(2024-07-30)发布Nessus试用版自动化安装程序,支持macOSSonoma、RHEL9和Ubuntu24.04请访问原文链接:https://sysin.org/blog/nessus-10/,查看最新版。原创作品,转载请保留......
  • train_test_split 导致 xgboost 忽略“enable_categorical”
    我正在使用xgboost版本2.1.0当使用xgboost.DMatrix()和'enable_categorical'=True将包含类别列的pandas数据帧转换为DMatrix时,所有行为均按预期运行,除非数据帧是sklearntrain_test_split()返回的数据帧,尽管所有列的数据类型仍属于类别。以下代码产生预期的......
  • 【github】使用KeepassXC 解决github Enable two-factor authentication (2FA) 第二因
    下载https://github.com/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi代理地址https://dgithub.xyz/keepassxreboot/keepassxc/releases/download/2.7.9/KeePassXC-2.7.9-Win64.msi由于该软件不允许截图,以下操作参考官网创建数据库 Kee......
  • 常见日志输出目标(Logback | Log4j2 | Java Util Logging)
    常见日志输出目标控制台:日志可以被输出到控制台(终端),通常用于开发和调试阶段。在日志框架中,控制台输出通常由ConsoleAppender(例如Log4j、Logback)配置。日志文件:日志也可以被写入到日志文件中,以便于长期存储和分析。在日志框架中,文件输出通常由FileAppender(例如Log4j、......