串連Oracle時出現 ORA-12514錯誤 解決方案

來源:互聯網
上載者:User

串連Oracle時出現 ORA-12514錯誤 解決方案

最近在測試用的windows環境下的Oracle 11g,用一段時間後就出現

ORA-12514:TNS:監聽程式當前無法識別串連描述符中請求的服務

網上搜尋了一圈,發現大多是說listener.ora設定檔的事,但是我的系統是一直正常啟動並執行啊,不應該突然出現這個情況。後來偶然發現,在Windows環境下的Oracle 11g會有這麼一個問題。Oracle 11g會預設寫審計日誌,會寫到作業系統的“應用程式”日誌裡面去。當應用程式記錄檔被寫滿後。相當於使用者登入審計沒辦法記錄,機會出現登陸不了,而報ORA-12514這個錯誤。

Linux-6-64下安裝Oracle 12C筆記

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

臨時解決辦法,清除日誌

控制台 -> 管理工具 -> 事件檢視器 -> 應用程式 -> 右鍵 -> 清除所有事件

這樣就可以正常登陸oracle了

另外的解決辦法就是關閉oracle的審計

1、用oracle使用者登入到資料庫伺服器,執行:

sqlplus / as sysdba

2、取消audit,將初始化參數audit_trail設定為NONE

alter system set audit_trail=none scope=spfile;

3、然後重啟資料庫.

shutdown immediate;

sqlplus / as sysdba

startup;

4、刪除簽權資料,oracle使用者登入到資料庫伺服器:

sqlplus / as sysdba

truncate table SYS.AUD$;

後來,經過測試發現,正常的日誌寫滿,導致不能登陸的提示應該是這樣的:

ERROR:

ORA-28056: 未能將審計記錄寫入 Windows 事件記錄

OSD-748745664: Message 748745664 not found;  product=RDBMS; facility=SOSD

O/S-Error: (OS 1502) 事件記錄檔案已滿。

ORA-02002: 寫入審計線索時出錯

ORA-28056: 未能將審計記錄寫入 Windows 事件記錄

OSD-748746736: Message 748746736 not found;  product=RDBMS; facility=SOSD

O/S-Error: (OS 1502) 事件記錄檔案已滿。

如果是出現這樣的提示,問題的原因就很明確了。按照上面的方式就可以處理了

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.