解决Oracle数据库运行错误
来源:优易学  2011-12-11 10:36:51   【优易学:中国教育考试门户网】   资料下载   IT书店
  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_BASE\ORACLE_HOME\DATABASE 下面的 ORADIM.LOG 文件
  如果里边有这个错误
  ORA-12640: 验证适配器初始化失败
  那么问题就是它了。
  到ORACLE_BASE\ORACLE_HOME\NETWORK\ADMIN下面找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_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome92TNSListener有无ImagePath的字符串,没有的话就加一个,值为..\oracle\product\10.1.0\db_1\TNSLSNR(不只一处).类似还有,优化大师干掉VS2003中的.NET framework的注册表信息,当时我重装了。
  Windows下默认完成后不用填写主机字符就可以直接用户名密码登录。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训