admin管理员组

文章数量:1590693

问题背景

在使用Oracle开发过程中,经常会使用工具来连接数据库,方便查询、处理数据。其中有很多工具可以使用,比如dbeaver、plsql等。本文主要介绍在win10环境下,plsql14的安装步骤以及安装过程中遇到的一些问题。


安装步骤及问题

安装环境:
系统:win10 64位。
Oracle客户端:win32_11gR2_client。
plsql:plsqldev1405x64。

安装步骤:

  1. 安装Oracle客户端。
    安装步骤比较简单,可参考《oracle 11gR2 client(oracle客户端的安装)》
    重点说下遇到的问题。当解压后,点击setup.exe出现报错,环境不满足最低要求。如下图所示。
    解决方案:
    在client安装文件的解压文件中找到cvu_prereq.xml,路径一般在stage/cvu/下,然后使用记事本打开。增加以下代码,如图所示:
<OPERATING_SYSTEM RELEASE="6.2">
    <VERSION VALUE="3"/>
    <ARCHITECTURE VALUE="64-bit"/>
    <NAME VALUE="Windows 10"/>
    <ENV_VAR_LIST>
        <ENV_VAR NAME="PATH" MAX_LENGTH="1023" />
    </ENV_VAR_LIST>
</OPERATING_SYSTEM>


配置完成后,再次点击setup.exe即可正常安装。

  1. 配置Tnsnames.ora文件
    按照上述安装文档,添加监听后,就可以在client的安装路径下*\oracle\product\11.2.0\client_1\network\admin,找到tnsnames.ora文件。
ORCL =          #数据库实例名
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.200.145)(PORT = 1521))   #连接数据库IP和端口
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)   #数据库服务名
    )
  )

可以根据实际需求,进行修改,修改的字段为上述注释部分。

  1. 安装plsql。
    此处不再赘述,安装步骤很简单。
    需要注意的是,在安装时,需要选择是试用版,还是选择直接输入激活版。如果选择激活,那么激活码需要自行获取。

  2. 配置plsql,并启动使用。
    安装完成后,首先增加两个环境变量。
    变量名:ORACLE_HOME
    变量值:Oracle客户端的安装路径。
    变量名:TNS_ADMIN
    变量值:Oracle客户端的安装路径。

    配置完成后,无需登录,直接进入到plsql,找到configure下的preferences,如下图所示。

    修改配置,增加Oracle home和OCI library。这两个路径均为Oracle客户端的安装路径。
    完成后,重启plsql,进行输入,出现报错Could not initialize oci.dll。这个问题的主要原因是安装完后Oracle的 oci.dll 是32位的,而64位应用程序 PLSQL Developer 无法加载,或者相反。
    解决方案:
    下载一个适配64位系统的OCI。
    下载地址:
    https://www.oracle/database/technologies/instant-client/winx64-64-downloads.html


注意:下载需要登录Oracle账号。如果没有账号,又不想注册,可以使用以下方式。登录以下网址(Oracle logins),里面提供部分Oracle内部账户及密码,我们可以临时使用这些账户来下载。

在这里可以找到适配的instantclient,将该文件解压到任意文件夹下,此处我解压到了Oracle客户端的安装目录下。然后在plsql中的preferences,重新选择instantclient下的OCI。

完成以上步骤,输入Oracle数据库的用户名、密码就可以正常登录了。


其他问题

使用plsql进行查询,发现中文出现乱码。数据全部展示为了问号。原因主要是由于oracle客户端和服务器端的编码方式不一样。为了验证是否是编码格式问题,进行以下操作。

首先查看数据库的字符集。

select userenv('language')from dual


然后查看本地字符集。

select * from V$NLS_PARAMETERS


此时发现本地字符集与数据库字符集不一致。

解决方案:
增加环境变量,保证本地与数据库服务端字符集一致。
变量名:NLS_LANG
变量值:AMERICAN_AMERICA.ZHS16GBK

配置完成后,再次重启plsql,进行查询,可以看到已经解决了乱码问题。

如果这篇博客对大家有所帮助,我希望能得到各位的免费点赞收藏,作为对我的鼓励和支持。
同时,也请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
感谢大家的支持评论收藏!!!

本文标签: 数据库ORACLE