Sqlserver上对oracle的链接服务器连接时候卡死问题

有时候会遇到在sqlserver服务器上建立的对oracle的链接服务器出现无法连接的情况。
进行测试的时候会遇到卡死的状况。
这样会直接导致sqlserver的服务直接shutdown,需要重新开启sqlserver服务。

解决办法:
1、删除sqlserver上原来的oracle的链接服务器,重新设置。
用图形设置的话,无论有没先选择这里的“允许进程内”,在选择提供程序的时候都会卡死,直到sqlserver服务停止。


2、手工用脚本创建链接服务器,可以测试成功,但是如果勾选了 “允许进程内”,测试连接时候还是会卡死。
3、最后卸载了sqlserver服务器上的oracle的client端,重新安装oracle client端,不过第一次设置提供程序的时候还是会卡住,第二次成功。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22996654/viewspace-2149884/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22996654/viewspace-2149884/

### Oracle SQL*Plus 登录问题解决方案 当尝试通过 SQL*Plus 登录到 Oracle 数据库时,如果遇到诸如 `ORA-12560: TNS:协议适配器错误` 或者登录卡顿时,可以按照以下方法逐一排查并解决问题。 #### 一、TNS 配置文件检查 确保 TNSNAMES.ORA 文件配置正确。此文件通常位于 `$ORACLE_HOME/network/admin/tnsnames.ora` 路径下[^3]。以下是标准的 TNS 配置示例: ```plaintext MYDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name_or_ip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = your_service_name) ) ) ``` 确认其中的 HOST 和 SERVICE_NAME 是否匹配目标数据库的实际设置。可以通过 ping 测试网络连通性和 telnet 测试端口开放情况来验证连接性。 #### 二、环境变量配置 在使用 SQL*Plus 前,需确保设置了必要的环境变量,例如 `ORACLE_HOME`, `PATH`, 和 `TNS_ADMIN`。对于 Linux 系统,在 `.bash_profile` 中添加如下内容[^2]: ```bash export ORACLE_HOME=/path/to/oracle/home export PATH=$ORACLE_HOME/bin:$PATH export TNS_ADMIN=$ORACLE_HOME/network/admin ``` 执行命令使更改生效: ```bash source ~/.bash_profile ``` #### 三、解决 ORA-12560 错误 该错误通常是由于客户端无法成功解析服务器地址引起的。除了检查 TNSNAMES.ORA 外,还需注意监听程序的状态。可以在服务端运行以下命令启动监听器并查看其状态: ```bash lsnrctl start lsnrctl status ``` 如果监听器未正常工作,则需要修复或重新配置监听器文件 LISTENER.ORA 并重启监听进程。 #### 四、处理登录卡顿现象 针对 SQL*Plus 登录过程中出现的延迟甚至卡死状况,可能的原因之一涉及 `/etc/nsswitch.conf` 的 hosts 行配置不当[^4]。具体调整方式如下所示: 修改前: ```plaintext hosts: files dns myhostname ``` 修改后: ```plaintext hosts: files myhostname ``` 保存改动之后再次测试连接速度是否有改善。 以上即为常见的几种关于 Oracle SQL*Plus 登录失败或者性能不佳情形下的应对策略总结。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值