菜鸟问题:一台机器上配了2个数据库实例,其中一个正常,另一个总是连不上! 操作系统是win2003,oracle 10.2.0 两个实例,在服务里面都看见启动了,aaa正常,连接bbb的时候总是显示:监听程序当前无法识别连接描述符中请求的服务。我用的是一个监听程序,而且偶尔还能连上,不知道什么问题,请各位高手指教!谢谢~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 配置一个监听怎么可能连两个实例呢。登入另外一个的的时候加个@sid就可以了。 使用dba权限给bbb授权:grant resource,connect,dba to bbb; 个人认为:aaa实例已经占用了 1521 所以bbb实例要换另外一个 端口,如使用 1522 我登录的时候用了@bbb也不行啊,还是报同样的错误! 我的就是一台机器两个实例的。如果是本机登录只要那个登录不上加上SIDsqlplus username@sid/passwd;如果是远程的话要配置两个tns以实例来区别如下是192.168.2.201一个是testing一个是develop的实例201D = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = develop) ) )201T = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = testing) ) )windows的直接用NET MANAGER来建,很简单 使用net configuration assistant重新配置一下连接至bbb库的连接串,如:conn_bbb,则:在sqlplus或pl/sql下:conn bbb/密码@conn_bbb; 我的本机两个实例一个是默认的develop不需要加@sid一个是testing的需要加个@testingNot logged onSQL> conn sicuser/sicpassConnected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as sicuserSQL> conn bwdasoc/bwdasocNot logged onSQL> conn bwdasoc/bwdasoc@testingConnected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 Connected as bwdasocSQ 我都建好了,用tnsping是没有问题的 我就是用9楼的朋友说的方法登陆的,aaa是没有问题,但是bbb还是老问题:监听程序当前无法识别连接描述符中请求的服务 1、两个监听ping都通吗?2、你输入用户名和密码的时候加监听名字了吗? 在配置如conn_bbb时,测试的情况如何? 12楼的,两个都ping了,都正常,输入时sys/test@aaa as sysdba正常,sys/test@bbb as sysdba就出现:监听程序当前无法识别连接描述符中请求的服务 在配置net massager中配置bbb测试的时候就出现:监听程序当前无法识别连接描述符中请求的服务。我真无奈了!!!! tnsping通,sys都不可以登录。费解! 是不是你安装数据库实例时,改动了全局变量名(缺省为Orcl)或端口?配置连接串时测试都不能通过,后面肯定用不了。 orcl我改成了aaa,可那是实例名啊,端口没有改~ 哎,太奇怪了吧。删掉重装吧。只能说明你这个服务OracleOraDb10g_home1TNSListener是好的,并且配置也不错。看来是那数据库的问题。直接DBCA删掉再重建设置好SID后其他最好都默认。 1、配置一个监听器同时监听两个实例是完全可以的,只要端口相同就行。 TNSListener要设置正确,一般我都不指定实例,这样可以监听N多实例。2、问题可能是bbb数据库没有真正启动,虽然你看到服务都启动了。 你试一下运行Database Configuration Assistant,选择“配置数据库选项”,再选择bbb数据库,看一下它的选项,不做操作,退出。然后再连接bbb试试。 很可能是listener.ora文件配置的不对,贴出来看看. bbb在listener.ora种没有服务名信息吧? listener.ora配置成类似如下的内容:LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = aaa) (ORACLE_HOME = D:\oracle\) (SID_NAME = aaa) ) (SID_DESC = (GLOBAL_DBNAME = bbb) (ORACLE_HOME = D:\oracle\) (SID_NAME = bbb) ) ) listener.ora配置如下:# listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora# Generated by Oracle configuration tools.SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) )LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) )我按照26楼的改了还是不行啊~~~ 已经解决,感谢oracledbalgtu、linzhangs,你们的方法很正确,是我自己操作的问题~~不好意思各位!!! AWK替换操作,请大神指点 求简单的select语句 数据库日志满了,有警告功能吗 Oracle 10g 数据库连接超时 系统Windows XP SP2 急问!一句动态sql总是报错:缺失表达式 请朋友们帮忙推荐一下学习oracle的书,需要有高级管理以及存储过程方面的详细章节,谢谢大家! PL/SQL出错,各位帮忙看看是什么原因 怎么找不到表呢? Oracle如何处理计算结果当条件的? 函数调用系统包dbms_metadata问题 如果ORACLE数据库彻底不能启动,数据存在D盘,能否通过重装ORACLE来回复数据? oracle9i日志文件下的sms.ora大文件怎么回事?
所以bbb实例要换另外一个 端口,如使用 1522
如果是本机登录只要那个登录不上加上SIDsqlplus username@sid/passwd;
如果是远程的话要配置两个tns
以实例来区别如下是192.168.2.201一个是testing一个是develop的实例
201D =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = develop)
)
)
201T =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.201)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testing)
)
)
windows的直接用NET MANAGER来建,很简单
在sqlplus或pl/sql下:conn bbb/密码@conn_bbb;
Not logged on
SQL> conn sicuser/sicpass
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as sicuserSQL> conn bwdasoc/bwdasoc
Not logged onSQL> conn bwdasoc/bwdasoc@testing
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as bwdasocSQ
2、你输入用户名和密码的时候加监听名字了吗?
我真无奈了!!!!
配置连接串时测试都不能通过,后面肯定用不了。
看来是那数据库的问题。
直接DBCA删掉再重建设置好SID后其他最好都默认。
TNSListener要设置正确,一般我都不指定实例,这样可以监听N多实例。2、问题可能是bbb数据库没有真正启动,虽然你看到服务都启动了。
你试一下运行Database Configuration Assistant,选择“配置数据库选项”,
再选择bbb数据库,看一下它的选项,不做操作,退出。然后再连接bbb试试。
贴出来看看.
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
) SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = aaa)
(ORACLE_HOME = D:\oracle\)
(SID_NAME = aaa)
)
(SID_DESC =
(GLOBAL_DBNAME = bbb)
(ORACLE_HOME = D:\oracle\)
(SID_NAME = bbb)
)
)
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
我按照26楼的改了还是不行啊~~~