Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获取Oracle';小岛屿发展中国家_Oracle_Jdbc_Connection - Fatal编程技术网

如何获取Oracle';小岛屿发展中国家

如何获取Oracle';小岛屿发展中国家,oracle,jdbc,connection,Oracle,Jdbc,Connection,我有主机、端口、用户id和密码,但缺少连接到Oracle DBMS的SID。如何找到该服务器上的SID列表?简短的回答是您需要访问主机操作系统: 对于Unix,ps-ef | grep pmon将向您显示一个或多个名为ora_pmon_xxxx的进程,并且xxxx是实例名 在Windows中,我猜任务列表中也有类似的签名 实际上,在创建连接帐户时,此信息通常由管理数据库的人提供给您。如果您可以访问主机并且Oracle安装,则更好的方法是使用命令:lsnrctl status。这在Unix、Lin

我有主机、端口、用户id和密码,但缺少连接到Oracle DBMS的SID。如何找到该服务器上的SID列表?

简短的回答是您需要访问主机操作系统:

对于Unix,
ps-ef | grep pmon
将向您显示一个或多个名为
ora_pmon_xxxx
的进程,并且
xxxx
是实例名

在Windows中,我猜任务列表中也有类似的签名


实际上,在创建连接帐户时,此信息通常由管理数据库的人提供给您。

如果您可以访问主机并且Oracle安装,则更好的方法是使用命令:
lsnrctl status
。这在Unix、Linux和Windows机器上都适用。status命令将显示所有侦听器(及其关联的SID)


在上面的示例中,您可以使用连接字符串XEXDB、XE_XPT或XE连接到XE数据库

问题归结为:在主机X端口Y上运行的侦听器支持哪些ORACLE_SID或服务。根据此侦听器的配置安全程度,您可以从安装了lsnrctl的客户端使用lsnrctl命令看到这一点。要做到这一点,您确实需要在该客户端上安装oracle server。当你有你可以发行的

lsnrctl
set current_listener (description=(address=(host=X)(port=Y)(protocol=tcp)))
status
10g侦听器填充的默认设置会导致以下结果: TNS-01189:侦听器无法对用户进行身份验证

这是因为从10g开始,oracle默认 安全:本地操作系统身份验证
这意味着只有启动侦听器的本地操作系统用户才能向侦听器发出lsnrctl命令。监听器将拒绝回答任何其他用户。

< P>另一个要考虑的选项是UNIX上的文件/ETC/ORATAB或它在Windows上的等价物,我认为这是注册表蜂箱。
oratab应该列出主机上的所有sid,无论当前是否正在运行。

有一个nmap脚本可能会有所帮助,oracle sid brute:

它是与nmap一起安装在我的系统上的

nmap --script oracle-sid-brute -p 1521-1560 [host]
只有在列表中可以匹配SID时,这才有帮助。默认列表如下所示:


在Windows中,如果在taskmanager下看不到SID,则必须检查正在运行的服务(services.msc)以检查SID。例如:OracleServiceORCL假设ORCL是SIDL感谢您的澄清我没有在Windows平台上的经验我考虑过这种方法作为我的答案,但从技术上讲,这只适用于默认侦听器。使用lsnrctl更复杂的方法是首先通过ps ef | grep lsnr获取侦听器列表,然后为每个侦听器发出STATUS命令。不想使答案过于复杂,因为可能99%的安装使用@saritonin的默认侦听器setupComment,而@saritonin没有评论权限:“请注意,如果$ORACLE_SID参数是通配符
*
,则/etc/oratab可能没有帮助。”。
nmap --script oracle-sid-brute -p 1521-1560 [host]