前情提要:
用户大吃一惊:哦,原来如此 一刚(某地方言象声词)。好,那就说明我只要把/dev/shm 的大小设置成超过12G 就可以了咯?说是迟那时快(笑而不语),一个umount就过去了(次系统为非核心业务系统,用户有足够折腾的权力),呀,还busy了?
有提示就好办,lsof或者fuser 来查看一番么?
这三个是嘛玩意?
全集终,如有雷同,也未必是巧合,现在各种翻新,炒冷饭的剧还少么.....囧!!多谢各位观众观看....再见!!
由于长时间压抑于某数据库性能一直龟速,某一天客户对11g的新特性突然大发骚兴,认为如果将oracle的memory_target设置大点,是不是非常有益,但可惜用户只是做了简单测试就得出结论,比如3/4的物理内存理论上不可行。故事的发展过程记录如下:
用户尝试如下:
ora10:/u01/oracle/admin/cucds01/dpdump # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 4.7G 42G 11% /
devtmpfs 7.8G 128K 7.8G 1% /dev
tmpfs 7.8G 100K 7.8G 1% /dev/shm
/dev/sdb1 295G 95G 201G 33% /u01
17:01:36 SQL> create spfile from pfile;
16:55:17 SQL> alter system set memory_target=12000M scope=spfile;
16:55:42 SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
16:55:56 SQL> startup
ORA-00845: MEMORY_TARGET not supported on this system
我作为旁观者建议用户看看这个问题的具体原因是啥?客户打了下oerr ora 00845:(后来查阅mos上[ID 1399209.1]也有此文章)
oracle@ora10:/u01/oracle/product/11gR1/db/dbs> oerr ora 00845
00845, 00000, "MEMORY_TARGET not supported on this system"
// *Cause: The MEMORY_TARGET parameter was not supported on this operating system or /dev/shm was not sized correctly on Linux.
// *Action: Refer to documentation for a list of supported operating systems. Or, size /dev/shm to be at least the SGA_MAX_SIZE on each Oracle instance running on the system.
ora10:/u01/oracle/admin/cucds01/dpdump # umount tmpfs
umount: tmpfs: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
用户大吃一惊:哦,原来如此 一刚(某地方言象声词)。好,那就说明我只要把/dev/shm 的大小设置成超过12G 就可以了咯?说是迟那时快(笑而不语),一个umount就过去了(次系统为非核心业务系统,用户有足够折腾的权力),呀,还busy了?
ora10:/u01/oracle/admin/cucds01/dpdump # umount tmpfs
umount: tmpfs: device is busy.
(In some cases useful info about processes that use
the device is found by lsof(8) or fuser(1))
有提示就好办,lsof或者fuser 来查看一番么?
ora10:~ # lsof /dev/shm
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
gnome-set 3792 root mem REG 0,16 67108904 10752 /dev/shm/pulse-shm-2721841381
gnome-vol 3843 root mem REG 0,16 67108904 13745 /dev/shm/pulse-shm-2674159113
pulseaudi 3853 root mem REG 0,16 67108904 11633 /dev/shm/pulse-shm-1760779642
这三个是嘛玩意?
烦请各位网友,度娘或者谷哥一把。反正不是关键进程,干掉他.........
ora10:~ # kill -9 3792
ora10:~ # kill -9 3843
ora10:~ # kill -9 3853
ora10:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 4.7G 42G 11% /
devtmpfs 7.8G 128K 7.8G 1% /dev
tmpfs 7.8G 100K 7.8G 1% /dev/shm
/dev/sdb1 295G 95G 201G 33% /u01
ora10:~ # umount tmpfs
ora10:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 4.7G 42G 11% /
devtmpfs 7.8G 128K 7.8G 1% /dev
/dev/sdb1 295G 95G 201G 33% /u01
很顺利,终于干掉,大功告成? 革命尚未成功,xx想遇到oo 那就得继续努力,少年.....
ora10:~ # mount -t tmpfs shmfs -o size=13000M /dev/shm
ora10:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 48G 4.7G 42G 11% /
devtmpfs 7.8G 128K 7.8G 1% /dev
/dev/sdb1 295G 95G 201G 33% /u01
shmfs 13G 0 13G 0% /dev/shm
习惯先看看是否想给memory_target 12G大小,物理内存够没够...
oracle@ora10:~> top
top - 09:22:00 up 32 min, 3 users, load average: 0.69, 0.21, 0.11
Tasks: 155 total, 1 running, 154 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.2%us, 0.1%sy, 0.0%ni, 99.3%id, 0.3%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 15953M total, 926M used, 15027M free, 17M buffers
Swap: 2053M total, 0M used, 2053M free, 582M cached
嗯,看来没问题,骚年得继续努力:
oracle@ora10:~> export ORACLE_SID=cucds01
oracle@ora10:~> echo $ORACLE_SID
cucds01
oracle@ora10:~> sqlplus
SQL*Plus: Release 11.2.0.3.0 Production on Wed May 8 09:22:23 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter user-name: /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1.2827E+10 bytes
Fixed Size 2240344 bytes
Variable Size 5872025768 bytes
Database Buffers 6945767424 bytes
Redo Buffers 7335936 bytes
Database mounted.
Database opened.
SQL> show parameter instance
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
active_instance_count integer
cluster_database_instances integer 1
instance_groups string
instance_name string cucds01
instance_number integer 0
instance_type string RDBMS
open_links_per_instance integer 4
parallel_instance_group string
parallel_server_instances integer 1
SQL> show parameter mem
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address integer 0
memory_max_target big integer 12G
memory_target big integer 12G
shared_memory_address integer 0
全集终,如有雷同,也未必是巧合,现在各种翻新,炒冷饭的剧还少么.....囧!!多谢各位观众观看....再见!!