加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ORACLE 报警日志如何查看?

发布时间:2020-12-12 16:50:09 所属栏目:百科 来源:网络整理
导读:1.了解oracle外部表 外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表 作用:在数据库中查询OS文件的数据,还可以将OS文件数据装载到数据库中 与其它表的区别:在外部表上不能执行DML操作,也不能在外部表上建索引,只能执行select操用 2.建一

  createusertestidentifiedby“123” default

tablespace

testquotaunlimitedontest;

  用户授权


  SQL>grantcreateanydirectorytotest;

  建立目录对象


  SQL>conntest/123
  Connected.
  SQL>createdirectoryextas'/oracle/ext';
  Directorycreated.

  3.建立外部表
SQL>create

table

exttable(
  idnumber,namevarchar2(10),inumber
  )organizationexternal
  (typeoracle_loader
  defaultdirectoryext
  

access

parameters
  (recordsdelimitedbynewline
  fieldsterminatedby','
  )location('ext.dat')
  );

  4.测试


  SQL>select*fromexttable;
  IDNAME                I
  ------------------------------
  1020                 30
  4050                 60
  70

80

                 90

  测试成功,可见在数据库中可以查询OS文件的数据

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

  由于在上面实验中已建立了一个用户,并赋相应的权限,而且也有了OS文件(即报警文件alert_SID.log),所以在此直接建立目录对象并建立外部表就可以了。

  1.建立目录对象


  SQL>conntest/123
  Connected.
  SQL>createdirectorybdumpas'/oracle/u01/app/oracle/admin/db2/bdump';
  Directorycreated.

  2.建立外部表


  SQL>createtablealert_log(
  

text

varchar2(400)
  )organizationexternal
  (typeoracle_loader
  defaultdirectorybdump
  accessparameters
  (recordsdelimitedbynewline
  )location('alert_db2.log')
  );

3.测试

  首先查看能否查到alert_db2.log的内容


  SQL>select*fromalert_logwhererownum<10;
  

TEXT


  --------------------------------------------------------------------------------
  ThuJun1100:51:462009
  StartingORACLE

instance

(normal)
  Cannotdeterminealldependentdynamiclibrariesfor/proc/self/exe
  Unabletofinddynamiclibrarylibocr10.soinsearchpaths
  RPATH=/ade/aime1_build2101/oracle/has/lib/:/ade/aime1_build2101/oracle/lib/:/a
  de/aime1_build2101/oracle/has/lib/:
  LD_LIBRARY_PATHisnot

set

!
  Thedefaultlibrarydirectoriesare/liband/usr/lib
  Unabletofinddynamiclibrarylibocrb10.soinsearchpaths
  Unabletofinddynamiclibrarylibocrutl10.soinsearchpaths
  9rowsselected.

  测试成功

  然后我们测试查报警信息'ORA-%'


  SQL>select*fromalert_logwheretextlike'ORA-%';
  TEXT
  --------------------------------------------------------------------------------
  ORA-00202:control

file

:'/oracle/u01/app/oracle/

product

/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27037:unabletoobtainfilestatus
  ORA-205signalledduring:ALTER

DATABASE

   MOUNT...
  ORA-00301:errorinaddinglogfile'/home/oracle/oracle/oradata/testdb/redo01.l
  og'-filecannotbecreated
  ORA-27040:filecreateerror
  ORA-1501signalledduring:CREATEDATABASEdb2
  ORA-00200:controlfilecouldnotbecreated
  TEXT
  --------------------------------------------------------------------------------
  ORA-00202:controlfile:'/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27038:createdfilealreadyexists
  ORA-1501signalledduring:CREATEDATABASEdb2
  ORA-00200:controlfilecouldnotbecreated
  ORA-00202:controlfile:'/oracle/u01/app/oracle/product/10.2.0/db2/dbs/cntrldb2
  .dbf'
  ORA-27038:createdfilealreadyexists
  ORA-1501signalledduring:CREATEDATABASEdb2

  测试成功,

  可见我们可以使用外部表来方便的查看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.授予用户权限,并建立目录对象

  在此我们先建一个新用户