在“oracle安裝路徑\product\oracle版本\admin\實(shí)例名稱\bdump”路徑下。
在黃石等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需開發(fā)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè),黃石網(wǎng)站建設(shè)費(fèi)用合理。
備注:根據(jù)文件修改的時(shí)間,找到啟動(dòng)日志“.trc”文件,即可看到錯(cuò)誤信息。
首先了解什么是外部表,與其它表的區(qū)別,建立一個(gè)簡(jiǎn)單的外部表(主要看操作過程),最后我們用外部表查看ORACLE報(bào)警日志
1.了解oracle外部表
外部表定義:結(jié)構(gòu)被存放在數(shù)據(jù)字典,而表數(shù)據(jù)被放在OS文件中的表
作用:在數(shù)據(jù)庫(kù)中查詢OS文件的數(shù)據(jù),還可以將OS文件數(shù)據(jù)裝載到數(shù)據(jù)庫(kù)中
與其它表的區(qū)別:在外部表上不能執(zhí)行DML操作,也不能在外部表上建索引,只能執(zhí)行select操用
2.建一個(gè)簡(jiǎn)單的外部表1.建一個(gè)OS上的文件
因?yàn)橥獠勘碇饕遣榭碠S上的文件,首先在OS上建一個(gè)文件
mkdir -p /oracle/ext
vi /oracle/ext/ext.dat
10,20,30
40,50,60
70,80,90
2.授予用戶權(quán)限,并建立目錄對(duì)象
在此我們先建一個(gè)新用戶
create user test identified by “123” default tablespace test quota unlimited on test;
用戶授權(quán)
SQL grant create any directory to test;
建立目錄對(duì)象
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.測(cè)試
SQL select * from exttable;
ID NAMEI
---------- ---------- ----------
10 20 30
40 50 60
70 80 90
測(cè)試成功,可見在數(shù)據(jù)庫(kù)中可以查詢OS文件的數(shù)據(jù)
2. 使用外部表查看oracle報(bào)警日志
由于在上面實(shí)驗(yàn)中已建立了一個(gè)用戶,并賦相應(yīng)的權(quán)限,而且也有了OS文件(即報(bào)警文件alert_SID.log),所以在此直接建立目錄對(duì)象并建立外部表就可以了。
1.建立目錄對(duì)象
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.測(cè)試
首先查看能否查到alert_db2.log的內(nèi)容
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.
測(cè)試成功
然后我們測(cè)試查報(bào)警信息’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
測(cè)試成功,
可見我們可以使用外部表來方便的查看ORACLE的報(bào)警信息
1、直接運(yùn)行sqlplus,然后要求輸入用戶名和密碼。如果你是管理員的身份,應(yīng)該在用戶名后加as
sysdba(以下例子使用sysdba身份).
2、運(yùn)行如下語句直接進(jìn)入:Sqlplus用戶名/密碼 as
sysdba
3、運(yùn)行sqlplus
/nolog,此語句只是進(jìn)入了sqlplus編輯器,而沒有連接到數(shù)據(jù)庫(kù)。所以還需要使用connect 語句來連接到數(shù)據(jù)庫(kù)。
再看看別人怎么說的。
在oracle的安裝目錄下,找NETWORK\ADMIN目錄,比如C:\app\xxxx\product\11.2.0\dbhome_1\NETWORK\ADMIN
在這個(gè)目錄下找tnsnames.ora,用一般的文本編輯程序都可以打開
或者直接在電腦中用搜索功能,搜索文件tnsnames.ora
可用第三方工具檢查錯(cuò)誤。
如以下存儲(chǔ)過程:
其中第六行故意少寫了一個(gè)分號(hào)。
然后執(zhí)行后,會(huì)提示完成,這時(shí)可以去左邊的樹中找到這個(gè)存儲(chǔ)過程,顯示是有個(gè)紅叉的。
這時(shí),可以右鍵,選擇編輯。
然后打開頁面的最下方會(huì)顯示如下信息。
此時(shí)鼠標(biāo)雙擊信息的那一行,會(huì)在上方存儲(chǔ)過程中以特殊顏色顯示,這就說明,有特殊顏色的位置有錯(cuò)誤,可以根據(jù)ORA-00933的錯(cuò)誤號(hào)查詢錯(cuò)誤原因,并加以修改。
現(xiàn)在,如果可以后邊的逗號(hào)補(bǔ)上,點(diǎn)執(zhí)行,然后,下邊會(huì)顯示成功編譯且左邊的樹紅叉消除。