`

使用Oracle外部表监听日志

阅读更多

--创建目录

create or replace directory LISTENER_LOG
  as '/opt/oracle/product/9.2.0/network/log'
/

 

--创建外部表

CREATE TABLE listener_log (text VARCHAR2(4000))
  ORGANIZATION EXTERNAL (
    TYPE oracle_loader
    DEFAULT DIRECTORY listener_log
    ACCESS PARAMETERS (
       RECORDS DELIMITED BY NEWLINE
       NOBADFILE
        NOLOGFILE
        NODISCARDFILE
    )
    LOCATION ('listener-hsboss.log')
  )
  REJECT LIMIT UNLIMITED
/

 

--类似的,可以查询连接数据库的应用等信息

SELECT DISTINCT SUBSTR (text,
                    INSTR (text, 'PROGRAM') + 8,
                     INSTR (SUBSTR (text, INSTR (text, 'PROGRAM') + 8),
                                 ')'
                                )
                        - 1
                   ) PROGRAM
       FROM (SELECT *
                FROM listener_log
                WHERE text LIKE '%PROGRAM%' AND ROWNUM < 1000000)
/

 

--通过“*”分隔符,可以将外部表进一步细化

CREATE TABLE listener_log
(
   ldate                DATE,
   connect_data         VARCHAR2(400),
   address_protocol     VARCHAR2(400),
   action               VARCHAR2(20),
   service_name         VARCHAR2(20),
   return_code          NUMBER(10)
)
ORGANIZATION EXTERNAL (
   TYPE oracle_loader
   DEFAULT DIRECTORY listener_log
   ACCESS PARAMETERS
   (
      RECORDS DELIMITED BY NEWLINE
      NOBADFILE
      NOLOGFILE
      NODISCARDFILE
      FIELDS TERMINATED BY "*" LRTRIM
      MISSING FIELD VALUES ARE NULL
      (
          ldate CHAR(30) DATE_FORMAT DATE MASK "DD-MON-YYYY HH24:MI:SS",
          connect_data,
          address_protocol,
          action,
          service_name,
          return_code
      )
   )
   LOCATION ('listener-hsboss.log')
)
REJECT LIMIT UNLIMITED
/

 

--类似的,其他信息都可以从这个外部表中查询得到,通过以下查询我们能够获得连接数据库的用户及主机等信息

set timing on
SELECT      HOST, COUNT (*)
    FROM (SELECT SUBSTR (connect_data,
                         INSTR (connect_data, 'HOST') + 5,
                           INSTR (SUBSTR (connect_data,
                                          INSTR (connect_data, 'HOST') + 5
                                         ),
                                  ')'
                                 )
                         - 1
                        ) HOST
            FROM (SELECT *
                    FROM listener_log
                   WHERE connect_data LIKE '%PROGRAM%' AND ROWNUM < 1000000))
GROUP BY HOST
ORDER BY 2
/

分享到:
评论

相关推荐

    Oracle监听器维护管理v1.1

    2、外部表分析监听日志 27 2.1 建监听日志目录 27 2.2 建监听日志外部表 28 2.3 解析外部表 28 3、perl脚本格式化监听日志 29 七、远程监听的攻击和防范 29 1、添加远程监听配置 29 2、攻击服务器B监听 30 3、防范-...

    Oracle 主要配置文件介绍

    Oracle 应 用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数 据存放到任意目录下 &lt;br&gt;1.2.4 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 ...

    ORACLE9i_优化设计与系统调整

    §2.4.1.6 理解监听日志中信息 50 §2.4.1.7 理解连接管理器信息 53 §2.4.2 跟踪文件( Trace File ) 53 §2.4.2.1 跟踪文件的命名: 54 §2.4.2.2 参数设置与初始化文件: 54 §2.4.2.3 在控制实用程序运行中设置...

    Oracle Database 11g初学者指南--详细书签版

    7.7 使用Oracle Data Pump Import 195 7.8 使用传统的导入和导出 200 7.9 Recovery Manager简介 201 7.9.1 RMAN的体系结构 201 7.9.2 设置恢复目录和目标数据库 203 7.9.3 RMAN的关键特性 204 7.9.4 备份 206...

    oracle 12c 数据库 教程

    (五)外部表 80 十一、性能管理基础 82 (一)性能监视 82 (二)性能监视 82 (三)管理内存组件 83 (四)使用内存指导 83 (五)使用动态性能视图 84 (六)故障排除和优化视图 85 (七)无效和不可用对象 85 ==...

    oracle数据库dba管理手册

    7.4 使用Oracle Enterprise Manager 管理回滚段 178 7.4.1 从OEM创建回滚段 179 7.4.2 创建与现有回滚段一样的回滚段 180 7.4.3 设置回滚段为联机状态 181 7.4.4 设置回滚段为脱机状态 182 7.4.5 删除回滚段 184 ...

    oracle数据库11G初学者指南.Oracle.Database.11g,.A.Beginner's.Guide

    3.6 使用Oracle配置文件 3.7 使用管理工具 3.7.1 OEM/网格控件 3.7.2 Oracle网络管理器 3.7.3 OEM控制台 3.7.4 OEM组件 3.7.5 Oracle网络配置助手 3.7.6 Oracle网络目录配置助手 3.7.7 命令行实用程序 3.7.8 Oracle...

    Oracle数据库实验操作

    实验69:使用外部表 145 实验70:处理挂起的事务 146 索引 149 实验71:查看索引的内部信息 151 实验72:监控索引的使用状态 153 约束的管理 154 实验73:改变约束的状态 154 实验74:找到违反约束条件的行 155 ...

    oracle10g课堂练习I(2)

    练习概览:使用 Oracle Network 组件 11-32 12 主动维护 课程目标 12-2 主动维护 12-3 术语简介 12-4 优化程序统计信息 12-5 使用管理优化程序统计信息页 12-7 自动工作量资料档案库 (AWR) 12-9 AWR 基础...

    Oracle9i的init.ora参数中文说明

    说明: 指定 Oracle 使用哪种日历系统作为日期格式。例如, 如果 NLS_CALENDAR 设置为 'Japanese Imperial', 那么日期格式为 'E YY-MM-DD'。即: 如果日期是 1997 年 5 月 15 日, 那么 SYSDATE 显示为 'H 09-05-15'。 ...

    BOS 技术整理

    rc/main/resource 提供 config.properties 外部属性文件、log4j.properties 日志配置文件 配置文件如下: applicationContext.xml  struts2 注解 类上 @ParentPackage 包继承谁? extends=”struts-default...

    JAVA上百实例源码以及开源项目

     [MonthMaker.java] 月份表算法类  [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP ...

    JAVA上百实例源码以及开源项目源代码

     [MonthMaker.java] 月份表算法类  [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接与浏览,Java源码下载 1个目标文件 摘要:Java源码,网络相关,HTTP ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例273 使用内连接选择一个表与另一个表中行相关的所有行 9.14 外连接查询 实例274 LEFT OUTER JOIN查询 实例275 RIGHT OUTER JOIN查询 实例276 使用外连接进行多表联合查询 9.15 利用IN进行查询 实例277 ...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例273 使用内连接选择一个表与另一个表中行相关的所有行 9.14 外连接查询 实例274 LEFT OUTER JOIN查询 实例275 RIGHT OUTER JOIN查询 实例276 使用外连接进行多表联合查询 9.15 利用IN进行查询 实例277 ...

    Visual C++ 程序开发范例宝典 源码 光盘 part2

    cc实例205 使用 ODBCcDSN连接SQLcServer数据库 cc实例206 用ADO动态连接数据库 cc实例207c连接Oracle数据库 8.2 添加数据 cc实例208 利用INSERT语句批量插入数据 cc实例209 利用SELECTcINTO生成临时表 ...

Global site tag (gtag.js) - Google Analytics