Navicat Premium 11.2.17激活(PLSQL Developer 不能连接 oracle 11g 64位 的解决办法)

Navicat Premium 11.2.17激活(PLSQL Developer 不能连接 oracle 11g 64位 的解决办法)


#原文来自:http://www.cnblogs.com/xwdreamer/p/3649993.html 

#我用的是第一个方法,我记录一下我的操作过程

1、我安装的是oracle 11g express edition,所以下载了一个instantclient-basic-win32-11.2.0.1.0的简化客户端

2、将其解压的一个目录(其实可以任何路径):e:oraclexeinstantclient_11_2

3、在这个目录下面增加两个文件夹:NETWORK ADMIN,完整路径为e:oraclexeinstantclient_11_2NETWORKADMIN

4、将oracle的自动生成的istener.ora、sqlnet.ora、tnsnames.ora复制到e:oraclexeinstantclient_11_2NETWORKADMIN

5、然后打开PLSQL,不用登录,然后配置TOOL->perference->Connection的

OCI Library:e:oraclexeinstantclient_11_2oci.dll

Navicat Premium 11.2.17激活Oracle_Home:e:oraclexeinstantclient_11_2

6、然后重启PLSQL,输入账号、密码、实例,就可以登录了,但是提示 NLS_LANG is not defined on the client

   那我就在系统变量中增加了:NLS_LANG,并配置值为:SIMPLIFIED CHINESE_CHINA.al32utf8,这个值根据实际情况而变化

7、ok,一切完成,

另外补充:

因为是从10G 32位的DMP文件,要导入到11G 64位,发现有一些报错,说值太长了,经查是原来的字符集是ZHS16GBK,而现在的字符串变成了al32utf8了,原来一个汉字是2个字节,而现在将需要3个字节,所以就出现了错误,所以我将字符集改回ZHS16GBK,过程记录如下:

SQL> conn /as sysdba ;
–提示:Connected. 

SQL> shutdown immediate;
–提示:ORA-01081: cannot start already-running ORACLE – shut it down first 

SQL> startup mount 
–提示:Database closed. 
–提示:Database dismounted. 
–提示:ORACLE instance shut down.

SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION; 
–提示:ORACLE instance started. 
–提示:Total System Global Area bytes 
–提示:Fixed Size                   bytes 
–提示:Variable Size             bytes 
–提示:Database Buffers           bytes 
–提示:Redo Buffers                 bytes 
–提示:Database mounted. 

SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
–提示:Session altered.

SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
–提示:System altered. 

SQL> alter database open;
–提示:System altered.

SQL> ALTER DATABASE CHARACTER SET ZHS16GBK; 
–提示;ORA-12712: new character set must be a superset of old character set 
–提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:

SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK; 
–提示;Database altered. 
–我们看到这个过程和之前ALTER DATABASE CHARACTER SET操作的内部过程是完全相同的,也就是说INTERNAL_USE提供的帮助就是使Oracle数据库绕过了子集与超集的校验. 

SQL> shutdown immediate; 
–提示;Database closed. 
–提示;Database dismounted. 
–提示;ORACLE instance shut down. 

SQL> startup
–提示;ORACLE instance started. 

SQL> select userenv(‘language’) from dual;  Oracle查看字符集

##

这时需要修改系统变量:NLS_LANG,并配置值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

前言:

  plsql developer无法连接oracle server64bit分为两种情况。第一种情况是在oracle server 64bit的数据库服务器上安装plsql,第二种情况是在另外的机器上安装plsql developer连接oracle server 64bit数据库服务器。

错误症状:

      Initialization error     
      SQL*Net not properly installed
      OracleHomeKey:       
      OracleHomeDir:

原因:

  oracle client是64位的,而plsql是32位的,两者不兼容

第一种情况解决办法1:

  下载跟oracle服务器同版本的instantclient,然后配置PLSQL即可。在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:

Oracle Home : D:apporacleproduct11.2.0instantclient_11_2
OCI Library :D:apporacleproduct11.2.0instantclient_11_2oci.dll

Navicat Premium 11.2.17激活(PLSQL Developer 不能连接 oracle 11g 64位 的解决办法)

 像其他的navicat连接oracle server 64bit也是需要现在这个instantclient,然后指定oci.dll。可以参考博客:Navicat Premium 连接 Oracle 数据库

注意:(2014-7-17)

如果使用上面的这种方法的话,那么PLSQL读取的配置文件也是instantclient_11_2目录下的配置文件,比如我的配置文件路径就是

D:apporacleproduct11.2.0instantclient_11_2NETWORKADMIN

此时使用oracle server 64bit自带的net configuration assistant以及net manager是没有用的。不过可以在net configuration assistant当中配置,然后将配置好的配置文件覆盖到instantclient_11_2目录下

比如我可以将D:apporacleproduct11.2.0dbhome_1NETWORKADMIN当中的三个配置文件(listener.ora、sqlnet.ora、tnsnames.ora)覆盖到D:apporacleproduct11.2.0instantclient_11_2NETWORKADMIN当中

第一种情况解决办法2:

  在安装oracle server 64bit以后,再安装oracle_client_32bit,然后在配置上有一下注意点:

  1. oracle server 64bit配置监听器listener和数据库连接名testdb
  2. oracle_client_32bit不要配置监听器,只配置数据库连接名testdb

 然后安装plsql,连接testdb,正常连接。

第二种情况解决方法

  安装oracle_client_32bit,创建数据库连接,安装plsql developer,这样就能够正常连接。

 

 TNS_ADMIN的设定

 这个环境变量是用来设定到底使用那个tns配置文件的。因为我们在一台机器上面安装oracle server 64bit和oracle client 32bit,那么就会有两个tns的配置文件,两个配置文件放在一下目录:

  1. D:apporacleproduct11.2.0dbhome_1NETWORKADMIN
  2. D:apporacleproduct11.2.0client_1NETWORKADMIN

如果不设定TNS_ADMIN,那么默认使用client_1的tns

Navicat Premium 11.2.17激活(PLSQL Developer 不能连接 oracle 11g 64位 的解决办法)

如果设定环境TNS_ADMIN=D:apporacleproduct11.2.0dbhome_1NETWORKADMIN,那么上面的路径会发生改变。

今天的文章
Navicat Premium 11.2.17激活(PLSQL Developer 不能连接 oracle 11g 64位 的解决办法)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/116903.html

(0)
编程小号编程小号
上一篇 2024-07-18 16:11
下一篇 2024-07-18

相关推荐