转:

PLSQL连接本地oracle或远程oracle数据库,实现随意切换

置顶 2018年01月12日 19:36:45 前方一片光明 阅读数 43542
 
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26230421/article/details/79047527

前言

每次安装Oracle以后,都会出现使用plsql连接不上的问题!多次重启电脑、重装系统的磨人经历之后,终于做出这么一篇文章,希望能帮助广大技术人员减少一些时间,顺利进行连接。

注:不安装oracle,可以用plsql连接远程数据库(只要有oracle的network文件夹就行)。

本文主要讲述如何连接本地oracle数据库或者远程oracle数据库,实现随意切换。

注:首先下载64oracle以及32位轻量级客户端(注意版本的对应,我用的是11g的oracle和11.2的客户端):

点击进入oracle下载页面       点击进入客户端下载页面

以下步骤请自行更改路径,不然,出错了别怪我哦:

step1 复制network文件

安装步骤网上可以搜到!

oracle安装到某路径下,

客户端随便解压到一个路径,我的是放在D:\app\shuhao\instantclient_11_2了。

然后把oracle中的D:\app\shuhao\product\11.2.0\dbhome_1里面的整个network文件夹复制,

粘贴到客户端文件夹D:\app\shuhao\instantclient_11_2下面,如下图所示:

=================================分割线==================================

step2 修改配置文件

2.1  修改oracle数据库文件

D:\app\shuhao\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora文件内容,添加一个SID_DESC:

  1. # listener.ora Network Configuration File: D:\app\shuhao\product\11.2.0\dbhome_1\network\admin\listener.ora
  2. # Generated by Oracle configuration tools.
  3.  
  4. SID_LIST_LISTENER =
  5. (SID_LIST =
  6. (SID_DESC =
  7. (SID_NAME = CLRExtProc)
  8. (ORACLE_HOME = D:\app\shuhao\product\11.2.0\dbhome_1)
  9. (PROGRAM = extproc)
  10. (ENVS = "EXTPROC_DLLS=ONLY:D:\app\shuhao\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  11. )
  12. #下面的SID_DESC是新增加的内容,注意修改ORACLE_HOME路径
  13. (SID_DESC =
  14. (SID_NAME = orcl)
  15. (ORACLE_HOME = D:\app\shuhao\product\11.2.0\dbhome_1)
  16. (GLOBAL_DBNAME = orcl)
  17. )
  18. )
  19.  
  20. LISTENER =
  21. (DESCRIPTION_LIST =
  22. (DESCRIPTION =
  23. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  24. )
  25. )
  26.  
  27. ADR_BASE_LISTENER = D:\app\shuhao

=================================分割线==================================

2.2  修改oracle数据库文件

D:\app\shuhao\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora文件内容,源文件没有做改动:

  1. # tnsnames.ora Network Configuration File: D:\app\shuhao\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
  2. # Generated by Oracle configuration tools.
  3.  
  4. ORACLR_CONNECTION_DATA =
  5. (DESCRIPTION =
  6. (ADDRESS_LIST =
  7. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  8. )
  9. (CONNECT_DATA =
  10. (SERVICE_NAME = orcl)
  11. )
  12. )
  13.  
  14. LISTENER_ORCL =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  16.  
  17. ORCL =
  18. (DESCRIPTION =
  19. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  20. (CONNECT_DATA =
  21. (SERVER = DEDICATED)
  22. (SERVICE_NAME = orcl)
  23. )
  24. )

=================================分割线==================================

2.3  修改客户端文件

D:\app\shuhao\instantclient_11_2\network\admin\tnsnames.ora文件内容:

  1. # tnsnames.ora Network Configuration File: D:\app\shuhao\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
  2. # Generated by Oracle configuration tools.
  3.  
  4. ORACLR_CONNECTION_DATA =
  5. (DESCRIPTION =
  6. (ADDRESS_LIST =
  7. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  8. )
  9. (CONNECT_DATA =
  10. (SERVICE_NAME = orcl)
  11. )
  12. )
  13.  
  14. LISTENER_ORCL =
  15. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  16.  
  17. ORCL =
  18. (DESCRIPTION =
  19. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  20. (CONNECT_DATA =
  21. (SERVER = DEDICATED)
  22. (SERVICE_NAME = orcl)
  23. )
  24. )
  25. #新增 @ 标识符,用于区分本地与远程oracle
  26. ORCL@192.168.0.164 =
  27. (DESCRIPTION =
  28. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.164)(PORT = 1521))
  29. (CONNECT_DATA =
  30. (SERVER = DEDICATED)
  31. (SERVICE_NAME = orcl)
  32. )
  33. )

step3 配置OCI

不登录plsql,直接按Cancel,进入后在Tools--->Preferences---->Connection中配置OCI为32位客户端的OCI

D:\app\shuhao\instantclient_11_2\oci.dll

step4 环境变量配置

添加前2个系统变量:

1. 变量名:TNS_ADMIN

变量值:D:\app\shuhao\instantclient_11_2\network\admin

2. 变量名:NLS_LANG

变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

3. Path中配置加入:

D:\app\shuhao\product\11.2.0\dbhome_1\BIN;D:\app\shuhao\instantclient_11_2;

step5 重启电脑(有时候不需要重启)

启动oracle服务与监听,这个就不需要描述了。

step6:登录plsql!!!

当看到Database下拉框中有本地的ORCL以及远程的ORCL@192.168.0.164就算成功了!!!

OK, GAME OVER !

最新文章

  1. Linux运行与控制后台进程的方法:nohup, setsid, &, disown, screen
  2. form作为module name 悲剧了
  3. 李洪强iOS开发之【零基础学习iOS开发】【02-C语言】07-基本数据类型
  4. JSON数据解析及gson.jar包
  5. MongoDB入门系列(二):Insert、Update、Delete、Drop
  6. Android艺术——Bitmap高效加载和缓存(1)
  7. HDU2044:一只小蜜蜂...
  8. Ajax传参讲解
  9. [UE4]让机器人开枪射击
  10. 20155311《网络对抗》PC平台逆向破解(二)
  11. 【PHP】Ajax跨域解决方案 、jsonp、cors
  12. 练习vue(class,style属性)
  13. DelaunayTriangulation_VoronoiDiagram_using_OpenCV的实现
  14. MySQL Transaction--RC和RR区别
  15. 全方位掌握nsis脚本
  16. YII2中的Html助手和Request组件
  17. eclipse 更改背景颜色字体
  18. hihoCoder 1261 String Problem II
  19. 设置eclipse中python脚本的编码格式
  20. arm汇编学习(五)

热门文章

  1. 多容器共享volume
  2. 使用python2与python3创建一个简单的http服务(基于SimpleHTTPServer)
  3. 拆机联想ideapad s500
  4. 0912 for循环及内置方法
  5. BZOJ3157 国王奇遇记——神奇的推式子
  6. MySQL Workbench 导入导出乱码解决方法
  7. 基于steam的游戏销量预测 — PART 1 — 爬取steam游戏相关数据的爬虫
  8. 单例模式(Singleton)---创建型
  9. 解决ubuntu安装软件has install-snap change in progress错误
  10. Could not load file or assembly "\win32_x86\dotnet1\crdb_adoplus.dll' or one of its dependencies.