10g 启动错误

【错误1】


  
  1. ORA-00371: not enough shared pool memory, should be atleast 123232153 bytes

<方法>


  
  1. startup的时候是从pfile里读取shared pool memory值,所以手动修改为大于62198988的值。

  2. >vi initorcl.ora  

  3. shared_pool_size = 70000000

【错误2】


  
  1. ORA-27125: unable to create shared memory segment

  2. Linux-x86_64 Error: 1: Operation not permitted

<方法>


  
  1. vi /etc/security/limits.conf  #注意用切换为root用户

  2. oracle soft nofile 131072

  3. oracle hard nofile 131072

  4. oracle soft nproc 131072

  5. oracle hard nproc 131072

  6. oracle soft core unlimited

  7. oracle hard core unlimited

  8. oracle soft memlock 50000000

  9. oracle hard memlock 50000000

【错误3】


  
  1. [root@localhost ~]# su - oracle

  2. -bash: ulimit: open files: cannot modify limit: Operation not permitted

  3. -bash: /opt/10g/oracle/product/10.2.0/dbhome_1/rdbms/jlib: is a directory

  4. -bash: ulimit: open files: cannot modify limit: Operation not permitted

<方法>

在查找错误2的解决方法时,人家给的答案是:


  
  1. soft nofile 131072

  2. hard nofile 131072

  3. soft nproc 131072

  4. hard nproc 131072

  5. soft core unlimited

  6. hard core unlimited

  7. soft memlock 50000000

  8. hard memlock 50000000

/etc/security/limits.conf的第一列应该是用户,所以应该加上oracle.

【错误4】


  
  1. 找不到控制文件、数据库挂载不上

<方法>


  
  1. 暂时没有找到解决方法,mark一下

【错误5】


  
  1. ORA-01078: failure in processing system parameters

  2. LRM-00109: could not open parameter file '/opt/10g/oracle/product/10.2.0/dbhome_1/dbs/initorcl.ora'

<方法>


  
  1. 原因:cd到这个目录下,ls查看,这个文件根本就不存在,自然也无法打开

  2. 将$ORACLE_BASE/admin/orcl/pfile目录下的init.ora.0212012125517形式的文件copy到$ORACLE_HOME/dbs目录下initorcl.ora即可。(注:initorcl.ora中的orcl为你的实例名 ORACLE_SID,这里我的SID为:orcl10g)

  3. echo $ORACLE_SID  #查看ORACLE_SID

 【错误6】


  
  1. ORA-27125: unable to create shared memory segmen

<方法>

http://www.2cto.com/database/201206/136593.html

这个是链接,不过感觉不靠谱,问题还是照样有,先mark一下

 【错误7】

Exception in thread "main" java.lang.NoClassDefFoundError
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:164)
       at java.awt.Toolkit$2.run(Toolkit.java:821)
       …
       …

<方法>

最大的可能是:root用户直接su - oracle过去的。官方给的解释是,要退出root用户,然后用oracle用户登录。
如果你成功的su了一次,只能说明侥幸