Oracle外部表技术增强了Oracle数据库和外部数据源进行交互的能力,方便了Oracle对外部数据的访问。对于DBA来说,最常见的一个例子就是可以使用外部表来访问警告日志文件或其他跟踪文件。以下例子说明了外部表的用途。
首先需要创建一个Oracle目录
11g目录路径
create or replace directory alert_dir as 'c:\oracle\diag\rdbms\mes\mes\trace';
10g目录路径
create or replace directory alert_dir as 'c:\oracle\product\10.2.0\admin\mes\bdump';
查看创建的目录
col directory_path for a50
select * from dba_directories;
可能还需要给目录授权
grant read,write on directory alert_dir to public;
然后创建一个外部表
create table lln_alert_log(text varchar2(500))
organization external
(
type oracle_loader
default directory alert_dir
access parameters
(
records delimited by newline
nobadfile
nodiscardfile
nologfile
)
location('alert_mes.log')
)
reject limit unlimited;
之后我们就可以通过外部表来查询警告日志的内容
select * from lln_alert_log;
如我们需要查看数据库中曾经出现过的ORA-错误,那么可以执行如下查询
select * from lln_alert_log where text like 'ORA-%';
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28974745/viewspace-2138555/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28974745/viewspace-2138555/