ORA-00845 ORACLE11G常见的shm问题
ORA-00845 ORACLE11G常见的shm问题
问题报错过程
srv-bioradb:~> sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 25 18:27:45 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORA-00845: MEMORY_TARGET not supported on this system SQL> show sga; ORA-01034: ORACLE not available Process ID: 0 Session ID: 0 Serial number: 0
上网google发现是shm设置太小的问题
重新设置shm
1)卸载shm,遭遇报错
srv-bioradb:~> df -h df: `/root/.gvfs': Permission denied Filesystem Size Used Avail Use% Mounted on /dev/mapper/system-lv_root 358G 8.5G 331G 3% / devtmpfs 127G 624K 127G 1% /dev tmpfs 195G 932K 195G 1% /dev/shm /dev/cciss/c0d0p1 1.6G 106M 1.4G 8% /boot /dev/mapper/data-lv_data 2.3T 1.8T 364G 84% /oracle /dev/mapper/oraclevg-oraclelv01 2.9T 201M 2.7T 1% /oracle1 srv-bioradb:~> more /etc/fstab /dev/system/lv_swap swap swap defaults 0 0 /dev/system/lv_root / ext3 acl,user_xattr 1 1 /dev/disk/by-id/cciss-3600508b1001c59983f902a5494c7d076-part1 /boot ext3 acl,user_xattr 1 2 #/dev/data/lv_data /oracle_bk ext3 acl,user_xattr 1 2 /dev/data/lv_data /oracle ext3 defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 #/dev/mapper/oraclevg-oraclelv01 /oracle ext3 defaults 0 0 #/dev/mapper/oraclevg-oraclelv02 /oracle/oradata2 ext3 defaults 0 0 srv-bioradb:~> srv-bioradb:~> srv-bioradb:~> umount /dev/shm umount: /dev/shm is not in the fstab (and you are not root) srv-bioradb:~> exit exit srv-bioradb:~ # srv-bioradb:~ # 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)) srv-bioradb:~ #
2)查看谁在使用shm,踢掉
srv-bioradb:~ # fuser -cu /dev/shm /dev/shm: 12555m(root) 12614m(root) 12622m(root) srv-bioradb:~ # ps -ef | grep 12555 root 12555 1 0 Jul24 ? 00:00:05 /usr/lib/gnome-settings-daemon/gnome-settings-daemon root 43817 43683 0 18:36 pts/2 00:00:00 grep 12555 srv-bioradb:~ # ps -ef | grep 12614 root 12614 12445 0 Jul24 ? 00:00:00 gnome-volume-control-applet root 43819 43683 0 18:37 pts/2 00:00:00 grep 12614 srv-bioradb:~ # ps -ef | grep 12622 root 12622 1 0 Jul24 ? 00:00:00 /usr/bin/pulseaudio --start root 43821 43683 0 18:37 pts/2 00:00:00 grep 12622 srv-bioradb:~ # kill -9 12555 srv-bioradb:~ # kill -9 12614 srv-bioradb:~ # kill -9 12622
这里啰嗦一下,查找到的进程必须ps一下看看具体是什么进程在占用shm文件系统,如果是应用程序占用,退出程序。如果是僵死进程或不重要的shell终端,直接kill即可
3)再次卸载shm
srv-bioradb:~ # srv-bioradb:~ # umount /dev/shm srv-bioradb:~ # srv-bioradb:~ # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/system-lv_root 358G 8.5G 331G 3% / devtmpfs 127G 624K 127G 1% /dev /dev/cciss/c0d0p1 1.6G 106M 1.4G 8% /boot /dev/mapper/data-lv_data 2.3T 1.8T 364G 84% /oracle /dev/mapper/oraclevg-oraclelv01 2.9T 201M 2.7T 1% /oracle1 srv-bioradb:~ #
4)重新设置shm大小
srv-bioradb:~ # vi /etc/fstab SQL> host more /etc/fstab /dev/system/lv_swap swap swap defaults 0 0 /dev/system/lv_root / ext3 acl,user_xattr 1 1 /dev/disk/by-id/cciss-3600508b1001c59983f902a5494c7d076-part1 /boot ext3 acl,user_xattr 1 2 #/dev/data/lv_data /oracle_bk ext3 acl,user_xattr 1 2 /dev/data/lv_data /oracle ext3 defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 debugfs /sys/kernel/debug debugfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 tmpfs /dev/shm tmpfs defaults,size=256G 0 0 #/dev/mapper/oraclevg-oraclelv01 /oracle ext3 defaults 0 0 #/dev/mapper/oraclevg-oraclelv02 /oracle/oradata2 ext3 defaults 0 0 srv-bioradb:~ # mount /dev/shm srv-bioradb:~ # df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/system-lv_root 358G 8.5G 331G 3% / devtmpfs 127G 624K 127G 1% /dev /dev/cciss/c0d0p1 1.6G 106M 1.4G 8% /boot /dev/mapper/data-lv_data 2.3T 1.8T 364G 84% /oracle /dev/mapper/oraclevg-oraclelv01 2.9T 201M 2.7T 1% /oracle1 tmpfs 256G 0 256G 0% /dev/shm srv-bioradb:~ # srv-bioradb:~ # srv-bioradb:~ #
启动oracle,不再报错,问题解决
srv-bioradb:~ # whoami root srv-bioradb:~ # su - oracle srv-bioradb:~> sqlplus / as sysdba SQL*Plus: Release 11.2.0.3.0 Production on Thu Jul 25 18:46:06 2013 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 2.1913E+11 bytes Fixed Size 2241384 bytes Variable Size 1.0469E+11 bytes Database Buffers 1.1435E+11 bytes Redo Buffers 88821760 bytes Database mounted. Database opened. SQL>