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,没办法,否则每次都是无法连接到实例,但是改配置文件只要一次!


成功了!撒花

原文地址:https://www.cnblogs.com/unflynaomi/p/4476849.html