Dam*_*ith 5 oracle tnsnames tnsping
有什么简单的方法可以通过命令行列出我系统中所有可用的 tnsnames 吗?
每当我需要找出 tnsname 时,我只需使用tnsping命令搜索tnsnames.ora文件,然后在文本编辑器中打开它进行扫描。然后随后运行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)
)
)
Run Code Online (Sandbox Code Playgroud)
像这样编辑你的 .profile 或 .bash_profile :
[oracle@mydb12c~] vi .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'
Run Code Online (Sandbox Code Playgroud)
[oracle@mydb12c~]。.bash_配置文件
lstns : tnsnames.ora listing
Run Code Online (Sandbox Code Playgroud)
[oracle@mydb12c~]lstns
DB01
DB02
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10927 次 |
| 最近记录: |