tnsping命令對tnsname.ora檔案的使用
先寫結論,tnsping命令只識別到tnsname.ora檔案中的ip和埠號,而對之後的service_name或者sid不進行識別,因此tnsping能ping通並不意味著sqlplus 一定能登入。
測試:
本機IP:172.16.4.183
tnsname檔案內容:
DRB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.137)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(sid = drb)
)
)
由於172.16.4.137的監聽起著,嘗試tnsping drb
[oracle@dbra admin]$ tnsping drb
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 10-APR-2012 16:05:21
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.137)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (sid = drb)))
OK (10 msec)
由於本來就已知137這個IP並不是想要的資料庫所在ip,但是對tnsping能通產生疑惑
sqlplus登入:
[oracle@dbra admin]$ sqlplus as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Apr 10 16:05:42 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12505: TNS:listener does not currently know of SID given in connect
descriptor
Enter user-name:
172.16.4.137上的監聽狀態如下:
LSNRCTL for 32-bit Windows: Version 10.2.0.4.0 - Production on 10-4月 -2012 16:0
7:09
Copyright (c) 1991, 2007, Oracle. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=VQBDTC9FC795994)(PORT=1521)
))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.4.0 - Produ
ction
啟動日期 10-4月 -2012 09:00:03
正常執行時間 0 天 7 小時 7 分 7 秒
跟蹤級別 off
安全性 ON: Local OS Authentication
SNMP OFF
監聽程式引數檔案 F:\oracle\product\10.2.0\db_1\network\admin\listener.o
ra
監聽程式日誌檔案 F:\oracle\product\10.2.0\db_1\network\log\listener.log
監聽端點概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=VQBDTC9FC795994)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
服務 "mangdb" 包含 1 個例程。
例程 "mangdb", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "mangdbXDB" 包含 1 個例程。
例程 "mangdb", 狀態 READY, 包含此服務的 1 個處理程式...
服務 "mangdb_XPT" 包含 1 個例程。
例程 "mangdb", 狀態 READY, 包含此服務的 1 個處理程式...
命令執行成功
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.137)(PORT = 1521))
# (CONNECT_DATA =
# (SERVER = DEDICATED)
# (sid = drb)
# )
)
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.4.137)(PORT = 1521)))
OK (10 msec)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-1813737/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何使用diff 和 patch 命令對檔案進行協作?
- 使用 split 命令分割 Linux 檔案Linux
- 如何使用curl命令下載檔案
- 檔案拆分命令 split 使用簡介
- Linux檔案操作高頻使用命令Linux
- 在不使用 mv 命令的情況下移動檔案
- 在 Linux 命令列中使用 ls 列出檔案的技巧Linux命令列
- Shell 命令求兩個檔案每行對比的相同內容
- OpenSSL 使用AES對檔案加解密解密
- PHP怎麼使用命令列生成檔案?PHP命令列
- 如何使用 logrotate 命令保持日誌檔案更新logrotate
- Python mmap的使用-檔案記憶體對映Python記憶體
- 比對檔案sam檔案的解讀
- 常用的使用者以及檔案管理命令有哪些,並演示命令以及用法。
- forfiles 命令是 Windows 作業系統中的一個命令列工具,用於在指定的檔案集合上執行特定的操作。 它允許使用者按照檔名、資料夾、檔案大小、修改日期等條件來篩選檔案,並對符合條件的檔案執行使用者指定的命令自動化檔案操作任務Windows作業系統命令列
- 使用記憶體對映檔案(mmap)記憶體
- 在.NET CORE中使用配置檔案:對 ConfigurationBuilder 的使用說明UI
- 把Oracle的命令輸出傳送到檔案的命令Oracle
- 檔案查詢命令
- 在 Linux 中使用ImageMagick命令列操作影像檔案Linux命令列
- python對檔案的操作Python
- 【DBA】Oracle 中DBA地址的檔案號使用的是相對檔案號(RELATIVE_FNO)Oracle
- 如何在命令列中使用 ftp 命令上傳和下載檔案命令列FTP
- iWant:一個去中心化的點對點共享檔案的命令列工具中心化命令列
- Linux常用的文字檔案操作命令Linux
- 使用 adb 命令修改 Android/data 目錄下的檔案(給碧藍檔案國服吃布丁)Android
- 使用PHPWord對Word檔案做模板替換PHP
- 探究:nuget工具對不再使用的dll檔案的處理策略
- 在Linux中,如何使用logrotate命令管理日誌檔案?Linuxlogrotate
- Linux常見命令-目錄檔案命令Linux
- Linux常用命令:檔案操作命令Linux
- Linux常用檔案操作命令Linux
- 命令列生成jar檔案命令列JAR
- Linux刪除檔案命令Linux
- artisan命令建立view檔案View
- Ubuntu 壓縮檔案命令Ubuntu
- 在Linux中,如何使用grep命令查詢檔案中的內容?Linux
- Postgres使用pg_resetwal命令修改wal日誌檔案大小的方法
- coredump檔案的使用