如何列出tnsnames

有没有任何简单的方法通过命令行列出我的系统中所有可用的tnsnames?如何列出tnsnames

每当我需要找出一个TNSNAME,我只是单纯的搜索的tnsnames.ora文件,TNSPING命令,然后在文本编辑器中打开它扫描通过。然后运行tnsping [tnsname]检查连接健康状况。我在想如果有任何简单的命令,如tnslist或tns -l列出所有tnsnames,但我找不到这样的。

回答:

假设你有这样的tnsnames.ora文件:

DB01 = 

(DESCRIPTION =

(FAILOVER=off)

(LOAD_BALANCE=off)

(ADDRESS = (PROTOCOL = TCP)(HOST = db01-vip)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = mydb1)

)

)

DB02 =

(DESCRIPTION =

(FAILOVER=off)

(LOAD_BALANCE=off)

(ADDRESS = (PROTOCOL = TCP)(HOST = db02-vip)(PORT = 1531))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = mydb2)

)

)

编辑您的.profile或.bash_profile中是这样的:

甲骨文@ mydb12c〜]六.bash_profile中

ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/dbhome_1; export ORACLE_HOME 

...

alias lstns="sed -n '/DESCR/{x;p;d;}; x' $ORACLE_HOME/network/admin/tnsnames.ora | sed "s/=/${s}/""

echo 'lstns : tnsnames.ora listing'

[oracle @ mydb12c〜]。 .bash_profile中

lstns : tnsnames.ora listing 

甲骨文@ mydb12c〜] lstns

DB01 

DB02

回答:

没有tnsnames.ora文件列表命令。但是有几个选项可以放置tnsnames.ora文件。您只能使用find命令 oracle客户端搜索tnsnames.ora文件的优先级。

1) current directory (Linux, Windows) 

2) $TNS_ADMIN (Linux, Windows environment variable, Windows registry key)

3) $ORACLE_HOME/network/admin (Linux, Windows)

4) /etc (Linux)

5) %USERPROFILE%/AppData/Oracle (Windows 7).

[[email protected] ~]# find/-name tnsnames.ora

/opt/ora/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

/opt/ora/app/oracle/product/11.2.0/dbhome_1/network/admin/samples/tnsnames.ora

/home/oracle/diman/tnsnames.ora

[[email protected] ~]#

以上是 如何列出tnsnames 的全部内容, 来源链接: utcz.com/qa/263845.html

回到顶部