ubuntu下安装plsql

之前在 ubuntu 上安装了 sqlplus ,但感觉还是不够方便,数据显示和导出,都没有 plsql 来得方便。所以下决心安装 oracle 管理神器 plsql 。但 plsql 只支持 windows ,没有 linux 版本,直接安装肯定不行,遂只能动用神器 crossover 强行把 plsql 安装在 linux 上。

crossover 是 wine 的增强版,作用是啥想必大家都清楚了。由于我用 deepinos ,自带商业版的 crossover ,所以对于 crossover 的安装和配置就不说了,也希望大家能支持 crossover 正版和 deepinos 。

deepinos:http://www.linuxdeepin.com/index.cn.html

crossover:https://www.codeweavers.com/

废话不多说,以下是安装步骤:

步骤一:从 crossover 安装 plsql (没错,就是这么直接简单)。

打开crossover,点击安装windows软件

搜索框内输入pl,就会自动显示相关软件了

双击 plsql 选项,如果不需要修改容器名啥的,直接安装就好。(不建议多个软件安装在同一个容器,避免相互影响,毕竟这是模拟环境,不是真实的 windows 。)

安装过程中会弹出像 windows 上那样的安装过程,直接下一步到结束即可。安装完成后,会在桌面上显示 plsql 图标,双击一下,如果能成功打开,那表示 plsql 安装成功了。

步骤二:导入 oracle 客户端。

下载32位版本的 instantclient 。

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

下载完成后,解压到 /home/hzz/.cxoffice/PL_SQL_Developer_9.0/drive_c/Program Files/ 目录下,并改名为 instantclient 。其中 PL_SQL_Developer_9.0 为 crossover 容器的名称,也可指定新建的瓶子。

步骤三:配置 plsql 客户端。

打开软件,在要求输入用户名,密码界面下点击 cancel 按钮,弹出界面框,点击 toolspreferencesconnection

指定 oracle home 的值为 /home/hzz/.cxoffice/PL_SQL_Developer_9.0/drive_c/Program Files/instantclient

指定 oci library 的值为 /home/hzz/.cxoffice/PL_SQL_Developer_9.0/drive_c/Program Files/instantclient/oci.dll

选中 在 OCI8 上强制使用 OCI7

点击 apply 按钮后,注销用户重新登陆,再打开软件即可连接成功,并显示 tnsnames.ora 所配置的连接。

步骤四:解决中文乱码的问题(一切正常的可忽略)。

修改 .profile(~/.profile) 文件,在最后一行加入:

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"

执行 source .profile 后打开 plsql 即可正常显示中文。

异常现象:

1)值得注意的是,在解决了 plsql 的中文乱码后, sqlplus 会出现乱码。估计是两款软件的编码方式不一样导致,不过既然有了 plsql ,估计 sqlplus 使用的频率也少了吧。当然,如果两个都需要用,也不是没办法,劳动人民的智慧是无限的。

解决办法:
编辑 .zshrc 文件(如果用的是 bash ,则是 .bashrc ),在最后一行加入:
alias sqlplus="export NLS_LANG=\"AMERICAN_AMERICA.UTF8\";sqlplus"
保存后执行 source .zshrc ,再执行 sqlplus ,就能自动重新设置编码并正常执行了。