zoukankan      html  css  js  c++  java
  • oracle11g OEM无法连接到数据库实例解决办法

    我的电脑是32位的win7家庭版系统,那么这样的系统能不能装上oracle呢?能的!就是可能会出错,在装oracle时,每个人遇到的问题都不同,有的人装了双系统,有的人重做了系统,真心酸,先让电脑断网(不论是无线还是有线)再装oracle(据说是因为oracle会记住当时的网络配置,下次再开机环境变了,就连不上了,但我觉得关系不大,我装了两次,一次连网,一次断网,结果都一样,无法连接到数据库实例),我按照教程装好了后,立刻打开OEM能打开,但是下次开机就是无法连接到数据库实例,真的!!!刚开始好用,下次不好用!!而打不开OEM,SQLDeveloper也别想打开!我弄了一周,就在下决心装双系统的前一天,被我解决了,现在整理解决办法如下,希望有更多同胞能顺利装上oracle,迈出第一步微笑奋斗

    就是这个问题  Enterprise Manager无法连接到数据库实例 !!


    ORA-12505:TNS: 监听程序当前无法识别连接描述符中所给出的SID等错误解决方法

    1.检查数据库客户端File:

    /app/oracle/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora 就是你的oracle安装目录

    我的listener.ora如下所示
    # listener.ora Network Configuration File: C:myoracle hinkproduct11.2.0dbhome_2 etworkadminlistener.ora
    # Generated by Oracle configuration tools.


    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = C:myoracle hinkproduct11.2.0dbhome_2)
          (PROGRAM = extproc)
          (ENVS = "EXTPROC_DLLS=ONLY:C:myoracle hinkproduct11.2.0dbhome_2inoraclr11.dll")
        )
      )


    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        )
      )


    ADR_BASE_LISTENER = C:myoracle hink

    其中红色标记的HOST是特别要注意的地方,是你的计算机名称,不能简单的写成localhost,如果不确定计算机名称则可通过dba登录sqlplus利用 
    select HOST_NAME from v$instance
    语句查询主机名。

    注意登录sqlplus时用

    sqlplus  username/password 不需要listener进程,登录本机数据库,数据库实例启动即可。这个命令,下一个命令因为ome无法打开是不好用的
    sqlplus username/password@tnsname需要listener进程,最常见的远程登录模式,需要启动数据库实例和listener进程。不好用


    就如图中所示把localhost改成THINK-THINK,其它不动,如果在修改时没有权限,无法保存,就先把它复制到D盘修改,再复制回去就好了

    2修改./app/oracle/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora 

    我的tnsnames.ora 如下:

    # tnsnames.ora Network Configuration File: C:myoracle hinkproduct11.2.0dbhome_2 etworkadmin nsnames.ora
    # Generated by Oracle configuration tools.


    NEWDB =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = newdb)
        )
      )


    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )

    也改成主机名即可,其它不动,newdb是我的数据库SID名

    3.重启监听器

    以管理员的身份运行 cmd,就是在开始菜单输入cmd搜索,出结果后,右键以管理员身份运行cmd

    先输入

    lsnrctl stop

    再输入

    lsnrctl start


    重启完监听器后,刚才的配置就生效了,注意以后每次开机都要运行这两个命令,lsnrctl stop lsnrctl start 才能打开OEM和SQLDevloper,没办法,否则每次都是无法连接到实例,但是改配置文件只要一次!


    成功了!撒花

  • 相关阅读:
    git
    oracle object_id和data_object_id的区别
    statspack系列8
    statspack系列7
    statspack系列6
    statspack系列5
    statspack系列4
    statspack系列3
    statspack系列2
    MySQL源码之两阶段提交
  • 原文地址:https://www.cnblogs.com/unflynaomi/p/4476849.html
Copyright © 2011-2022 走看看