关于ORA-01078: failure in processing system parameters的问题

 

环境:Linux linux4 2.6.9-5.ELsmp #1 SMP Wed Jan 5 19:30:39 EST 2005 i686 i686 i386 GNU/Linux

一、系统环境(源码包)

rpm -q binutils
rpm -q compat
rpm -q compat-db
rpm -q compat-libstdc
rpm -q compat-libstdc++
rpm -q compat-libstdc++-296
rpm -q control-center
rpm -q gcc*
rpm -q gcc
rpm -q glibc
rpm -q glibc-common
rpm -q gnome-libs
rpm -q libstdc++-3
rpm -q libstdc++
rpm -q libstdc++-devel
rpm -q make
rpm -q pdksh
rpm -q systat
rpm -q sysstat
rpm -q xscreensaver
rpm -q setarch


二、内核环境

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144


三、用户环境

umask 002
ORACLE_BASE=/db/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
ORACLE_SID=app
PATH=$ORACLE_HOME/bin:$PATH:.
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH


创建数据库实例时候错误记录:

事件一、

ORA-12547: TNS:lost contact

度娘了一下,主要是libaio包没有安装造成,rpm -ivh(libaio和libaio-devel) 安装一下即可解决

事件二、

SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/db/oracle/product/10.2.0/db_1/dbs/initapp.ora'
SQL> !

祸不单行,不过实验就应该这样,有错误才有进步,生产可不行了,呵呵。具体解决方法如下:

思路:指定pfile文件启动数据库---》不出意外可以启动数据库,从pfile创建spfile

cp /db/oracle/admin/app/pfile/init.ora.3132012182827 /db/oracle/product/10.2.0/db_1/dbs/initapp.ora

SQL> startup pfile=/db/oracle/product/10.2.0/db_1/dbs/initapp.ora;    
ORACLE instance started.
Database mounted.
Database opened.

SQL> show parameter block;(简单看看)

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_buffers                     integer     0
db_block_checking                    string      FALSE
db_block_checksum                    string      TRUE
db_block_size                        integer     8192
db_file_multiblock_read_count        integer     16

SQL> create spfile from pfile='/db/oracle/product/10.2.0/db_1/dbs/initapp.ora';

然后就有了下面这条记录

-rw-rw----   1 oracle oinstall  2560 Apr 14 09:57 spfileapp.ora

以后就可以使用spfile启动数据库了

SQL> startup;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1218968 bytes
Variable Size              75499112 bytes
Database Buffers          201326592 bytes
Redo Buffers                7168000 bytes
Database mounted.
Database opened.