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%';

相关推荐
qq_2069013919 小时前
如何在Linux上源码编译安装MySQL_CMake配置与依赖包安装
jvm·数据库·python
2401_8716965219 小时前
CSS如何解决Flex布局在老版本安卓机兼容性_使用autoprefixer工具
jvm·数据库·python
qq_2069013919 小时前
c++怎么把多个变量一次性写入二进制文件_结构体对齐与write【实战】
jvm·数据库·python
weixin_5806140019 小时前
golang如何给图片添加水印_golang图片添加水印解析
jvm·数据库·python
Shorasul19 小时前
mysql如何进行表空间传输恢复_mysql transport tablespace实战
jvm·数据库·python
解救女汉子19 小时前
golang如何实现群聊功能_golang群聊功能实现策略
jvm·数据库·python
m0_6845019819 小时前
如何清理Oracle临时表空间_重建TEMP表空间与释放空间方案
jvm·数据库·python
2301_7775993719 小时前
Go语言怎么用sync.Map_Go语言并发安全Map教程【详解】
jvm·数据库·python
zhangchaoxies19 小时前
Go语言如何用定时器_Go语言time.Ticker定时器教程【详解】
jvm·数据库·python
2501_9142459319 小时前
如何用 setCustomValidity 自定义表单验证失败的提示文本
jvm·数据库·python