首页 > IT职业 > IT职场 > ORACLE 11G 无法连接到数据库实例故障排除
虚拟机安装的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 server64bit分为两种情况。第一种情况是在oracle server 64bit的数据库服务器上安装plsql,第二种情况是在另外的机器上安装plsql developer连接oracle server 64bit数据库服务器。
Initialization error
oracle client是64位的,而plsql是32位的,两者不兼容
下载跟oracle服务器同版本的instantclient,然后配置PLSQL即可。在perference->Connection里面设置OCI Library和Oracle_Home,例如本机设置为:
Oracle Home : D:\app\oracle\product\11.2.0\instantclient_11_2
像其他的navicat连接oracle server 64bit也是需要现在这个instantclient,然后指定oci.dll。可以参考博客:Navicat Premium 连接 Oracle 数据库
如果使用上面的这种方法的话,那么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当中
在安装oracle server 64bit以后,再安装oracle_client_32bit,然后在配置上有一下注意点:
然后安装plsql,连接testdb,正常连接。
安装oracle_client_32bit,创建数据库连接,安装plsql developer,这样就能够正常连接。
这个环境变量是用来设定到底使用那个tns配置文件的。因为我们在一台机器上面安装oracle server 64bit和oracle client 32bit,那么就会有两个tns的配置文件,两个配置文件放在一下目录:
如果不设定TNS_ADMIN,那么默认使用client_1的tns
如果设定环境TNS_ADMIN=D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN,那么上面的路径会发生改变。
PLSQL Developer 不能连接 oracle 11g 64位 的解决办法
前言:
错误症状:
SQL*Net not properly installed
OracleHomeKey:
OracleHomeDir:
原因:
第一种情况解决办法1:
OCI Library :D:\app\oracle\product\11.2.0\instantclient_11_2\oci.dll
注意:(2014-7-17)
第一种情况解决办法2:
第二种情况解决方法
TNS_ADMIN的设定
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7868752/viewspace-1447545/ ,如需转载,请注明出处,否则将追究法律责任。