我刚用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)
)
)
我不写实例名能登陆,说明数据库服务也是启动的。请问是怎么回事啊?
建库的时候一切正常,我也指定了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)
)
)
我不写实例名能登陆,说明数据库服务也是启动的。请问是怎么回事啊?
tnsping命令的前提是你已经在环境变量中的path设置了%ORACLE_HOME%\bin
回复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)))
添加(UR=A)
MYORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = foundert-aa7545)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myOrcl)
(UR=A)
)
)
(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