在WIN7下安装ORACLE并配置listener.ora和tnsnames.ora文件,以此使用PLSQL

问题:
去年安装的ORACLE当时运行的没出问题,也就没有写总结。后来到公司,自己电脑的连不上公司的ORACLE数据库了,自己一顿操作猛如虎,然后自己的数据库也连不上了。这篇文章就是用来记录这次数据库从正常到被我作坏,然后由恢复正常的过程中遇到的问题以及解决办法。

ORACLE的安装
去年的安装情况因为电脑坏过好久已经记不清了。步骤可以查看这位博主的文章,写的很详细,当时按照这个步骤安装成功的。
https://blog.csdn.net/u010863093/article/details/25660247
在此再次感谢这位博主。

问题1:no listener错误(错误编号当时没记录下来)
这个是因为我当时把电脑的环境变量“ORACLE_HOME”重新改成了ORACLE客户端的安装目录,(后来弄明白这个是没有必要的,如果连接的局域网内的其他机器的数据库,这个环境变量不是必须的)导致服务OracleOraDb11g_home1TNSListener关闭了。这个我们只需要把ORACLE_HOME这个环境变量配置正确,然后把这个服务启动起来就可以了。
具体方法:右键我的电脑 ====> 管理 ====>服务和应用程序 =====>服务,然后找到下边这服务,右键启动就好了.

在WIN7下安装ORACLE并配置listener.ora和tnsnames.ora文件,以此使用PLSQL_第1张图片

如果万一真有跟我一样的情况,误删之后忘记ORACLE_HOME原来的配置。一般情况下Path环境变量的第一个路径就是安装ORACLE之后自动配置的环境变量。可以根据这个来恢复一下。
在WIN7下安装ORACLE并配置listener.ora和tnsnames.ora文件,以此使用PLSQL_第2张图片
问题2:
ORA-12514:listener does not currently know of service requested in connect descriptor
这个错误就比较神奇,因为以前没有详细了解过oracle客户端的配置,所以我去年只配置了tnsnames.ora这个配置文件。当时竟然也正常连接了。但是在我今年的努力下,连接不上了。显示这个错误。于是,我又去研究了一下这个问题。发现listener.ora文件同样也需要配置.以下是我的配置.需要的可以参考一下.

listener.ora文件:

# listener.ora Network Configuration File: D:\instantclient_12_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = D:\app\solution\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:D:\app\solution\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )//这个是本来就有的.我也不知道是啥
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = D:\app\hasee\product\11.2.0\dbhome_1) 
      (SID_NAME = ORCL)
    )    //这里是新加的ORCL实例.
    (SID_DESC =
      (GLOBAL_DBNAME = STDT_MGR_DEV)
      (ORACLE_HOME = D:\app\hasee\product\11.2.0\dbhome_1)
      (SID_NAME = STDTMGRDEV)
    )//这里是新加的STDT_MGR_DEV实例.

  )

LISTENER =
  (DESCRIP.TION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
  )

ADR_BASE_LISTENER = D:\app\solution

tnsnames.ora文件:

# tnsnames.ora Network Configuration File: D:\instantclient_12_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL)
    )
  )
  STDT_MGR_DEV =
(DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = STDT_MGR_DEV)
  )
)

Tips:
SID_NAME,SERVICE_NAME这些数据库实例的参数在安装完后都有显示,要好好保存.
还有如果在命名实例时有下划线之类的,配置时一定要注意下划线的写法.详情参见上图中STDT_MGR_DEV的配置方法。

还有一个用toad连接数据库的错误:
Can’t initialize OCI. Error -1:
原因一是toad使用oci文件,需要使用管理员权限打开,因为oracle那个文件夹需要管理员权限才能访问。简单点可以右键exe文件,属性 ===> 兼容性,勾选”以管理员身份运行”,这样在每次双击打开,确认一下就好了.
二是需要把ORACLW_HOME/bin目录写到环境变量Path最前边,但是一般情况下这个再安装oracle时就自动做了这个事。

你可能感兴趣的:(数据库)