Oracle 数据库采用外部表监控查看分析 alert 告警

Oracle 数据库采用外部表监控查看分析 alert 告警

一、外部表相关参数说明

1、organization external

关键字,表明定义的表为外部表。

2、type         

外部表的类型

oracle_loader     

定义外部表的缺省方式,只能只读方式实现文本数据的装载。

oracle_datapump    

支持对数据的装载与卸载,数据文件必须为二进制dump文件。可以从外部表提取数据装载到内部表,也可以从内部表卸载数据作为二进制文件填充到外部表。

3、default directory    

缺省的目录指明了外部文件所在的路径

4、location       

定义了外部表的位置

5、access parameters

描述如何对外部表进行访问

records

关键字后定义如何识别数据行

delimited by 'xxx'

换行符,常用newline定义换行,并指明字符集。对于特殊的字符则需要单独定义,如特殊符号,可以使用ox'十六位值',例如tab(/t)的十六位是9,则delimitedby0x'09';cr(/r)的十六位是d,那么就是delimitedby0x'0d'。

skip x   

跳过x行数据,有些文件中第一行是列名,需要跳过第一行,则使用skip 1。

fields  

关键字后定义如何识别字段,常用的如下:

fields:terminated by 'x'

字段分割符。

enclosed by 'x' 

字段引用符,包含在此符号内的数据都当成一个字段。例如一行数据格式如:"abc","a""b,""c,"。使用参数terminated by ',' enclosed by '"'后,系统会读到两个字段,第一个字段的值是abc,第二个字段值是a"b,"c,。

lrtrim          

删除首尾空白字符。

missing field values are null

某些字段空缺值都设为null。对于字段长度和分割符不确定且准备用作外部表文件,可以使用ultraedit、editplus等来进行分析测试,如果文件较大,则需要考虑将文件分割成小文件并从中提取数据进行测试。

6、fields terminated by ","

描述字段的终止符

7、reject limit unlimited

描述允许的错误数,此处为无限制

二、采用外部表监控查看分析 alert 告警日志

我们在自己的windows电脑下做的测试(数据库版本是19.3),测试外部表访问警告日志文件,首先需要创建一个Oracle目录(路径为告警alert日志所在位置)

create or replace directory alert_dir as 'C:\app\db_base\diag\rdbms\orcl\orcl\trace';

查看创建的目录

col directory_path for a50

select * from dba_directories;

给目录授权

grant read,write on directory alert_dir to public;

然后创建一个外部表

create table alert_log(text varchar2(4000))

organization external

(

type oracle_loader

default directory alert_dir

access parameters

(

records delimited by newline

nobadfile

nodiscardfile

nologfile

)

location('alert_orcl.log')

)

reject limit unlimited;

之后我们就可以通过外部表来查询警告日志的内容

select * from alert_log;

需要查看数据库中曾经出现过的ORA-错误,那么可以执行如下查询:

select * from alert_log where text like 'ORA-%';

SELECT * FROM alert_log where text LIKE 'Errors%';

相关推荐
天桥下的卖艺者1 小时前
使用scitable包,两步生成逆概率删失权重(IPCW)
数据库·r语言
隔窗听雨眠2 小时前
AI原生数据库浪潮:国产数据库的架构重构与路径之争
数据库
数据库小学妹2 小时前
数据库选型实战:从数据类型到TCO成本,五维决策框架+九款产品横评
数据库·信创·国产数据库·数据库选型·oracle迁移
神龙天舞20013 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
丙氨酸長鏈4 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
独行侠影a5 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
传说故事5 小时前
数据库中一些常用英文单词含义
数据库·oracle
夏贰四6 小时前
中小企业搭建业务中台如何控成本?业务中台轻量化落地分几步实施?
数据库·业务中台
林焱RPA6 小时前
影刀RPA200篇纪念版:最实用的20个自动化场景大盘点
数据库
名字还没想好☜6 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine