我刚用Oracle的Database Configuration Assistant建了一个数据库,
建库的时候一切正常,我也指定了sys、system这两个超级用户的密码。但当我用PL SQL去登陆的时候,发现如果只填写用户名、密码,database一栏为空的话就能正常登陆。
如果我在database一栏指定了实例名的话,登陆的时候就会卡住,长时间没有任何反应。
不仅仅是PL SQL,我在CMD下面用sqlplus命令或者直接用Oracle的SQL PLUS工具登陆,
情况也是完全一样,不允许指定实例名。我检查了tnsnames.ora这个文件,里面的配置是正常的(MYORCL前面没有空格)。
MYORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = foundert-aa7545)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myOrcl)
)
)
我不写实例名能登陆,说明数据库服务也是启动的。请问是怎么回事啊?

解决方案 »

  1.   

    在cmd 命令行中运行tnsping myOrcl试一下,把控制台具体的报错信息贴出来,然后我们才能帮你分析出来原因,
    tnsping命令的前提是你已经在环境变量中的path设置了%ORACLE_HOME%\bin
      

  2.   

    回复2L:改成IP我试过了,不行的。
    回复3L:是单机的,我的数据库跟PL SQL工具在同一台机器上的。
    回复4L:我在CMD中输入tnsping myOrcl,显示出来的信息是:
            TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 29-11月-2
    011 09:15:04Copyright (c) 1997 Oracle Corporation.  All rights reserved.已使用的参数文件:
    F:\oracle\ora92\network\admin\sqlnet.ora
    已使用 TNSNAMES 适配器来解析别名
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST = foundert-aa7545)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sOrcl)))
      

  3.   

    打开tnsnames.ora文件
    添加(UR=A) 
    MYORCL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = foundert-aa7545)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = myOrcl)
    (UR=A) 
    )
    )
      

  4.   

    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
    (HOST = foundert-aa7545)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sOrcl)))
    从这段信息可以看出,你的oracle的数据库名称是sOrcl,而tnsnames.ora这个文件,里面的配置是正常的(MYORCL前面没有空格)。
    MYORCL =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = foundert-aa7545)(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = myOrcl)
    )
    )里的数据库名称为myOrcl,你在本地是否建立了2个数据库,还存在一个myOrcl的数据库,如果只有1个数据库,说明tnsname.ora的SERVICE_NAME参数不对,设置为SERVICE_NAME = sOrcl
      

  5.   

    soracl 和myorcl你自己应该知道用哪个的。