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. -webkit-line-clamp超出省略

    以前只用过超出一行显示省略号 有时候会碰到只显示两到三行,超出省略 -webkit-line-clamp属性就能解决这个问题 text-overflow: -o-ellipsis-lastline; ...

  2. js随机生成颜色的方法

    function getRandomColor() { return '#' + (Math.random() * 0xffffff << 0).toString(16); }

  3. [转]什么时候该用NoSQL?

    NoSQL这两年越来越热,尤其是大型互联网公司非常热衷这门技术.根据笔者的经验,并不是任何场景,NoSQL都要优于关系型数据库.下面我们来具体聊聊,什么时候使用NoSQL比较给力: 1) 数据库表sc ...

  4. ZOJ - 3471

    壮压水一水,刚开始脑残了非要开两维dp... #include<cstdio> #include<cstring> #include<algorithm> #def ...

  5. floor()函数 和round()函数的区别

    floor()函数 和round()函数的区别 2018-08-17  09:40:00 1.floor()函数:取整,保留整数部分,舍弃小数部分. 2.round()函数:四舍五入.round(x, ...

  6. Jquery框架1.选择器|效果图|属性、文档操作

    1.JavaScript和jquery的对比 书写繁琐,代码量大 代码复杂 动画效果,很难实现.使用定时器 各种操作和处理 <!DOCTYPE html> <html lang=&q ...

  7. js获取宽度

    alert(window.screen.width );//浏览设备的分辨率(电脑.手机.平板等) alert(window.screen.availWidth );//浏览设备的实际可用宽度(电脑. ...

  8. IPV4闪退

    如果出现这种状况,在安全模式下重注册dll 运行->输入cmd->输入 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1 ...

  9. 洛谷AC破百题纪念!

  10. php页面静态化,ob缓存方法

    <?php ob_start();//开启缓存 //要生成静态网页的内容开始 ?> 中间的html代码 <?php //要生成静态网页的内容结束 //把生成的静态内容保存到文件,而不 ...