2016-09-22 37 views
0

我处于独特的情况,需要测试与Oracle数据库的服务器连接,但我无法访问任何帐户或密码。使用不带密码的sqlplus测试Oracle连接

连接需要测试的原因是因为很多时候我的服务器和数据库之间存在多层防火墙,特别是最近尝试访问RAC/Exadata数据库时,我们意识到在“扫描“IP范围(这是我唯一可见的范围)是不够的,并且有实际用于连接的底层物理/虚拟IP被阻止。如果我可以测试连接性,我至少可以确认数据库是可访问的。

我想过使用sqlplus test @ DB进行连接,其中“test”帐户实际上并不存在。如果我得到一个回复​​说不正确的用户名/密码登录被拒绝,那么至少我知道数据库连接正在工作,因为至少它已到达数据库以执行身份验证。但是我有审计问题(DBA是否认为有人试图破解系统)以及是否有真正的方法或命令来执行此测试。

+2

只是使用tnsping? – OldProgrammer

+0

tnsping只检查扫描监听器,不检查底层数据库,这是我的问题 – Ronbear

+1

对于检查“连通性”,** tnsping **是正确的工具。如果您担心审计,请问DBA为您创建一个帐户。所有这个帐户需要的是“CREATE SESSION”特权。 –

回答

0

像@OldProgrammer指出的,这是相当多的命令行

tnsping MY_SERVICE_NAME 

Here's a good post表示基本选项TNSPING的最佳情况。噢,我很确定如果他们想要,DBA仍然可以看到流量。

+0

tnsping显示确定,但我尝试连接时失败,这是我的问题。 来自http://www.orafaq.com/wiki/Tnspi​​ng: TNSPING是ORACLE HOME/bin目录中的一个实用程序,用于测试SQL * Net连接字符串是否可以连接到远程监听程序(检查套接字可达)。 注意:此实用程序仅测试侦听器是否可用。它无法判断监听器后面的数据库是否启动。 – Ronbear

+0

为什么他需要使用TNSPING,如果他可以尝试连接错误的用户名/密码? – AlexSmet

+0

你可以使用不好的登录,但是如果你正在测试连接,tnsping可以做到这一点,而且几乎只有这一点。如果您抛出已知错误的登录信息,那么您正在使用的安全接口没有真正的理由触及,我当然可以想到所有这些错误登录都会产生不良影响的情况。尽管如此,如果你想测试一些超越简单网络连接的东西,我同意tnsping是不够的 – SlimsGhost