博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pl/sql与oracle 连接问题
阅读量:4286 次
发布时间:2019-05-27

本文共 2005 字,大约阅读时间需要 6 分钟。

首先说一下环境:window7

下载oracle:win64_11gR2_database

PL/SQL:PLSQL_Developer8.0绿色版

安装oracle之后,经过测试,在命令行下登录没有问题。

在用PL/SQL 工具-->首选项配置好oracle主目录和oci库之后,关闭重新连接仍然出现问题

经过网上搜索,是因为安装完后Oracle的 oci.dll 是64位的,而32位应用程序 PLSQL Developer 无法加载。

经过该步骤后,连接依然不成功。按照其步骤2,3,4

2、安装instantclient

解压安装包instantclient-basic-win32-10.2.0.5.zip,解压目录:D:\Program Files\destination files\oracleclient

然后建立一个目录D:\Program Files\destination files\oracleclient\NETWORK\ADMIN

3、复制tnsnames.ora

将D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下的tnsnames.ora文件复制到D:\Program Files\destination files\oracleclient\NETWORK\ADMIN下

4、配置PLSQL

打开 Tools-->Preferences窗口中配置Oracle Home和Oracle library,如下图:

Oracle Home:D:\Program Files\destination files\oracleclient

Oracle library:D:\Program Files\destination files\oracleclient\oci.dll

上面问题解决之后,又出现:

通过搜索,发现可能是服务问题,

但是按照操作之后一二本人均开启了,三中注册表找不到该项。

之后发现可以选择数据库,

在选择数据库之后又出现问题。

需要考虑监听listener.ora,问题指出listener.ora中没有指定监听,我们可以在listener.ora 文件中指定监听的实例名。这样问题就可以连接。

ora-12514:TNS:监听程序当前无法识别连接描述符中请求的服务

步骤如下:在D:\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下找到listener.ora,打开后再对应位置添加下面红色部分:
# listener.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\oracle)
      (SID_NAME = ORCL)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )
ADR_BASE_LISTENER = D:\oracle

之后重新启动

过程中还遇到ORA-01034: ORACLE not available,主要是oracle当前的服务不可用,shared memory realm does not exist,是因为oracle没有启动或没有正常启动,共享内存并没有分配给当前实例.所以,通过设置实例名,再用操作系统身份验证的方式,启动数据库。这样数据库就正常启动了,就不会报ORA-01034和ORA-27101两个启动异常了。

可以在命令行操作先输入shutdown immediate;等shutdown结束之后,再输入startup。
现在可以连接成功了,但是不选择数据库是,仍然会出现

转载地址:http://roxgi.baihongyu.com/

你可能感兴趣的文章
javascript 之AJAX(一)
查看>>
javascript之AJAX(二)json
查看>>
nodejs之(一)安装配置
查看>>
PHP之LAMP、linux终端命令
查看>>
iOS之xcode的常用操作、appledevelope工具下载地址
查看>>
MAC常用快捷键和常规操作(一)
查看>>
MAC程序员常用服务和最新科技平台
查看>>
PHP之SVN的使用
查看>>
PHP之mongodb
查看>>
PHP之SPHINX的使用(全文搜索引擎)
查看>>
PHP之redis
查看>>
PHP之lnmp和服务器集群设计思路
查看>>
PHP之微信公众平台开发
查看>>
iOS 之文件操作NSFileMange和NSFileHandle
查看>>
iOS之UIButton的封装和常用属性\按钮UIButton的常用属性及方法总结(二)、多按钮排列、cell上多图片布局
查看>>
nodejs基础(一)创建服务器,分发路由,读文件,写文件,读取图片,图文一起显示
查看>>
iOS之新特性轮播
查看>>
iOS 之网络下载图片
查看>>
iOS之UILabel------分类创建label,计算文本大小
查看>>
iOS之xib创建view、initWithCoder、awakeFromNib
查看>>