最近有个朋友的linux机器上的ORACLE出现了问题,给他解决了一下,把问题和解决方案记录下载,以便遇到同样问题的读者能够解决同样的问题。
开始的问题是:
ORA-01078:failure in processing system parameters
LRM-00109:could not open parameter file '/oracle/product/10.2.0/db_1/dbs/initorcl.ora'
这个问题的解决方案是
1、找到/$ORACLE_BASE/admin/orcl/pfile中的init.ora.xxxxxxxxxxxxxx
2、把上面的文件cp到dbs目录下并且改名为initorcl.ora
之后进入sql命令行输入startup,查看oracle是否能够正常访问,如果能够正常访问则问题已经修改完成。
如果出现ORA-00845异常的话就需要再次进行一些设置的修改。出现ORA-00845错误时,是由于Oracle 11g的内存管理新特性要求更多的共享内存和文件描述符导致的。
解决方法就是更改/dev/shm的大小,当然也可以更改MEMORY_MAX_TARGET大小,但是这个方法不好。所以需要对/dev/shm大小进行修改。具体的操作就是:mount -t tmpfs shmfs -o size=7g /dev/shm,就是将大小改成7g或者更高,只要比max_target大即可。
之后还需要在/etc/fstab文件中添加一句shmfs /dev/shm tmpfs size=7g 0,这句话主要的作用就是让这种变化永久生效。
之后在进入sql命令输入startup之后即可开启oracle。