tnsping 可以 sqlplus 報錯 ORA-12514
ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務
上面的問題,是因為資料庫系統能根據提供的例項名(原來的SERVICE_NAME)去找到了相應的主機,故 tnsping 能通,但是根據 tns指定的SERVICE_NAME 沒有找到相應的服務名,所有在建立連線的時候報錯了。
在這裡,提一下比較容易弄混淆的概念,服務名、例項名和資料庫名:
(1)服務名(service_names):指listener提供的對外的服務名,客戶端可以透過配置tnsnmaes.ora進行連線,tnsnmaes.ora檔案中的service_name要等於伺服器端listener所註冊的服務名,服務名可以透過輸入lsnrctl後,在輸入service檢視,一般的service_name在listener.ora檔案中配置(靜態註冊),或者當沒有listener.ora檔案時,在初始化檔案中配置instance_name和service_names這2個引數進行動態註冊。但是無論採用那種註冊方式,都可以透過lsnrctl-sevice來檢查。
(2)例項名(instance_name):oracle啟動instance後,即啟動oracle的記憶體程式,這個記憶體程式的名稱。在unix或者linux環境可以透過ps -ef |grep ora_看到啟動的程式。instance_name由環境變數決定,一個只裝oracle軟體,沒有建庫的例項(即沒有初始化檔案,沒有控制檔案,沒有資料檔案,沒有redolog),可以用rman來啟動,啟動後select instance_name from v$instance;這個時候我們可以看到instance_name和在環境變數裡面配置的ORACLE_SID是同樣的名稱。(注:正是由於這個原因,我們一般說的SID就是instance_name,但是需要注意的是,實際上instance_name不等於ORACLE_SID。前者是資料庫層面的概念,後者是作業系統中環境變數的設定。)
(3)資料庫名(db_name):這個是在資料庫建立的時候確定的:
CREATE DATABASE db_name
CONTROLFILE REUSE
MAXINSTANCES 32
MAXLOGHISTORY 0
……
該資訊存在於初始化檔案,控制檔案等地方。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-693876/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 客戶端TNSPING通 連線出現ORA-12514錯誤客戶端
- 怪事,tnsping server報錯居然有問題。Server
- sqlplus 啟動報錯SQL
- 連線資料庫報錯ORA-12514資料庫
- 連線資料庫報錯 ORA-12514資料庫
- sqlplus執行sql檔案報錯SQL
- tnsping: NL-00605: national language initialization failed sqlplus Error 5AISQLError
- sqlplus / as sysdba無法登入的奇怪報錯SQL
- sqlplus本地登入報錯ORA-12545SQL
- Oracle監聽配置(ora-12514錯誤)Oracle
- 11g啟動sqlplus報錯沒有許可權SQL
- ORA-12514: 錯誤解決一例
- sqlplus 可以登入 plsql 不能登入SQL
- sqlplus因selinux報錯cannot restore segment prot after reloc: Permission deniedSQLLinuxREST
- hp-ux環境sqlplus中使用@執行sql指令碼報錯UXSQL指令碼
- oracle ora-12514的錯誤的解決辦法Oracle
- 把專案放到EPP可以嗎?我的怎麼報錯
- ajax可以正常請求資料,,web端頁面報錯Web
- 報錯的語句也可以產生執行計劃
- aix系統資料庫sqlplus登陸報錯處理一例AI資料庫SQL
- sqlplus / as sysdba報錯ORA-01031: insufficient privileges的原因分析SQL
- AIX 未開啟AIO引起SQLPLUS登陸報錯exec(): 0509-036AISQL
- [Oracle]startup mount時報ORA-12514錯誤的解決方法Oracle
- 連線資料庫時出現ORA-12514錯誤資料庫
- SQLNET跟蹤tnsping過程SQL
- 客戶端tnsping不通問題客戶端
- sqlplus登入資料庫報錯ORA-12547: TNS:lost contactSQL資料庫
- CentOS5.6中裝好Oracle11g之後,啟動sqlplus報錯CentOSOracleSQL
- 本機SQLPLUS 的時候報錯 ORA-12547: TNS: lost contactSQL
- oracle在AIX系統上通過tar包安裝,sqlplus報aio錯誤OracleAISQL
- GoldenGate的ORA-12514,ORA-01017錯誤Go
- crontab異常:shell下可以執行命令,執行crontab卻報錯
- sqlplus / as sysdba報錯ORA-01017: invalid username/password; logon deniedSQLGo
- 利用sqlplus手工建立巡檢報表SQL
- Oracle中sqlplus登入報錯SP2-0667和SP2-0750探究OracleSQL
- Oracle所有者不是dba 引起sqlplus / as sysdba 登入報錯ORA-01031OracleSQL
- sqlplus scott/system@ora10g報錯ORA-12537: TNS:connection closedSQL
- JavaScript報錯型別(報錯速查)JavaScript型別