使用Oracle的外部表查詢警告日誌檔案

guyuanli發表於2008-08-02

使用Oracle的外部表查詢警告日誌檔案

Oracle 9i中開始引入外部表,什麼是外部表?

External table
和正規的表很相似,具體的定義可以參見《 Oracle 概念手冊》,以下的幾點需要注意:
>
建立的語法類似於: "CREATE TABLE ... ORGANIZATION EXTERNAL" > 資料在資料庫的外部組織,是作業系統檔案。

[@more@]

使用Oracle的外部表查詢警告日誌檔案

Oracle 9i中開始引入外部表,什麼是外部表?

External table
和正規的表很相似,具體的定義可以參見《 Oracle 概念手冊》,以下的幾點需要注意:
>
建立的語法類似於: "CREATE TABLE ... ORGANIZATION EXTERNAL" > 資料在資料庫的外部組織,是作業系統檔案。 > 作業系統檔案在資料庫中的標誌是透過一個邏輯目錄來對映的。 > 資料是隻讀的。(外部表相當於一個只讀的虛表) > 不可以在上面執行任何 DML 操作,不可以建立索引。 > 可以查詢操作和連線。可以並行操作。

下面介紹一下如何使用外部表來查詢警告日誌檔案

[oracle@nsisdb bdump]$ sqlplus "/as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8 5 13:50:47 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

連線到:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

SQL> create or replace directory bdump as '/application/oracle/database/admin/nsisdb/bdump

';

目錄已建立

SQL> CREATE TABLE alert_log
2 (
3 text_line varchar2(255)
4 )
5 ORGANIZATION EXTERNAL
6 (
7 TYPE ORACLE_LOADER
8 DEFAULT DIRECTORY bdump
9
10 ACCESS PARAMETERS
11 (
12 records delimited by newline
13 fields
14 REJECT ROWS WITH ALL NULL FIELDS
15
16 )
17
18 LOCATION
19 (
20 'alert_nsisdb.log'
21 )
22 )
23 REJECT LIMIT unlimited

24 /

表已建立。

SQL> select * from alert_log where text_line like 'ORA-%';

TEXT_LINE

------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------

---------------------------------------------------------------------------

ORA-1109 signalled during: ALTER DATABASE CLOSE NORMAL...

ORA-00313: ??????? 1 (???? 1) ???

ORA-00312: ???? 1 ?? 1: '/application/oracle/database/oradata/nsisdb/redo01.log'

ORA-27037: ????????

ORA-00313: ??????? 2 (???? 1) ???

ORA-00312: ???? 2 ?? 1: '/application/oracle/database/oradata/nsisdb/redo02.log'

ORA-27037: ????????

ORA-00313: ??????? 3 (???? 1) ???

ORA-00312: ???? 3 ?? 1: '/application/oracle/database/oradata/nsisdb/redo03.log'

ORA-27037: ????????

ORA-301 signalled during: alter database add logfile group 4 ('/application/oracle/t

ablespaces/redos/redo4/redo0401.log') size 4096M

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1008555/,如需轉載,請註明出處,否則將追究法律責任。

相關文章