Oracle 外部表加载监听日志,使用外部表访问监听日志
某天工作是使用外部表加载监听日志信息,观察并分析用户连接数变化趋势
按照eygle循序渐进oracle的教程一步步进行:
测试使用外部表先创建目录:
connect / as sysdba
create(replace) directory sqldr as 'E:\app\john.tam\oradata\sqldr';
SQL> select * from dba_directories where directory_name =
'SQLDR';
OWNER DIRECTORY_
DIRECTORY_PATH
------------------------------ ----------
------------------------------
SYS SQLDR E:\app\john.tam\oradata\sqldr
然后可以创建外部表了,下面是流程:
创建指向监听器日志目录的Driectory:
SQL> select * from dba_directories where directory_name =
'SQLDR';
OWNER DIRECTORY_
DIRECTORY_PATH
------------------------------ ----------
------------------------------
SYS SQLDR
E:\app\john.tam\oradata\sqldr
SQL> create or replace directory
LISTENER_LOG
2 as
'E:\app\john.tam\product\11.2.0\dbhome_1\NETWORK\log'
3 /
SQL> select * from dba_directories where
DIRECTORY_NAME='LISTENER_LOG';
OWNER DIRECTORY_
DIRECTORY_PATH
------------------------------ ----------
------------------------------
SYS LISTENER_L
E:\app\john.tam\product\11.2.0
OG
\dbhome_1\NETWORK\log
创建外部表:
创建指向监听器日志的外部表:
SQL> CREATE TABLE listener_log(text VARCHAR2(4000))
2 ORGANIZATION
EXTERNAL (
3 TYPE oracle_loader
4 DEFAULT DIRECTORY listener_log
5 ACCESS PARAMETERS (
6 RECORDS DELIMITED BY NEWLINE
7 NOBADFILE
8 NOLOGFILE
9 NODISCARDFILE
10 )
11 LOCATION
('listener.log')
12 )
13 REJECT LIMIT UNLIMITED
14
/
Table created.
查询外部表
现在可以通过SQL查询和访问外部表的数据了:(监听日志共190000行,但12月份的信息都有19000以上行)
SQL> set pagesize 99
SQL> select * from listener_log where rownum
< 12;
select * from listener_log where rownum < 12
*
ERROR at
line 1:
ORA-29913: error in executing ODCIEXTTABLEFETCH callout
ORA-29400:
data cartridge error
KUP-04020: found record longer than buffer size
supported, 524288,
in
E:\app\john.tam\product\11.2.0\dbhome_1\NETWORK\log\listener.log
数据量太大,表内容不能显示。
其实这是因为导入的txt文本没用按格式换行。系统默认一行来处理,数据量当然太大
现抽取10年12月1日的信息生成表:
创建指向监听器日志目录的Driectory:
SQL> create or replace directory
LISTENER121_LOG
2 as
'E:\app\john.tam\product\11.2.0\dbhome_1\NETWORK\log'
3 /
SQL> select * from dba_directories where
DIRECTORY_NAME='LISTENER121_LOG';
OWNER DIRECTORY_
DIRECTORY_PATH
------------------------------ ----------
------------------------------
SYS LISTENER_L
E:\app\john.tam\product\11.2.0
OG
\dbhome_1\NETWORK\log
创建外部表:
创建指向监听器日志的外部表:
SQL> CREATE TABLE listener_log(text VARCHAR2(4000))
2 ORGANIZATION
EXTERNAL (
3 TYPE oracle_loader
4 DEFAULT DIRECTORY
listener121_log
5 ACCESS PARAMETERS (
6 RECORDS DELIMITED BY
NEWLINE
7 NOBADFILE
8 NOLOGFILE
9 NODISCARDFILE
10 )
11
LOCATION ('listener121.log')
12 )
13 REJECT LIMIT
UNLIMITED
14 /
Table created.
这次的查询就成功了。
Oracle 外部表加载监听日志,使用外部表访问监听日志相关推荐
- CC00053.pbpositions——|HadoopPB级数仓.V11|——PB数仓.v11|核心交易分析|DIM层建表|加载数据|
一.DIM层建表加载数据:DIM层建表加载数据概述 ### --- 首先要确定哪些是事实表.哪些是维表.绿色的是事实表,灰色的维表~~~ 用什么方式处理维表,每日快照.拉链表? ~~~ 小表使用每日快 ...
- hive外部表改为内部表_3000字揭秘Greenplum的外部数据加载——外部表
外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据.如普通表一样,可使用SQL对外部表进行查询和插入操作.外部表主要用于Green ...
- hive内部表和外部表的区别_3000字揭秘Greenplum的外部数据加载——外部表
外部表是greenplum的一种数据表,它与普通表不同的地方是:外部表是用来访问存储在greenplum数据库之外的数据.如普通表一样,可使用SQL对外部表进行查询和插入操作.外部表主要用于Green ...
- Hive外部分区表加载flume打到hdfs上文件,读不到.tmp文件
摘要 flume打到hdfs上时,按照文件大小生成文件,在达到指定大小之前数据都是以.tmp文件形式保存在hdfs上,hive外部表也会加载这些文件,但是当文件完成后.tmp会消失,这时候hive会报 ...
- html页面判断其他div为空,将外部html加载到div中 - 页面加载然后变为空白
我确信这将会变成一件愚蠢的事情,但是自从我成为JavaScript noob以来,这里就变成了一件愚蠢的事情.将外部html加载到div中 - 页面加载然后变为空白 我想外部HTML内容加载到我的索引 ...
- 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
1.外部配置加载顺序 SpringBoot也可以从以下位置加载配置: 优先级从高到低 高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置 1.命令行参数 所有的配置都可以在命令行上进行指定 ...
- 配置文件加载位置||外部配置加载顺序||自动配置原理
配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...
- Spring boot外部配置加载顺序
外部配置加载顺序 Spring boot 可以从以下位置加载配置 优先级从高到低 高优先级的配置,覆盖低优先级的配置 所有的配置,会形成互补配置 官网,给出了17个位置 这里,只介绍常用的11个位置 ...
- SpringBoot_配置-外部配置加载顺序
接下来我们再来看SpringBoot的一个特点,外部配置的加载顺序,也就是说,SpringBoot我们要写一些配置,配置可以写在我们的配置文件,application.properties,放到类路径 ...
最新文章
- Python打造最强表白程序
- local reference table overflow 内存泄露
- C#调用ArcGIS REST服务
- PAT_B_1003_Java(20分)
- cuda、cudnn相关问题链接
- #20175201 实验五 网络编程与安全
- [react] 在React中声明组件时组件名的第一个字母必须是大写吗?为什么?
- java Switch里面的类型问题
- python itertools.permutations_如何理解Python itertools.permutations中的全排列算法?
- TCP粘包问题的解决方案01——自定义包体
- Linux/Unix IO多路复用之select网络编程(含源码)
- 看清喽别迷糊 英特尔本CPU型号之乱
- eclipse引入php源包
- 进军生物计算!百度发布飞桨螺旋桨PaddleHelix
- centos 7下搭建wiki系统
- nofollow标签的写法与作用
- 爬虫初学——爬取京东商品的评论(二)
- DiskPart使用方法(ZT)
- Python-练习 5 更多变量和打印
- HTML5网页好看的一些特效