好文档 - 专业文书写作范文服务资料分享网站

WIN764位旗舰版下安装Oracle11gSqlDeveloper

天下 分享 时间: 加入收藏 我要投稿 点赞

WIN7 64位旗舰版 Oracle 11g SqlDeveloper

安装过程及折腾记录

KeyWord:WIN7, 64位, 旗舰版, oracle 11g ,Oracle SqlDeveloper 连接错误JDK,

The Network Adapter could not establish the connection 供应商代码 20 TNS-03505 无法解析名称

环境变量,tnsping,nsnames.ora,sqlnet.ora

首次安装的是:WIN7旗舰版+Oracle11gR264bit服务端+Oracle11gR264bit客户端 安装完成后可导入dmp文件,打开64位客户端自带的Oracle Sqldeveloper时, 提示需要jdk/java.exe支持:

浏览找到Oracle安装目录下的sdk里的java.exe后点OK,报错:

上网查得知Oracle Sqldeveloper是用java写的,需要jdk的支持,而这个版本的Oracle客户端没有自带jdk,Oracle安装目录下的jdk是64位的,而这里的Oracle Sqldeveloper是32位的,不配套。要么下载一个64位的Oracle Sqldeveloper,要么另外安装一个jdk。

网上下载了一个jdk1.7版本,安装好之后,将其指定为Oracle Sqldeveloper所需的java.exe的路径,点OK弹框提示当前版本的Oracle Sqldeveloper支持的jdk最高版本为1.6,而我的jdk为1.7版本(实测使用1.7并没有问题)。

至此,Oracle Sqldeveloper软件的界面总算能打开了。我艹,太来之不易了。 在Oracle Sqldeveloper里新建连接,连接配置如下图所示:

测试连接的时候,总是提示这个错误(同上图中的的红色出错信息):

【遇到错误应该先想到使用tnsping测试监听是否正常】

网上查了很多方法都没解决问题,在ONT上发现一位仁兄跟我的问题相同,他的问题最终解决了,好像是装了Loop Adapter还是什么东西,我也装了一个,装的过程有点小曲折,使用windows的添加硬件窗口添加硬件时,一直在搜素,却出不来结果,这时根据网上的提示,直接从CMD窗口进去添加Loop Adapter才成功了。

装了之后还是不行,没办法,只好根据一个帖子提到的,又装了个32位的客户端,Oracle Sqldeveloper终于能连上数据库了。

后来第二天使用时发现又连不上了,最后发现是因为防火墙不知道何时被打开了,关闭防火墙之后连接又正常了。

今天新建了一个kkzx数据库实例和一个kkzx表空间,导入dmp的时候,发现导不进去,cmd窗口总是提示错误的连接符,经检查连接符确实没有错。使用tnsping kkzx测试,得知

kkzx服务有问题:(图是后来配的用的tnsping orcl。当时用的是tnsping kkzx)

网上查了这个错误,说是环境变量的问题。将环境变量作了以下更改: 原始的环境变量:

D:\\Oracle11client32\\product\\11.2.0\\client_1\\bin;D:\\Oracle11g\\product\\11.2.0\\dbhome_1\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\Broadcom\\Broadcom 802.11 Network Adapter;;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Intel\\OpenCL SDK\\2.0\\bin\\x86;C:\\Program Files (x86)\\Intel\\OpenCL SDK\\2.0\\bin\\x64;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\syswow64;C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Tools\\binn\\

修改之后:

D:\\Oracle11g\\product\\11.2.0\\dbhome_1\\bin;D:\\Oracle11client32\\product\\11.2.0\\client_1\\bin;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\Broadcom\\Broadcom 802.11 Network Adapter;;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;%SYSTEMROOT%\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Intel\\OpenCL SDK\\2.0\\bin\\x86;C:\\Program Files (x86)\\Intel\\OpenCL SDK\\2.0\\bin\\x64;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine

Components\\IPT;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\;C:\\Program Files\\WIDCOMM\\Bluetooth Software\\syswow64;C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Tools\\binn\\

改完环境变量之后tnsping就正常了。

【后来想到一种方法不用改环境变量也可以解决这种问题,再次奉上】 sqlnet.ora文件的内容实际上只有这两句:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 在有些情况下第二句有可能更简单:

NAMES.DIRECTORY_PATH= (TNSNAMES)

猜想tnsping需要通过这里的NAMES.DIRECTORY_PATH值找到TNSNAMES.ora文件 (TNSNAMES) 表示tns服务信息记录在当前目录下的tnsnames.ora文件里,但是现在 D:\\Oracle11g\\product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN目录下有tnsnames.ora文件, 但是D:\\Oracle11client32\\product\\11.2.0\\client_1\\network\\admin

这个目录下面是没有tnsnames.ora文件的,把上面那个目录里的nsnames.ora文件拷过来,然后tnsping测试通过,大功告成!!!

这样就是不修改环境变量解决问题的方法。

实际上我认为这才是解决问题的正确途径,因为tnsnames信息本来就应该是存在于客户端而不是服务端的吧。

Tnsping正常之后去尝试用Oracle Sqldeveloper去连接数据库,还是连不上。 当时实在没办法,干脆把Oracle全部卸载后重装了。

后面会附上完全卸载Oracle的方法(使用Orale自带的卸载会有残留文件和注册表信息,影响再次安装。)

重装后Oracle Developer连数据库还是这个错误:

经测试tnsping还是有问题,这回知道要改环境变量了。改完环境变量,tnsping正常了。 [sqlnet.ora有两个,一个是客户端安装目录下的,一个是服务端安装目录下的,环境变量就是控制tnsping命令使用正确的参数文件,即服务端安装目录下的sqlnet.ora]

但是,Oracle Developer还是连不上!!!!!!!!尼玛,要不要这么坑爹啊!!!!!!!!

继续上网查,受网上启发,使用sqlplus tkoa/tkoa尝试登陆sqlplus,结果提示用户名密码错误,想了想,Oracle11g有用户名密码大小写敏感的问题,想起来当时设的用户名密码确实是大写,于是改用sqlplus TKOA/TKOA登录sqlplus,还真成功了。大受启发,再回来观察Oracle Sqldeveloper里的连接配置,原来如此:

就上图的连接配置来说,有两个错误:用户名密码应该是大写,这里用了小写。 主机名不能用sevenpc,得用localhost。

猜想:因为tnsnames.ora文件里写的是localhost而不是sevenpc,这里必须和tnsnames.ora里的完全一致。如果把tnsnames.ora文件里的localhost改成sevenpc,CMD窗口里的tnsping会出问题,提示无监听程序。

ORACLE连接的原理:服务端监听,客户端访问。“两头凑”的方式完成一个连接。

如果tnsping一个数据库实例的服务成功,则说明服务端是没问题的,客户端这时如果还连不上,只能是客户端的问题。

测试一个用户名和密码是否可以使用,可以在CMD窗口里使用这个用户名密码登录sqlplus来测试。具体命令:sqlplus 用户名/密码,如果连接上了,则说明这个用户名密码可以使用。如果不行,则看看这个用户有没有被创建,有没有被锁,有没有被赋予相关的角色。

问题查找方法总结:

1、先检查oracle的服务启动了没,本机作为服务器的话起码需要启动TNSListener和orcl 两个服务。

2、Tnsping测试此数据库实例的监听有没有问题。 3、Sqlplus 用户名/密码 测试用户名密码是否可用。

4、检查客户端的连接配置是否正确。11g的话,注意用户名密码是大小写敏感的。并且主 机名必须和tnsnames.ora里的相同,这样才能完成“对接”。

注意:如果是连接非本机的服务端,对方未开机或未启动服务也会看到这样的错误:

WIN764位旗舰版下安装Oracle11gSqlDeveloper

WIN764位旗舰版Oracle11gSqlDeveloper安装过程及折腾记录KeyWord:WIN7,64位,旗舰版,oracle11g,OracleSqlDeveloper连接错误JDK,TheNetworkAdaptercouldnotestablishtheconnection供
推荐度:
点击下载文档文档为doc格式
3nyxh0vtke3gzju6v8k6
领取福利

微信扫码领取福利

微信扫码分享