PLSQL Developer连接Oracle11g 64位数据库配置详解

最近换了台64bit的电脑,所以oracle数据库也跟着换成了64bit的,不过 问题也随之产生,由于plsql developer暂时没有64bit版本的,所以无法连接到64bit的oracle上,经过一番折腾,终于成功连接到数据库上,现记录下配置过程,以 便查看。

1. 下载instantclient-basic-win32-11.2.0.1.0(oracle官网下载地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html , 下载地址2:http://download.csdn.net/detail/czw2010/5732241)

2. 解压instantclient-basic-win32-11.2.0.1.0并放置在oracle安装目录的product下(放置位置无强制要求,可随意放置),如下图:

3. 拷贝E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames.ora文件到instantclient_11_2下。

4. 打开PLSQL Developer,选择Tools -> perference -> Connection,配置其中的Oracle Home和OCI Library项,如下图所示:

其中, Oracle Home:E:\app\Administrator\product\instantclient_11_2

OCI Library:E:\app\Administrator\product\instantclient_11_2\oci.dll

5.  配置系统环境变量

右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":
            1>.选择"Path" - 点击"编辑", 把 "E:\app\Administrator\product\instantclient_11_2;" 加入;
            2>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置为"E:\app\Administrator\product\instantclient_11_2;", 点击"确定";
            3>.点击"新建", 变量名设置为"NLS_LANG", 变量值设置为"SIMPLIFIED CHINESE_CHINA.ZHS16GBK", 点击"确定";

远程连接oracle服务器:

服务器端

配置:oracle11g R2 x64

1.设置监听

a.启动栏 -> 开始 -> 程序 -> Oracle-OraDb11g_home1 -> 配置和移植工具 -> Net Manager

b.Oracle  Net 配置 -> 本地 -> 监听程序 -> LISTENER ,查看是否有本地地址在监听,没有则添加,主机:"localhost",端口:1521,协议:TCP/IP

2.关闭所有防火墙(包括Window防火墙)

3.启动TNS监听服务:lsnrctl  start  (此程序LSNRCTL.exe位于oracle_path/product/11.2.0/dbhome_1/BIN目录下

客户端(Windows)

1.下载Instant Client for Microsoft Windows (32bit) 并安装,地址:   instant client下载

2.将instant client的安装目录加入path环境变量中

3.创建tnsnames.ora配置文件,内容格式如下:

  1. # tnsnames.ora Network Configuration File: C:\e\orcldb\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora
  2. # Generated by Oracle configuration tools.
  3. WSR =
  4. (DESCRIPTION =
  5. (ADDRESS_LIST =
  6. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.112)(PORT = 1521))
  7. )
  8. (CONNECT_DATA =
  9. (SERVICE_NAME = orcl)
  10. )
  11. )
  12. ORACLR_CONNECTION_DATA =
  13. (DESCRIPTION =
  14. (ADDRESS_LIST =
  15. (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  16. )
  17. (CONNECT_DATA =
  18. (SID = CLRExtProc)
  19. (PRESENTATION = RO)
  20. )
  21. )
  22. LISTENER_ORCL =
  23. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  24. ORCL =
  25. (DESCRIPTION =
  26. (ADDRESS_LIST =
  27. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  28. )
  29. (CONNECT_DATA =
  30. (SERVER = DEDICATED)
  31. (SERVICE_NAME = orcl)
  32. )
  33. )

比如此文件,我创建的TNS服务名为WRS,Oracle服务器地址为192.168.1.112,Oracle服务器监听端口为1521,连接的Oracle数据库名为orcl,可以按此格式进行替换。

4.添加TNS_ADMIN环境变量,指向创建的tnsnames.ora配置文件。

至此,配置已经完成,可以用pl/sql developer之类的工具连接远程oracle数据库,database即为添加的tns服务名(这里为WSR)

如果要用odbc连接数据库,还要添加odbc数据源,64位系统用C:\Windows\SysWOW64\odbcad32.exe,32位系统用C:\Windows\System32\odbcad32.exe

第二种情况:

本机未安装oracle服务器,也未安装oracle客户端。但是安装了pl sql development、toad sql development、sql navigator等管理数据库的工具。在虚拟机或者另一台电脑上安装了oracle服务器,也就是虚拟机或者另一台电脑此时作为服务器。

这种情况下,本人以pl sql development远程连接ORACLE服务端数据库为例:

1、在安装oracle服务器的机器上搜索下列文件:

  • oci.dll
  • ocijdbc10.dll
  • ociw32.dll
  • orannzsbb10.dll
  • oraocci10.dll
  • oraociei10.dll
  • sqlnet.ora
  • tnsnames.ora
  • classes12.jar
  • ojdbc14.jar

把这些找到的文件复制放到一个文件夹,如 oraclient,将此文件夹复制到客户端机器上。如放置路径为 D:oraclient。

2、配置tnsnames.ora,修改其中的数据库连接串。

  1. oracledata =
  2. (DESCRIPTION =
  3. (ADDRESS_LIST =
  4. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
  5. (CONNECT_DATA =
  6. (SERVICE_NAME = oracledata)
  7. )

其中,oracledata是要连接的服务名;HOST = 192.168.0.58,是服务器IP地址;PORT = 1521是端口号。

3、添加第一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:oraclient,特别是重装后或其它操作,忘 了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。这步是最重要的。

添加第二个环境变量(可有可无):“NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)(本步骤暂时要做对,如果编码不对,会产生乱码)。

4、下载并安装PL SQL Developer配置应用:

打开PL SQL Developer,登入界面点取消,进入后选择菜单栏 tools->preferences->connection :

  1. Oracle Home=D:oracleclient
  2. OCI library=D:oracleclientoci.dll

5、再次打开plsql则会在database中有oracledata 选项输入用户名密码就可以登陆。

一、下载

下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

这是Oracle Instant Client的下载首页,有很多种版本可供下载。

但要注意第三方工具如:PL/SQL Developer和Toad的版本,32位的要对应32位的OracleInstant Client,不要因为系统是64位的就下载64位的,这个要注意。

二,配置

把下载的instantclient-basic-nt-11.2.0.2.0.zip压缩包解压,放到 C:\instantclient_11_2 目录下。

在“环境变量”的“系统变量”中增加:

    1. ORACLE_HOME = C:\instantclient_11_2
    2. TNS_ADMIN = C:\instantclient_11_2
    3. NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK

修改Path变量,在后面添加 C:\instantclient_11_2

三,新建tnsnames.ora文件

在C:\instantclient_11_2 新建一个tnsnames.ora文件,增加自己的数据库别名配置。

示例如下:

MyDB=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST= 172.16.1.16)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ora10g)

)

)

注意格式要排列好

主要改 = 前面的别名,Host为IP地址, SERVICE_NAME为数据库服务器的实例名。

四,卸载方法

“环境变量”中的“系统变量”中:

    1. 删除 ORACLE_HOME,TNS_ADMIN, NLS_LANG 三个变量,修改path变量,去掉C:\instantclient_11_2目录
    2. 删除C:\instantclient_11_2目录

五,第三方工具使用

上面的任何一种客户端配置好后,都可以安装Toad 或者PL/SQL Developer 工具,不需要再额外进行任何设置,即可使用。

Error while trying to retrieve text for error ORA-01019

这个问题网上查找很久,尝试的解决方法很多,但最终我的方案是:

1、删除Oracle服务端;方法可以在网上搜,要删干净;

2、删除ODAC及所有组件;

3、保留Instant Client及其安装目录,主要是networkADMINtnsnames.ORA

4、重新安装Oracle服务端;

此时接所有客户端连接完全正常!

小结:

1、刚开始怀疑是64位Oracle驱动路径(x86)引起的bug,最后得出的结论是同一台机器,最好不要装两个Oracle客户端 ,服务端+客户端也不推荐,会引起一些潜在的问题,原因不明。

2、64位的Oracle服务端+32位的Oracle客户端,会有一些潜在的问题,最好32位对32位,包括其它软件程序。

如何设置Oracle的环境变量呢?

如果从Windows控制台命令窗口输入进入数据库的命令:sqlplus "/as sysdba"

有可能会提示错误,导致不能进入到Oracle数据库中。这是因为在安装Oracle数据库软件时没有对Windows系统的环境变量进行设置,所以导致Windows识别不出Oracle的SQLPLUS命令。

我们需要在环境变量中添加【变量】:“ORACLE_HOME”,【变量值】中输入oracle安装目录路径,例如:“D:/Program File/oracle/product/10.2.0/db_1”即可。

连接成功后可以通过后台进程查看SQL*plus是32位还是64位的。

ORA-12638: 身份证明检索失败 解决方法

解决方案:

D:\app\sabre\product\11.2.0\client_1\NETWORK\ADMIN

此目录下找到sqlnet.ora文件,如果存在SQLNET.AUTHENTICATION_SERVICES= (NTS)设置,则修改为:SQLNET.AUTHENTICATION_SERVICES= (NONE),如果不存在,则直接添加SQLNET.AUTHENTICATION_SERVICES= (NONE),我的问题得以解决。

SQLNET.AUTHENTICATION_SERVICES 表示oracle使用哪种验证方式,NTS表示采用本地操作系统认证,NONE表示将采用口令文件方式认证。设定了none后,本地的操作系统认证将不被许可,oracle将采用口令文件认证(此时 remote_login_passwordfile=exclusive)如connect /as sysdba 登录,后报错RA-01031: insufficient privileges,实际上是要求你输入sysdba的用户名和密码

语句创建DBlink

create public database link mgdagold connect to dagl IDENTIFIED BY dagl
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.26.169.51)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = MGDOCU)
)
)'

oracle 网络环境配置的更多相关文章

  1. OCM_第二天课程:Section1 —》配置 Oracle 网络环境

    注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...

  2. CentOS(六)--Linux系统的网络环境配置

    Linux系统下的网络环境配置,Linux.Unix就是网络的世界,所以在Linux系统中如何配置网络环境变量是至关重要的,这里将会给出3种Linux系统下网络环境配置的方法! 在配置网络环境之前,首 ...

  3. oracle 网络访问配置tnsnames.ora文件的路径

    转自:https://blog.csdn.net/jaray/article/details/22379811 oracle 网络访问配置tnsnames.ora文件的路径 oracle 9i  是: ...

  4. Linux虚拟机修改ip地址,查看网关,网络环境配置

    修改虚拟机的ip地址: 进入如下界面,直接修改子网ip即可. 查看网关: Linux网络环境配置: 第一种方式(自动获取): 说明:登陆后,通过界面来设置自动获取ip 我们先进入设置: 把自动连接勾上 ...

  5. OCA读书笔记(6) - 配置Oracle网络环境

    6.Configuring the Oracle Network Environment su - grid装grid时自动创建了监听netca--创建新的监听 vi $ORACLE_HOME/net ...

  6. Oracle记录-Linux JDK与Oracle profile环境配置

    1.LINUX JDK环境配置 #set java environment export JAVA_HOME=/usr/java/jdk1.7.0_79 export JRE_HOME=/usr/ja ...

  7. Windows Server 2008在网络环境配置打印机

    下面学习在Windows Server2008在网络环境搭建打印机服务器,打印机服务器也是很常用的,特别是在中大型企业里面,打印机数量比较多为方便管理,可以搭建一个打印机服务,这里介绍一下,本地打印机 ...

  8. linux网络环境配置

    第一种方法: (red hat) (1)用root身份登录,运行setup命令进入到text mode setup utility 对网络进行配置,这里可以进行ip,子网掩码,默认网关,dns的设置. ...

  9. python 连接oracle基础环境配置方法

    配置基础: 1.python3.7 2.oracle server 11g 64位 3.PLSQL 64位 4.instantclient-basic-windows.x64-11.2.0.4.0这个 ...

随机推荐

  1. nginx反向代理解决跨域问题

    跨域:浏览器从一个域名的网页去请求另一个域名的资源时,域名.端口.协议任一不同,都是跨域 . 下表格为前后端分离的域名,技术信息:   域名 服务器 使用技术 前端 http://b.yynf.com ...

  2. 基于Hadoop开发网络云盘系统架构设计方案第一稿

    引言 云计算技术的发展,各种网络云盘技术如雨后春笋,层出不穷,百度.新浪.网易都推出了自己的云盘系统,本文基于开源框架Hadoop设计实现了一套自己的网络云盘系统,方案为初步设计方案,不断完善中. 一 ...

  3. JVM内存监视手段和内存溢出解决方案

    引言 本文仅关注一些常见的虚拟机内存监视手段,以及JVM运行时数据区各个部分内存溢出的发生和对应的解决方案,总体来说属于概括性总结,涉及相对不是很深入,目的是让自己和其它初学者有一个框架性.概念性的了 ...

  4. var_dump() 查看字符的类型 方法

  5. C++ 什么叫做离散化

    C++ 什么叫做离散化 如果说今年这时候OIBH问得最多的问题是二分图,那么去年这时候问得最多的算是离散化了.对于“什么是离散化”,搜索帖子你会发现有各种说法,比如“排序后处理”.“对坐标的近似处理” ...

  6. post 中文数据到elasticsearch restful接口报json_parse_exception 问题

    我们的客户端程序直接调用es 的restful接口, 通过post json数据去查询, 但post数据有中文的时候,有些中文会报异常,有些中文不会 {"error":{" ...

  7. php array_flip() 删除数组重复元素——大彻大悟

    1. php array_flip() 删除数组重复元素,如果用于一维索引数组,好理解. [root@BG-DB:~]$more arr.php  <?php         $arr = ar ...

  8. 如何分析 WindowsDump:Dump 起源与初始设置

    https://www.qcloud.com/community/article/511817 转者注:让我感觉以前看蓝屏都白看了~~~原来蓝屏也可以分析具体原因. 适用场景:Windows 系列系统 ...

  9. 处理存在UNASSIGNED的主分片导致Elasticsearch集群状态为Red的问题

    我们默认是开启了自动分配的,但仍然会因为服务器软硬件的原因导致分配分配失败,从而出现UNASSIGNED的分片,如果存在该状态的主分片则会导致集群为Red状态.此时我们可以通过reroute API进 ...

  10. JavaScript词法分析(尽力理解)

    JavaScript中在调用函数的那一瞬间之前,会先进行词法分析 词法分析的过程: 当函数调用的前一瞬间,会先形成一个激活对象:Avtive Object(AO),并会分析以下3个方面: 1:函数参数 ...