Oracle錯誤——ORA12514:監聽程式當前無法識別連接描述符中請求的服務

来源:http://www.cnblogs.com/shangshan/archive/2017/02/01/6359880.html
-Advertisement-
Play Games

在連接資料庫的時候,有時會遇到一個“ORA12514:監聽程式當前無法識別連接描述符中請求的服務”的錯誤,這個錯誤其實就是資料庫動態註冊(關於動態註冊會在稍後講解)不生效,導致監聽器無法識別客戶端連接符中提供的服務名,從而拒絕建立資料庫連接時報的錯誤信息,所以就需要對監聽器配置做修改。 在這裡,還需 ...


在連接資料庫的時候,有時會遇到一個“ORA12514:監聽程式當前無法識別連接描述符中請求的服務”的錯誤,這個錯誤其實就是資料庫動態註冊(關於動態註冊會在稍後講解)不生效,導致監聽器無法識別客戶端連接符中提供的服務名,從而拒絕建立資料庫連接時報的錯誤信息,所以就需要對監聽器配置做修改。

在這裡,還需對問題進行細化,有時候可能會發現,在剛開啟監聽器的時候會發生這個錯誤,但過了一會再進行連接就不會報錯,這其實是因為動態註冊需要時間,而剛開啟監聽器時,資料庫還未註冊到監聽器,導致報錯,這種情況不在本文討論範圍內。

listener.ora文件存放在$ORACLE_HOME/network/admin(以我的Oracle11為例就是D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN),這個文件存放的就是監聽器的配置,監聽器在啟動時會讀取該文件,我們先來瞭解一下這個文件。

該文件的大概配置如下圖

上圖中,SID_LIST_LISTENER參數就是資料庫註冊,動態註冊或是靜態註冊(註冊就是將資料庫作為一個服務註冊到監聽器。客戶端不需要知道資料庫名和實例名,只需要知道該資料庫對外提供的服務名就可以申請連接到資料庫,動態註冊就是在監聽器配置文件中不明確的聲明資料庫實例和服務名,而是在資料庫啟動時才由資料庫自動註冊到監聽器,靜態註冊就是在監聽器配置文件中明確聲明資料庫實例和服務名。),LISTENER參數就是監聽器的配置,其中,PROTOCOL參數是協議名,一般為TCP,HOST參數是地址,可以寫IP地址、伺服器名、localhost、127.0.0.1,PORT參數是埠號,預設為1521。

 既然是因為動態註冊引起的問題,那麼最簡單的解決方法自然是由動態註冊改為靜態註冊,如下圖

紅線框內的就是靜態註冊,SID_NAME參數是資料庫實例名,GLOBAL_DBNAME參數是全局資料庫名(在配置客戶端的本地服務名時“服務名”要與全局資料庫名一致),配置好後,重啟監聽器,就可正常連接了。

修改為靜態註冊看起來雖簡單,但也有不足之處,首先,要修改為靜態註冊需對配置文件和參數較為熟悉,否則很有可能會配置錯誤,其次當參數的值有所改變時必須重新修改配置才行。

還有一種方法就是修改host參數的值,host參數可以有四種值:IP地址、伺服器名、localhost、127.0.0.1,由於可取值變多了,導致瞭解決辦法也隨著導致出現問題的原因而多樣化了起來,各種情況都可能有不同的解決辦法,可以在這四個值之間嘗試修改,需要註意的是,當採用localhost和127.0.0.1時,客戶端的本地服務名不能使用IP地址和伺服器名進行配置,否則會報“ORA12541:無監聽程式”的錯誤,還有就是修改之後要重啟監聽器

以上的解決辦法只是我自己對這個錯誤的總結,可能尚無法解決所有的情況,歡迎進行討論。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ▓▓▓▓▓▓ 大致介紹 前面一片博客介紹了Git到底是什麼東西,如果有不明白的可以移步 Git學習之路(1)-Git簡介 ,這篇博客主要講解在Windows上安裝Git和創建一個版本庫 ▓▓▓▓▓▓ 安裝Git 因為我是用的Windows,所以就介紹一下在Windows上怎樣安裝,Linux、Mac ...
  • 一、簡介 Android的消息機制主要是指Handler的運行機制,那麼什麼是Handler的運行機制那?通俗的來講就是,使用Handler將子線程的Message放入主線程的Messagequeue中,在主線程使用。 二、學習內容 學習Android的消息機制,我們需要先瞭解如下內容。 平常我們接 ...
  • 常量 C語言有豐富的數據類型,在開發中,一般用常量或者變數來表示這些數據 "量"表示數據。常量,則表示一些固定的數據,也就是不能改變的數據。 10.1;// 雙精度double 5.2f; //單精度float 'a'; // 字元型常量 'ab'; // 錯誤 '李'; // 錯誤寫法, 因為一個 ...
  • 有關NSLog調試問題 ...
  • 前言 什麼是操作系統:操作系統是一種系統軟體,用來管理電腦的軟硬體資源。 主流操作系統: 移動攜帶型設備:Android、iOS、Windows Phone、Symbian(塞班)、Black Berry(黑莓) OS PC個人電腦:Windows、Mac OS、Unix、Linux 什麼是iOS ...
  • 簡易天氣是一個基於和風天氣數據採用MD設計的Android天氣App。目前的版本採用傳統的MVC模式構建。通過豐富多彩的頁面為用戶提供日常所需的天氣資訊。 項目說明 項目放在github上面 地址是: "easyweather開源地址" 項目利用的和風天氣 舊版本的API。 定位功能使用的是百度地圖 ...
  • 最近這幾天,一直跟著朋友們聚會什麼的,沒怎麼做項目,今天總算是有時間開電腦繼續做我的項目了。下麵我就把我做的效果展示一下。 這是模仿了qq的界面效果。因為代碼比較長就不粘貼代碼了。需要的小伙伴可以跟我私聊。 ...
  • iOS 圖片壓縮方法 兩種圖片壓縮方法 兩種壓縮圖片的方法:壓縮圖片質量(Quality),壓縮圖片尺寸(Size)。 壓縮圖片質量 通過 UIImage 和 NSData 的相互轉化,減小 JPEG 圖片的質量來壓縮圖片。UIImageJPEGRepresentation:: 第二個參數 comp ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...