oracle 报警日志详解
oracle报警日志是一个非常重要的日志,其有两种实现方法:
1、通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了
2、通过外部表来实现,这种方法避免了方法一种的情况。特此以方法二为例进行解析。
创建外部表的过程,
查看日志路径,
--创建目录,此目录是日志存放的目录,oracle在linux和windows系统下有所差别,linux下是$ORACLE_home/sid下,创建目录是为了引用目录里的日志文件
create or replace directory bdump as 'c:\app\administrator\diag\rdbms\orcl\orcl\trace';
--创建外部表,用来存放日志信息
create table alert_logs
(
text varchar2(2000)
)
organization external
(
type oracle_loader --载入日志信息
default directory bdump --日志导入的目录
access parameters
(
records delimited by newline fields --每条记录分隔标志为每一个新行
reject rows with all null fields --去掉所有空行
)
location
(
'alert_orcl.log' --装在日志到alert_orcl.log文件,alert_后面必须是实例名才行
)
)
reject limit unlimited;
select * from alert_logs where text like 'ORA-'||'%';
3、扩展,常见错误
ORA-29913: 执行 ODCIEXTTABLEOPEN 调出时出错
ORA-29400: 数据插件错误KUP-00554: error encountered while parsing access
原因可能如下:
a、日志路径写错了 b、日志名字写错了 location
(
'alert_orcl.log'
)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步