使用外部表查看ORACLE报警日志

简介:
目得:首先了解什么是外部表,与其它表的区别,建立一个简单的外部表(主要看操作过程),最后我们用外部表查看ORACLE报警日志

1.了解oracle外部表

外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表
作用:在数据库中查询OS文件的数据,还可以将OS文件数据装载到数据库中
与其它表的区别:在外部表上不能执行DML操作,也不能在外部表上建索引,只能执行select操用

2.建一个简单的外部表

1.建一个OS上的文件
因为外部表主要是查看OS上的文件,首先在OS上建一个文件
mkdir -p /oracle/ext
vi /oracle/ext/ext.dat
10,20,30
40,50,60
70,80,90
2.授予用户权限,并建立目录对象
在此我们先建一个新用户
create user test identified by “123” default tablespace test quota unlimited on test;
用户授权
SQL> grant create any directory to test;
建立目录对象
SQL> conn test / 123
Connected.
SQL> create directory ext as '/oracle/ext';
Directory created.
3.建立外部表
SQL> create table exttable(
id number,name varchar2(10),i number
)organization external
(type oracle_loader
default directory ext
access parameters
(records delimited by newline
fields terminated by ','
)location('ext.dat')
);
4.测试
SQL> select * from exttable;
 
        ID NAME                I
---------- ---------- ----------
        10 20                 30
        40 50                 60
        70 80                 90
测试成功,可见在数据库中可以查询OS文件的数据

2. 使用外部表查看oracle报警日志

由于在上面实验中已建立了一个用户,并赋相应的权限,而且也有了OS文件(即报警文件alert_SID.log),所以在此直接建立目录对象并建立外部表就可以了。
1.建立目录对象
SQL> conn test / 123
Connected.
SQL> create directory bdump as '/oracle/u01/app/oracle/admin/db2/bdump';
Directory created.
2.建立外部表
SQL> create table alert_log(
text varchar2(400)
)organization external
(type oracle_loader
default directory bdump
access parameters
(records delimited by newline
)location('alert_db2.log')
);
3.测试
首先查看能否查到alert_db2.log的内容
SQL> select * from alert_log where rownum < 10;
 
TEXT
--------------------------------------------------------------------------------
Thu Jun 11 00:51:46 2009
Starting ORACLE instance (normal)
Cannot determine all dependent dynamic libraries for /proc/self/exe
Unable to find dynamic library libocr10.so in search paths
RPATH = /ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a
de/aime1_build2101/oracle/has/lib/:
 
LD_LIBRARY_PATH is not set!
The default library directories are /lib and /usr/lib
Unable to find dynamic library libocrb10.so in search paths
Unable to find dynamic library libocrutl10.so in search paths
 
9 rows selected.
测试成功
然后我们测试查报警信息’ORA-%’
SQL> select * from alert_log where text like 'ORA-%';
 
TEXT
--------------------------------------------------------------------------------
ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf'
 
ORA-27037: unable to obtain file status
ORA-205 signalled during: ALTER DATABASE   MOUNT...
ORA-00301: error in adding log file '/home/oracle/oracle/oradata/testdb/redo01.l
og' - file cannot be created
 
ORA-27040: file create error
ORA-1501 signalled during: CREATE DATABASE db2
ORA-00200: control file could not be created
 
TEXT
--------------------------------------------------------------------------------
ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf'
 
ORA-27038: created file already exists
ORA-1501 signalled during: CREATE DATABASE db2
ORA-00200: control file could not be created
ORA-00202: control file: '/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
.dbf'
 
ORA-27038: created file already exists
ORA-1501 signalled during: CREATE DATABASE db2
测试成功,
可见我们可以使用外部表来方便的查看ORACLE的报警信息.
 




本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/168236,如需转载请自行联系原作者

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
7月前
|
SQL Oracle 关系型数据库
问题出在Debezium Oracle Connector的日志解析器上
问题出在Debezium Oracle Connector的日志解析器上
56 2
|
14天前
|
运维 Oracle 关系型数据库
Oracle日志文件:数据王国的“记事本”
【4月更文挑战第19天】Oracle日志文件是数据库稳定运行的关键,记录数据变更历史,用于恢复和故障处理。它们协调并发操作,确保数据一致性和完整性。日志文件实时写入操作信息并定期刷新到磁盘,便于数据恢复。然而,日志文件需备份和归档以保证安全性,防止数据丢失。日志文件,数据王国的“记事本”,默默守护数据安全。
|
14天前
|
存储 Oracle 关系型数据库
Oracle的段:深入数据段与日志段的奥秘
【4月更文挑战第19天】Oracle数据库中的数据段和日志段是存储管理的核心。数据段存储表和索引的实际数据,随数据增长动态调整;日志段记录变更历史,保障数据完整性和恢复。两者协同工作,确保数据库稳定性和并发控制。了解和优化它们的配置能提升数据库性能和可靠性,为业务发展提供支持。
|
11月前
|
Oracle 关系型数据库 数据库
查询listener的日志排除不能登录的错误使用Oracle官方提供的ova文件建立Oracle 19c学习环境
Oracle官方提供了安装好的Oracle 19c虚拟机,打包成ova文件。可以使用这个文件建立一个oracle 19c的学习环境。
121 0
|
12月前
|
Prometheus Kubernetes 监控
当 Pod 崩溃后如何在报警信息中获取对应的日志信息?
当 Pod 崩溃后如何在报警信息中获取对应的日志信息?
|
12月前
|
Oracle 关系型数据库 数据库
一个Oracle数据库,一天归档日志3T多
Oracle数据库一体机,Oracle linux7,看看归档日志大小
|
12月前
|
Oracle 关系型数据库 数据库
Oracle 的联机日志文件
Oracle 的联机日志文件
120 0
|
3天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
15 0
|
10天前
|
存储 Oracle 网络协议
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
Oracle 11gR2学习之二(创建数据库及OEM管理篇)
|
14天前
|
Oracle 网络协议 关系型数据库
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】
异地使用PLSQL远程连接访问Oracle数据库【内网穿透】

推荐镜像

更多