ITPub博客

首页 > IT职业 > IT职场 > ORACLE 11G 无法连接到数据库实例故障排除

ORACLE 11G 无法连接到数据库实例故障排除

IT职场 作者:zhengnx 时间:2015-03-04 10:31:50 0 删除 编辑

虚拟机安装的oracle,前几次登录没问题。现在开启虚拟机后,服务中的oracle服务都可以启动,但在Net Manager里orcl连接不上,提示ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist。。
执行如下两个命令:
sqlplus / as sysdba
startup force
我用的是oracle11g,昨天非正常关机了一下,现在启动了相关的几个服务,都可以启动,但是用net configuration assistant测试连接总是不成功,企业管理器跟SQL PLUS都登陆不了。出现以下错误提示:
正在连接...ORA-01033: ORACLE initialization or shutdown in progress
测试未成功。

您提供的一些信息可能不正确。
单击“后退”检查提供的 Net 服务名的信息, 或单击“更改登录”来更改用户名。

请知道的帮个忙解答下,谢谢!!

1、进入CMD,; 
2、运行sqlplus "/as sysdba" 
SQL>shutdown immediate 停止服务 
SQL>startup 启动服务,观察启动时有无数据文件加载报错,并记住出错数据文件标号 
SQL>shutdown immediate 再次停止服务 
SQL>startup mount 
SQL> recover datafile 2 恢复出错的数据文件 
SQL>shutdown immediate 再次停止服务 
SQL>startup 启动服务,此次正常

OracleOraDb10g_home1TNSListener
OracleServiceORCL
服务只开这两项就行了,net manager中第二项新添加一个服务,网络服务名随意取一个,主机名:是你的计算机IP或者你的主机名,最好用你的IP,或者127.0.0.1 数据库实例是你的数据库实例名,一路next,最后再测试一下。




ORACLE 11G 无法连接到数据库实例故障排除

之前我通过em更改了sys,system……几个帐号的密码,于是出现了上面的错误。

 

解决方法:

(红色的字表示我输入的,那几个用户口令输入时是看不见的。)

1.         开始——运行——cmd  参照下面

 

C:\>emca -repos drop

 

EMCA 开始于 2010-2-16 23:51:02

EM Configuration Assistant, 11.1.0.5.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。

 

输入以下信息:

数据库 SID: orcl

监听程序端口号: 1521

SYS 用户的口令:oracle

SYSMAN 用户的口令: oracle

SYSMAN 用户的口令: oracle

是否继续? [是(Y)/否(N)]: y

2010-2-16 23:51:47 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 C:\app\Administrator\cfgtoollogs\emca\orcl\emca_2010_02

_16_23_51_02.log。

2010-2-16 23:51:48 oracle.sysman.emcp.ParamsManager checkListenerStatusForDBCont

rol

警告: 初始化 SQL 连接时出错。无法执行 SQL 操作

2010-2-16 23:51:48 oracle.sysman.emcp.EMReposConfig invoke

信息: 正在删除 EM 资料档案库 (此操作可能需要一段时间)...

2010-2-16 23:53:38 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功删除资料档案库

已成功完成 Enterprise Manager 的配置

EMCA 结束于 2010-2-16 23:53:38

 

 

C:\>emca -repos create

 

EMCA 开始于 2010-2-16 23:54:28

EM Configuration Assistant, 11.1.0.5.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。

 

输入以下信息:

数据库 SID: orcl

监听程序端口号: 1521

SYS 用户的口令: oracle

SYSMAN 用户的口令: oracle

SYSMAN 用户的口令: oracle

是否继续? [是(Y)/否(N)]: y

2010-2-16 23:55:19 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 C:\app\Administrator\cfgtoollogs\emca\orcl\emca_2010_02

_16_23_54_28.log。

2010-2-16 23:55:19 oracle.sysman.emcp.EMReposConfig createRepository

信息: 正在创建 EM 资料档案库 (此操作可能需要一段时间)...

2010-2-17 0:01:29 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功创建资料档案库

已成功完成 Enterprise Manager 的配置

EMCA 结束于 2010-2-17 0:01:29

 

 

C:\>emca -config dbcontrol db

 

EMCA 开始于 2010-2-17 0:02:49

EM Configuration Assistant, 11.1.0.5.0 正式版

版权所有 (c) 2003, 2005, Oracle。保留所有权利。

 

输入以下信息:

数据库 SID: orcl

已为数据库 orcl 配置了 Database Control

您已选择配置 Database Control, 以便管理数据库 orcl

此操作将移去现有配置和默认设置, 并重新执行配置

是否继续? [是(Y)/否(N)]: y

监听程序端口号: 1521

SYS 用户的口令: oracle

DBSNMP 用户的口令: oracle

SYSMAN 用户的口令: oracle

SYSMAN 用户的口令: 通知的电子邮件地址 (可选):

通知的发件 (SMTP) 服务器 (可选):

-----------------------------------------------------------------

 

已指定以下设置

 

数据库 ORACLE_HOME ................ C:\app\Administrator\product\11.1.0\db_1

 

本地主机名 ................ testpc-pmb3pvmj

监听程序端口号 ................ 1521

数据库 SID ................ orcl

通知的电子邮件地址 ...............

通知的发件 (SMTP) 服务器 ...............

 

-----------------------------------------------------------------

是否继续? [是(Y)/否(N)]: y

2010-2-17 0:03:59 oracle.sysman.emcp.EMConfig perform

信息: 正在将此操作记录到 C:\app\Administrator\cfgtoollogs\emca\orcl\emca_2010_02

_17_00_02_49.log。

2010-2-17 0:04:00 oracle.sysman.emcp.util.DBControlUtil stopOMS

信息: 正在停止 Database Control (此操作可能需要一段时间)...

2010-2-17 0:04:05 oracle.sysman.emcp.EMReposConfig uploadConfigDataToRepository

信息: 正在将配置数据上载到 EM 资料档案库 (此操作可能需要一段时间)...

2010-2-17 0:04:59 oracle.sysman.emcp.EMReposConfig invoke

信息: 已成功上载配置数据

2010-2-17 0:05:15 oracle.sysman.emcp.util.DBControlUtil configureSoftwareLib

信息: 软件库已配置成功。

2010-2-17 0:05:15 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary

信息: 正在部署预配档案...

2010-2-17 0:05:22 oracle.sysman.emcp.EMDBPostConfig configureSoftwareLibrary

信息: 预配档案部署成功。

2010-2-17 0:05:22 oracle.sysman.emcp.util.DBControlUtil secureDBConsole

信息: 正在保护 Database Control (此操作可能需要一段时间)...

2010-2-17 0:05:34 oracle.sysman.emcp.util.DBControlUtil secureDBConsole

信息: 已成功保护 Database Control。

2010-2-17 0:05:34 oracle.sysman.emcp.util.DBControlUtil startOMS

信息: 正在启动 Database Control (此操作可能需要一段时间)...

2010-2-17 0:06:24 oracle.sysman.emcp.EMDBPostConfig performConfiguration

信息: 已成功启动 Database Control

2010-2-17 0:06:24 oracle.sysman.emcp.EMDBPostConfig performConfiguration

信息: >>>>>>>>>>> Database Control URL 为 https://testpc-pmb3pvmj:1158/em <<<<<<

<<<<< 

2010-2-17 0:06:40 oracle.sysman.emcp.EMDBPostConfig invoke

警告:

************************  WARNING  ************************

 

管理资料档案库已置于安全模式下, 在此模式下将对 Enterprise Manager 数据进行加密。

加密密钥已放置在文件 C:\app\Administrator\product\11.1.0\db_1\testpc-pmb3pvmj_or

cl\sysman\config\emkey.ora 中。请务必备份此文件, 因为如果此文件丢失, 则加密数据

将不可用。

 

***********************************************************

已成功完成 Enterprise Manager 的配置

EMCA 结束于 2010-2-17 0:06:40

 

2.         查看服务中 OracleDBConsoleorcl 服务是否存在并已启动(启动类型:自动)。

 

此时访问https://testpc-pmb3pvmj:1158/em/ 就应该没有问题了。

如果还不行,则cmd 参照下面:

 

C:\>emctl status dbconsole

Oracle Enterprise Manager 11g Database Control Release 11.1.0.6.0

Copyright (c) 1996, 2007 Oracle Corporation.  All rights reserved.

https://testpc-pmb3pvmj:1158/em/console/aboutApplication

Oracle Enterprise Manager 11g is running.

------------------------------------------------------------------

Logs are generated in directory C:\app\Administrator\product\11.1.0\db_1/testpc-

pmb3pvmj_orcl/sysman/log

 

注意绿色那行表示运行OK了,不行的话在cmd里启动一下Oracle Enterprise Manager服务。

 

 

启动Oracle Enterprise Manager服务的命令:emctl start dbconsole

停止Oracle Enterprise Manager服务的命令:emctl stop dbconsole

 

PS:在Windows里玩Oracle简直能让人疯,稳定性不是一般的差了。

 

PLSQL Developer 不能连接 oracle 11g 64位 的解决办法

前言:

  plsql developer无法连接oracle server64bit分为两种情况。第一种情况是在oracle server 64bit的数据库服务器上安装plsql,第二种情况是在另外的机器上安装plsql developer连接oracle server 64bit数据库服务器。

错误症状:

      Initialization error     
      SQL*Net not properly installed
      OracleHomeKey:       
      OracleHomeDir:

原因:

  oracle client是64位的,而plsql是32位的,两者不兼容

第一种情况解决办法1:

  下载跟oracle服务器同版本的instantclient,然后配置PLSQL即可。在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:

Oracle Home : D:\app\oracle\product\11.2.0\instantclient_11_2
OCI Library :D:\app\oracle\product\11.2.0\instantclient_11_2\oci.dll

 像其他的navicat连接oracle server 64bit也是需要现在这个instantclient,然后指定oci.dll。可以参考博客:Navicat Premium 连接 Oracle 数据库

注意:(2014-7-17)

如果使用上面的这种方法的话,那么PLSQL读取的配置文件也是instantclient_11_2目录下的配置文件,比如我的配置文件路径就是:

D:\app\oracle\product\11.2.0\instantclient_11_2\NETWORK\ADMIN

此时使用oracle server 64bit自带的net configuration assistant以及net manager是没有用的。不过可以在net configuration assistant当中配置,然后将配置好的配置文件覆盖到\instantclient_11_2\目录下

比如我可以将D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN当中的三个配置文件(listener.ora、sqlnet.ora、tnsnames.ora)覆盖到D:\app\oracle\product\11.2.0\instantclient_11_2\NETWORK\ADMIN当中

第一种情况解决办法2:

  在安装oracle server 64bit以后,再安装oracle_client_32bit,然后在配置上有一下注意点:

  1. oracle server 64bit配置监听器listener和数据库连接名testdb
  2. oracle_client_32bit不要配置监听器,只配置数据库连接名testdb

 然后安装plsql,连接testdb,正常连接。

第二种情况解决方法

  安装oracle_client_32bit,创建数据库连接,安装plsql developer,这样就能够正常连接。

 

 TNS_ADMIN的设定

 这个环境变量是用来设定到底使用那个tns配置文件的。因为我们在一台机器上面安装oracle server 64bit和oracle client 32bit,那么就会有两个tns的配置文件,两个配置文件放在一下目录:

  1. D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
  2. D:\app\oracle\product\11.2.0\client_1\NETWORK\ADMIN

如果不设定TNS_ADMIN,那么默认使用client_1的tns

如果设定环境TNS_ADMIN=D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN,那么上面的路径会发生改变。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7868752/viewspace-1447545/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: c#学习网站
请登录后发表评论 登录
全部评论

注册时间:2011-08-11

  • 博文量
    1305
  • 访问量
    20583626