详细讲解Oracle数据库运行错误的解决方法
Oracle数据库运行错误的解决方法:
错误1:ORA-01034: ORACLE not available
Oracle安装、启动后用sqlplus '/ as sysdba' 登陆,执行任何select语句都出现错误:
select * from dictionary
*
ERROR at line 1:
ORA-01034: ORACLE not available
但是用toad等客户端工具正常!
为什么sqlplus不行呢?
另,我用的是:
oracle9
redhat as 4
解决方法:
更改一下linux用户的环境变量ORACLE_SID就可以了。
错误2:ORA-27101: shared memory realm does not exist
我试图连接数据库时的ORA-01034 和 ORA-27101错误信息,它总是显示这样的信息,“ORA-01034 - Oracle not available”和“ORA-27101 - shared memory realm does not exist”。
不能连接到我的Oracle 数据库上。
因为碰到防火墙的问题次数比较多,这次也先看看,发现根本就没什么拦截的。查看了一下监听,数据库实例也是运行着的。
奇怪的事情,刚才还好好的,重启了机器就不行了。
解决方法:解决的方法倒是不麻烦...
首先看一下 ORACLE_BASEORACLE_HOMEDATABASE 下面的 ORADIM.LOG 文件
如果里边有这个错误
ORA-12640: 验证适配器初始化失败
那么问题就是它了.
到ORACLE_BASEORACLE_HOMENETWORKADMIN下面找sqlnet.ora文件
把sqlnet.authentication_services=(NTS) 改成
sqlnet.authentication_services=(NONE)
然后手动重起一下你的哪个数据库服务..在开始->控制面板->管理工具->服务里然后把这个服务的启动帐号改成你的帐号吧...其实不改大概也没有毛病.我就没改。。
看了这个方法,出错的原因大概有两种情况,修改了帐户,实例有些变动等。
如果还不行,重启电脑试试.
ERROR - ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
关于“ORA:12541:TNS 没有监听器” 的问题
1.看看是不是监听服务没有起来
2.检查有没有修改IP地址,计算机名称
对于2,一般情况下是机器的IP地址更改了,我就碰到过这种情况,oracle10g的安装是在没有联网的状态下,结
果联上网后OracleDBConsole*服务启动不了,在此情况下我的解决方案是断网启动服务就好用了.
其实问题在于初始配置的监听/服务中的主机信息与现在的信息不符,如果要改便主机IP/名称的话,也必须同时
修改oracle中的相应配置,否则oracle找不到主机当然启动不了。
必须启动的服务:OracleOraDb10g_home1TNSListener(监听器),OracleService[sid]这两项,后者可选为手动
启动(因为吃资源厉害).
后来又遇到OracleOraDb10g_home1TNSListener服务无法启动的问题,google了下原来是被优化大师清注册表时干掉的,服务启动路径要在注册表中添加。
方法如下:
看HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesOracleOraHome92TNSListener有无ImagePath的字符串,没有的话就加一个,值为..oracleproduct10.1.0db_1TNSLSNR(不只一处).类似还有,优化大师干掉VS2003中的.NET framework的注册表信息,当时我重装了。
Windows下默认完成后不用填写主机字符就可以直接用户名密码登录。