DDL日志和alert日志有相似的格式和行为。但是只包含DDL语句日志。
oracle只是为数据库组件提供DDL日志,且需要将参数enable_ddl_logging设置为true。

在DDL日志中,每个DDL语句对应一条日志。一种是以xml文件形式、一种是txt文本形式。日志位于ADR目录下的log/ddl子目录。

当开启DDL日志后,将会为以下ddl语句记录ddl日志:

·alter/create/drop/truncate cluster
·alter/create/drop function
·alter/create/drop index
·alter/create/drop outline
·alter/create/drop package
·alter/create/drop package body
·alter/create/drop procedure
·alter/create/drop profile
·alter/create/drop sequence
·create/drop synonym
·alter/create/drop/rename/truncate table
·alter/create/drop trigger
·alter/create/drop type
·alter/create/drop type body
·drop user
·alter/create/drop view

写入日志的ddl语句可能会被截取,可以使用ddl触发器来实现查看整个ddl语句。

示例:

SQL> alter system set enable_ddl_logging=true;

System altered.

SQL> create table t1(id int);

Table created.

SQL>

  

查看xml格式日志:

# more log.xml
<msg time='2017-04-17T20:58:01.218+08:00' org_id='oracle' comp_id='rdbms'
msg_id='opiexe:4695:2946163730' type='UNKNOWN' group='diag_adl'
level='16' host_id='db' host_addr='20.20.20.210'
pid='20234' version='1' con_uid='1'
con_id='1' con_name='CDB$ROOT'>
<txt>create table t1(id int)
<t>
</msg>

  

查看txt格式日志:

# more ddl_DB.log
2017-04-17T20:58:01.218335+08:00
diag_adl:create table t1(id int)

  

创建一个比较长的表:

create table t2(
t1 varchar2(20),
t2 varchar2(20),
t3 varchar2(20),
t4 varchar2(20),
t5 varchar2(20),
t6 varchar2(20),
t7 varchar2(20),
t8 varchar2(20),
t9 varchar2(20),
t10 varchar2(20),
t11 varchar2(20),
t12 varchar2(20),
t13 varchar2(20),
t14 varchar2(20),
t15 varchar2(20),
t16 varchar2(20),
t17 varchar2(20),
t18 varchar2(20),
t19 varchar2(20),
t20 varchar2(20),
t21 varchar2(20),
t22 varchar2(20),
t23 varchar2(20),
t24 varchar2(20),
t25 varchar2(20),
t26 varchar2(20),
t27 varchar2(20),
t28 varchar2(20),
t29 varchar2(20),
t29 varchar2(20),
t30 varchar2(20)
)

 

从日志中可以看出日志发生了truncate:

# more ddl_DB.log
2017-04-17T20:58:01.218335+08:00
diag_adl:create table t1(id int)
2017-04-17T21:00:18.468123+08:00
diag_adl:truncate table wri$_adv_addm_pdbs

  

12C -- DDL日志的更多相关文章

  1. oracle 12c 新特性之(相同字段上的多重索引、ddl 日志、限制PGA的大小、分页查询)

    1. 相同字段上的多重索引   在Oracle 12c R1之前,一个字段是无法以任何形式拥有多个索引的.或许有人会想知道为什么通常一个字段需要有多重索引,事实上需要多重索引的字段或字段集合是很多的. ...

  2. Oracle 12C -- ADRCI查看DDL日志

    $ adrci ADRCI: Release - Production on Tue Nov :: Copyright (c) , , Oracle and/or its affiliates. Al ...

  3. oracle 12c 警告日志位置

    Oracle 12c环境下查询,alert日志并不在bdump目录下,看到网上和书上都写着可以通过初始化参数background_dump_dest来查看alter日志路径,还说警告日志文件的缺省位置 ...

  4. Oracle 12c RAC 日志体系结构的变化

    1    说明 在11g中,查看GRID的日志,会进入$ORACLE_HOM/log. [grid@cndba.cn ~]$ cd $ORACLE_HOME/log/ [grid@cndba.cn l ...

  5. ENABLE_DDL_LOGGING 参数使用 监控对象的DDL(在alter 日志记录DDL语句)

    启用 DDL 日志记录 功能--支持动态调整 alter system set enable_ddl_logging=true; alter system set enable_ddl_logging ...

  6. Hibernate---基础配置之日志信息slf 及搭建日志环境

    slf日志接口, 实现有slf4j nodep, log4j hibernate里我们一般用 log4j,所以删除之前创建的hibernate 包里的 slf4j-nop包, 加入log4j-1.2. ...

  7. MySQL8.0 原子DDL

    Edit MySQL8.0 原子DDL 简介 MySQL8.0 开始支持原子 DDL(atomic DDL),数据字典的更新,存储引擎操作,写二进制日志结合成了一个事务.在没有原子DDL之前,DROP ...

  8. MySQL的日志(一)

    本文目录:1.日志刷新操作2.错误日志3.一般查询日志4.慢查询日志5.二进制日志 5.1 二进制日志文件 5.2 查看二进制日志 5.2.1 mysqlbinlog 5.2.2 show binar ...

  9. MySQL8.0新特性——支持原子DDL语句

    MySQL 8.0开始支持原子数据定义语言(DDL)语句.此功能称为原子DDL.原子DDL语句将与DDL操作关联的数据字典更新,存储引擎操作和二进制日志写入组合到单个原子事务中.即使服务器在操作期间暂 ...

随机推荐

  1. 【AtCoder】ARC080

    C - 4-adjacent 我们挑出来4的倍数和不是4的倍数而是2的倍数,和奇数 然后就是放一个奇数,放一个4,如果一个奇数之后无法放4,然后它又不是最后一个,那么就不合法 #include < ...

  2. Codeforces 514E Darth Vader and Tree 矩阵快速幂

    Darth Vader and Tree 感觉是个很裸的矩阵快速幂, 搞个100 × 100 的矩阵, 直接转移就好啦. #include<bits/stdc++.h> #define L ...

  3. 【CSS3】响应式布局

    准备工作1:设置Meta标签 首先我们在使用Media的时候需要先设置下面这段代码,来兼容移动设备的展示效果: 1 <meta name="viewport" content ...

  4. 【Java】 剑指offer(23) 链表中环的入口结点

    本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 一个链表中包含环,如何找出环的入口结点?例如,在图3.8的链表中, ...

  5. [OpenCV-Python] OpenCV 中视频分析 部分 VI

    部分 VI视频分析 OpenCV-Python 中文教程(搬运)目录 39 Meanshift 和 和 Camshift 目标 • 本节我们要学习使用 Meanshift 和 Camshift 算法在 ...

  6. Couple number

    P1348 Couple number 我其实找规律了的,然后也没仔细分析,这个题多巧妙. C=a^2-b^2=(a+b)(a-b) 对于任意a而言,加减同一个数得到的数的奇偶性相同,故c=奇数或4的 ...

  7. Coredata 单表简单使用

    ** 使用Coredata 工程中的DataModel创建:系统创建.手动创建** ** 使用Coredata需要要导入<CoreData/CoreData.h> ** 1.系统创建(系统 ...

  8. Python3 图像边界识别

    # -*- coding: utf-8 -*- """ Created on Wed Mar 7 11:04:15 2018 @author: markli " ...

  9. Thread中的一些方法

    Thread中的一些方法: currentThread() 返回对当前正在执行的线程对象的引用(实现接口方式时使用). sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠( ...

  10. IdentityServer4-端点

    一.发现端点 二.授权端点 三.令牌端点 四.UserInfo端点 五.Introspection端点 六.撤销端点 七.结束会话端点 一.发现端点 发现端点可用于检索有关IdentityServer ...