Linux系统启动Oracle数据库报错问题集锦

1、报错:could not open parameter file '/data/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Mon Dec 17 17:19:08 2018

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/data/oracle/product/11.2.0/db_1/dbs/initorcl.ora'

报错原因:/data/oracle/product/11.2.0/db_1/dbs/目录下只有init.ora文件

尝试:将init.ora 文件重命名为initorcl.ora

2、报错:the specified ADR Base directory does not exist

重新启动数据库,报如下错误:

SQL> startup
ORA-48108: invalid value given for the diagnostic_dest init.ora parameter
ORA-48140: the specified ADR Base directory does not exist [/data/oracle/product/11.2.0/db_1/dbs/<ORACLE_BASE>]
ORA-48187: specified directory does not exist
Linux-x86_64 Error: 2: No such file or directory
Additional information: 1

尝试:修改initorcl.ora文件,将diagnostic_dest='<ORACLE_BASE>'一行注释

3、报错:MEMORY_TARGET not supported on this system

重新启动数据库,报如下错误:

SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system

此报错出现原因:/dev/shm小于MEMORY_TARGET的大小,或者是/dev/shm根本就没有挂载

解决方法:

查看已挂载的文件系统

[oracle@localhost ~]$ df -Th 
文件系统      类型    容量  已用 可用 已用% 挂载点 
/dev/sda2    ext3    16G  11G  3.9G  74% / 
/dev/sda3    ext3    1.6G  37M  1.4G  3% /tmp
/dev/sda1    ext3    99M  12M  83M  13% /boot
tmpfs        tmpfs    252M    0  252M  0% /dev/shm

可以看到 /dev/shm容量为252M

尝试增加/dev/shm的size,用root用户登陆,在tmpfs一行后面增加,size=1G

[root@localhost ~]# vi /etc/fstab

/dev/mapper/VolGroup-root /                       ext4    defaults        1 1
UUID=48d61e51-4412-4e46-abb2-e549858de300 /boot                   ext4    defaults        1 2
UUID=b9205e04-060e-4555-8649-c8c5554ced12 swap                    swap    defaults        0 0
tmpfs                   /dev/shm                tmpfs   defaults,size=1G        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

重新挂载/dev/shm:

[root@localhost ~]# umount /dev/shm
umount: /dev/shm: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))
[root@localhost ~]# fuser -km /dev/shm/
/dev/shm/:            1694m  1708m  1711m  1728m  1745m
[root@localhost ~]# umount /dev/shm/ 
[root@localhost ~]# mount /dev/shm/

4、报错:Parameter db_recovery_file_dest destination string cannot be translated

重新用Oracle用户登陆,重启数据库,新错误出现:

SQL> startup
ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
Linux-x86_64 Error: 2: No such file or directory

查看Oracle的初始化文件

[oracle@localhost ~]$ cat /data/oracle/product/11.2.0/db_1/dbs/initorcl.ora

audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'

发现在$ORACLE_BASE目录下并没有上面两个文件夹,用oracle用户创建文件夹,并将<ORACLE_BASE>改为绝对路径,如下:

audit_file_dest='/data/oracle/admin/orcl/adump'
db_recovery_file_dest='/data/oracle/flash_recovery_area'

[oracle@localhost ~]# mkdir $ORACLE_BASE/admin
[oracle@localhost ~]# mkdir $ORACLE_BASE/admin/orcl
[oracle@localhost ~]# mkdir $ORACLE_BASE/admin/orcl/adump
[oracle@localhost ~]# mkdir $ORACLE_BASE/flash_recovery_area

成功启动数据库:

SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2220200 bytes
Variable Size             616566616 bytes
Database Buffers          444596224 bytes
Redo Buffers                5554176 bytes
ORA-00205: error in identifying control file, check alert log for more info

猜你喜欢

转载自blog.csdn.net/yanjian_0809/article/details/85060706