阅读更多
操作系统:RHEL6.5
数据库版本:11.2.0.4
我在安装could control软件的时候修改了数据库的部分参数,其中就有memory_target的值。
然后数据库就起不来了
SQL> startup;
ORA-00838: Specified value of MEMORY_TARGET is too small, needs to be at least 3072M
ORA-01078: failure in processing system parameters
报错原因是MEMORY_TARGET的值太小,至少需要3072M
修改MEMORY_TARGET的值在数据库里面已经不可操作
所以我在参数文件里修改
首先生成pfile
SQL>create pfile from pfile;
[oracle@hzmcorcl dbs]$ vi /oracle/app/product/11.2.0/db_1/dbs/initorcl.ora
修改memory_target的值:
*.memory_target=3221225472
然后使用pfile启动试试:
SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';
ORA-00845: MEMORY_TARGET not supported on this system
又变成了一个新的报错,这个MEMORY_TARGET的值超过的系统最大内存。
查看系统的内存后发现系统内存为2GB
因为我是虚拟机上的,所以把操作系统关闭后在虚拟机里修改内存为4.5GB
然后启动操作系统,再次进行尝试:
SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';
ORA-00845: MEMORY_TARGET not supported on this system
依旧报这个错误,在搜索引擎上查询知道
MEMORY_TARGET的值要小于/dev/shm内的值。
所以我想把/dev/shm的值改大可能就可以启动
[root@hzmcorcl ~]# cd /etc/
[root@hzmcorcl etc]# vi fstab
# /etc/fstab
# Created by anaconda on Mon Nov 21 10:19:33 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/vg_hzmcorcl-lv_root / ext4 defaults 1 1
UUID=5845465a-e313-4337-865c-c87853677c49 /boot ext4 defaults 1 2
/dev/mapper/vg_hzmcorcl-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults,size=3072M 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/sdb1 /sdb ext4 defaults 1 2
/dev/vg1/data /agent ext4 defaults 1 2
增加参数size=3072M
重新挂载:
[root@hzmcorcl etc] mount -o remount /dev/shm
[root@hzmcorcl ~]# mount -l
/dev/mapper/vg_hzmcorcl-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,size=3072M)
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb1 on /sdb type ext4 (rw)
/dev/mapper/vg1-data on /agent type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
可以看到/dev/shm的值已经变成3072M(当然重启也可以生效修改的/dev/shm的内存值)
再次尝试启动数据库:
SQL> startup pfile='/oracle/app/product/11.2.0/db_1/dbs/initorcl.ora';
ORACLE instance started.
Total System Global Area 3206836224 bytes
Fixed Size 2257520 bytes
Variable Size 1996492176 bytes
Database Buffers 1191182336 bytes
Redo Buffers 16904192 bytes
Database mounted.
Database opened.
至此,数据库修复完成。
生成新的参数文件即可。