当前位置: 首页 > 图文教程 > 数据库 > Oracle > ORACLE报警日志如何查看?

Oracle
常见的一些Oracle初学者的问题
ORACLE认证系统概述
数据库考试简介:Oracle认证
Oracle认证基础知识介绍
ADO连接Oracle Access示例及记录集处理源码
SQL Server和MySQL的安全性分析
用Oracle和SQL Server数据库组合利弊分析
Oracle 11g分区功能新革命
Flashback Query 恢复误删除的数据
基于Oracle高性能动态SQL程序开发
怎样在Oracle 9i中正确的转换时区
Oracle 10g导出的数据库能否导入Oracle 9i?
增加Distinct后查询效率反而提高
Oracle限制返回结果集的大小
Java语言数据库操作的基本流程
美国甲骨文(ORACLE)公司入驻渝中区大都会商厦
RHEL AS4上安装oracle 10R2 的方法
DB中如何查询Table占用空间的大小
编写高质量高性能的MySQL语法
Oracle数据库自动备份的具体实现步骤

Oracle 中的 ORACLE报警日志如何查看?


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 479 ::
收藏到网摘: n/a

目得:首先了解什么是外部表,与其它表的区别,建立一个简单的外部表(主要看操作过程),最后我们用外部表查看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的报警信息.