ITPub博客

首页 > 数据库 > Oracle > Oracle12c新特性(2)记录DDL日志

Oracle12c新特性(2)记录DDL日志

原创 Oracle 作者:ultradb 时间:2016-11-09 15:55:04 0 删除 编辑

Oracle12c新特性(2)记录DDL日志

1.1.1.1  DDL日志

  在之前的版本中没有可选方法来对DDL操作进行日志记录。而在12c R1中,你现在可以将DDL操作写入xml和日志文件中。这对于了解谁在什么时间执行了create或drop命令是十分有用的。要开启这一功能必须对ENABLE_DDL_LOGGING 初始参数加以配置。这一参数可以在数据库或会话级加以设置。当此参数为启用状态,所有的DDL命令会记录在$ORACLE_BASE/diag/rdbms/DBNAME/log|ddl 路径下的xml和日志文件中。一个xml中包含DDL命令,IP地址,时间戳等信息。这可以帮助确定在什么时候对用户或表进行了删除亦或是一条DDL语句在何时触发。

  开启DDL日志功能

SQL> ALTER SYSTEM|SESSION SET ENABLE_DDL_LOGGING=TRUE;

  以下的DDL语句可能会记录在xml或日志文件中:

·         CREATE|ALTER|DROP|TRUNCATE TABLE

·         DROP USER

·         CREATE|ALTER|DROP PACKAGE|FUNCTION|VIEW|SYNONYM|SEQUENCE

1.1.1.1.1具体操作

SQL> show parameter enable

 

NAME                              TYPE    VALUE

------------------------------------ ----------- ------------------------------

enable_ddl_logging                   boolean FALSE

enable_goldengate_replication           boolean TRUE

enable_pluggable_database         boolean TRUE

java_jit_enabled                 boolean TRUE

max_enabled_roles             integer   150

optimizer_features_enable          string    12.1.0.2

parallel_io_cap_enabled            boolean FALSE

query_rewrite_enabled               string    TRUE

star_transformation_enabled       string    FALSE

temp_undo_enabled                   boolean FALSE

trace_enabled                     boolean TRUE

SQL> alter session set enable_ddl_logging=true ;

Session altered.

SQL> create table ultradb (name varchar(10),old number);

Table created.

SQL> alter table ultradb  add(comments varchar(200));

Table altered.

SQL>

1.1.1.1.2查看日志内容

[oracle@inmsh02 ddl]$ more log.xml

<msg time='2016-11-09T15:56:36.408+08:00' org_id='oracle' comp_id='rdbms'

 msg_id='opiexe:4383:2946163730' type='UNKNOWN' group='diag_adl'

 level='16' host_id='inmsh02' host_addr=' *'

 version='1'>

 <txt>create table ultradb (name varchar(10),old number)

 </txt>

</msg>

<msg time='2016-11-09T16:00:28.120+08:00' org_id='oracle' comp_id='rdbms'

 msg_id='opiexe:4383:2946163730' type='UNKNOWN' group='diag_adl'

 level='16' host_id='inmsh02' host_addr='*'>

 <txt>alter table ultradb  add(comments varchar(200))

 </txt>

</msg>

[oracle@inmsh02 ddl]$

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24179204/viewspace-2128155/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-01

  • 博文量
    52
  • 访问量
    198228