RT我用的是Oracle9i的数据库,连接本地的Oracle没有任何问题,但是我连接其他机器的Oracle的时候总是报出没有没有监听器这事怎么回事,监听那些东西都是启动了的
解决方案 »
- SQL判空问题
- 定义连接
- 查询oracle的临时表,查询不到数据。
- 求一个分组统计的sql
- oracle 9i安装问题
- 求救!!用vb向oracle中BLOB字段导入数据奇怪错误!
- 新手提问:关于字段更新
- 在oracle中写触发器时如果是for each row 就不能访问全表,只能访问:new 和:old ,
- database link 数据链路问题 在线等待 请各位高手快帮忙!!
- Oracle :在course表中创建一个INSERT触发器,插入课程名,如果已存在,则不执行插入操作,并提示用户。
- Oracle由A恢复到B的脚本
- 在线等?求log explorer 的oracle版本,需要恢复数据
conn user/password@'target_host_or_ip:port_number/instance_name'
连接其他机器的Oracle 需要配置tnsnames 的..文件在$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora
加上下面这段:OracleSID =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = YourIpAddress)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SIDName)
)
)
配完后重启监听就可以了:
lsnrctl restart
sqlplus /nolog如果用第三方工具,如TOAD,他们会自动去tnsnames文件里搜索SIDname,连接式只要选择下连接哪个sid就可以了..
如果你要连接的数据库所在的服务器ip为192.168.0.20,实例注册的监听器端口为1522,实例名为orcl,那么sqlplus /nolog
conn user/password@'192.168.0.20:1522/orcl'
见过我们公司搞开发这么用过,不过个人认为配tnsname方便点.. 每次写ip地址,麻烦.. 而且用第三方工具时(Toad,pl/sql developer),就必须要配置了..
一般都是用tnsnames,但只是测试连接的问题的话,用easy connect方便。
还要知道那 个机器的Oracle端口!
如果你连接的机器这些都没搞好,你在你本机器上再怎么搞也是没用的!
1、打开cmd输入netca。
2、选择【本地net服务名配置】→下一步。
3、选择【添加】→下一步。
4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步。
5、选择【tcp】→下一步。
6、在【主机名】中输入你想要连接的服务器ip,端口号不变→下一步。
7、选择【进行测试】→下一步。(当然你也可以选择不测试)
※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功。】
表明测试成功。
※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听
服务已经打开。
8、在【net服务名中】输入你想要使用的本地的服务名→下一步。
※就是【sqlplus user/passwd @本地服务名】。
9、选择【否】→下一步。
10、出现【net服务配置完毕】字样→下一步。
11、点击【完成】完成服务配置。
12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器:
sqlplus user_name/password@本地服务名
一定记住,上面的本地服务名是你第8步写的服务名
要支持easy connect需要在sqlnet.ora里修改设置。
监听连不上,应该是网络问题,用tnsping tnsname,先看看可不可以成功,如果tnsping tnsname可以成功的话,如果是window系统就是临时端口的问题了,你需要关闭服务器上的防火墙或者是开启shared socket。可以参考 “window下如何开放Oracle的端口 ”