使用外部表查看ORACLE报警日志Oracle认证考试

文章作者 100test 发表时间 2009:07:25 11:17:16
来源 100Test.Com百考试题网


"tb42" class="mar10">   目得:首先了解什么是外部表,与其它表的区别,建立一个简单的外部表(主要看操作过程),最后我们用外部表查看ORACLE报警日志
  一.了解oracle外部表
  外部表定义:结构被存放在数据字典,而表数据被放在OS文件中的表
  作用:在数据库中查询OS文件的数据,还可以将OS文件数据装载到数据库中
  与其它表的区别:在外部表上不能执行DML操作,也不能在外部表上建索引,只能执行0select操用
  二.建一个简单的外部表
  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>. 0select * from exttable.
  ID NAME I
  ---------- ---------- ----------
  10 20 30
  40 50 60
  70 80 90
  测试成功,可见在数据库中可以查询OS文件的数据
  二. 使用外部表查看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>. 0select * 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 0selected.
  测试成功
  然后我们测试查报警信息’ORA-%’
  SQL>. 0select * 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的报警信息.
  更多优质资料尽在百考试题论坛 百考试题在线题库 oracle/认证更多详细资料

相关文章


Oracle内存结构研究SGA篇Oracle认证考试
Oracle10Gstreams模式级复制Oracle认证考试
管理Oracle约束与分区表Oracle认证考试
不要让临时表空间影响数据库性能Oracle认证考试
使用外部表查看ORACLE报警日志Oracle认证考试
Oracle检索数据一致性与事务恢复Oracle认证考试
oracle认证辅导:Oracle中被锁定的解决办法Oracle认证考试
oracle认证辅导:利用查询来创建新表的限制Oracle认证考试
外部表在Oracle数据库中使用心得Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛