oracle11g OEM无法连接到数据库实例解决办法

时间:2022-10-09 16:42:30

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

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

oracle11g OEM无法连接到数据库实例解决办法

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\think\product\11.2.0\dbhome_2\network\admin\listener.ora

# Generated by Oracle configuration tools.





SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = C:\myoracle\think\product\11.2.0\dbhome_2)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:C:\myoracle\think\product\11.2.0\dbhome_2\bin\oraclr11.dll")

    )

  )





LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

  )





ADR_BASE_LISTENER = C:\myoracle\think

其中红色标记的HOST是特别要注意的地方,是你的计算机名称,不能简单的写成localhost,如果不确定计算机名称则可通过dba登录sqlplus利用 

select HOST_NAME from v$instance语句查询主机名。

注意登录sqlplus时用

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

sqlplus username/password@tnsname需要listener进程,最常见的远程登录模式,需要启动数据库实例和listener进程。不好用

oracle11g OEM无法连接到数据库实例解决办法

就如图中所示把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\think\product\11.2.0\dbhome_2\network\admin\tnsnames.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

oracle11g OEM无法连接到数据库实例解决办法

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

oracle11g OEM无法连接到数据库实例解决办法

成功了!撒花