ORACLE°²×°²ÎÊý˵Ã÷¼°×¢ÒâÊÂÏ
ÔÎĵØÖ·£ºhttp://blog.csdn.net/fengyun14/archive/2007/03/25/1540433.aspx
¹ØÓÚLinux ÏÂkernel.shmmax µÄÉèÖÃÎÊÌâ
ÏÂÃæÊÇOracle ÎĵµÉϵĽâÊÍ£¬ http://download-west.oracle.com/doc...e.htm#sthref107
SHMMAX Available physical memory Defines the maximum allowable size of one shared memory segment.
The SHMMAX setting should be large enough to hold the entire SGA in one shared memory segment. A low setting can cause creation of multiple shared memory segments which may lead to performance degradation.
shmmax µÄº¬ÒåÊǵ¥¸ö¹²ÏíÄÚ´æ¶ÎµÄ×î´ó³ß´ç£¬ ÉèÖÃshmmax=1G£¬sga·ÖÅäÁË1.2G£¬µ±Æô¶¯ÊµÀýµÄʱºò¾Í·ÖÅä 2 ¿é¹²ÏíÄÚ´æ¸øOracle .
Èç¹ûÎïÀíÄÚ´æÊÇ 2 G, ¼ÙÉèÕą̂DB ServerÉÏ»¹ÓÐApache ÔÚÔËÐУ¬ÄÇôshmmax ÖÐÉèÖõÄÄÚ´æÒ²»á±»Apache À´Ê¹Óã¬ÄÇô·ÖÅäµÄ 2 ¿é¹²ÏíÄÚ´æ¶Î¸øOracle ÊÇ·ñ¾ÍÊÇ 2 * 1G , »¹Êǽö½öÂú×ã SGAÐèÇóµÄ 1.2 G¾ÍÍ£Ö¹·ÖÅä £¬ ÆäËûµÄÄÚ´æµÄÒ»²¿·Ö·ÖÅ䏸Oracle PGA ºÍÈí¼þ Apache À´Ê¹Óà £¿
´ð£º
¿´Oracle Document ˵·¨ £¬ µ±ÐèÒª·ÖÅä¶à¸ö ( creation of multiple shared memory segments ) ¹²ÏíÄÚ´æ¶ÎµÄʱºò»áµ¼ÖÂÐÔÄÜϽµ ¡£
Èç¹ûż¶û·ÖÅäÐèÒª 2 ¸ö¹²ÏíÄÚ´æ¶Î £¬ÐÔÄÜÓ¦¸Ã²»»áÊܵ½Ì«´óÓ°Ïì°É ¡£
shmmaxÄں˲ÎÊý¶¨Òåµ¥¸ö¹²ÏíÄÚ´æ¶ÎµÄ×î´óÖµ£¬Èç¹û¸Ã²ÎÊýÉèÖÃСÓÚOracle SGAÉèÖã¬ÄÇôSGA¾Í»á±»·ÖÅä¶à¸ö¹²ÏíÄÚ´æ¶Î¡£ÕâÔÚ·±Ã¦µÄϵͳÖпÉÄܳÉΪÐÔÄܸºµ££¬´øÀ´ÏµÍ³ÎÊÌâ¡£
ÉèÖãº
һЩ×ÊÁÏ˵ÄÚ´æ´ó¹ý2gµÄ£¬¾Í°´shmmax=shmall*1*1024 £¨shmall=ʵ¼ÊÄÚ´æ*1024£© £¬ÓеÄ˵´ó¹ý2gµÄ¾Í°´2gµÄË㣬shmall=2097152=2048*1024£¬shmmax=shmall*1*1024=2147483648
ÏÖÔÚµÄÇé¿öÊÇÎÒ°´µÚÒ»ÖÖ˵·¨°²×°9i£¬ÎҵķþÎñÆ÷ÄÚ´æÊÇ8GµÄÉ裬µ½×îºó±¨ORA-27012ut of memory ´íÎó£¬Êý¾Ý¿âÎÞ·¨Æô¶¯£¬¶ø°´µÚ¶þÖÖ¾ÍûÊ£¬Çë¸ßÊÖÖ¸µã£¬Õâ¸öÖµµ½µ×ÔõôÉèÖúÏÀí£¿
´ð£º
¶ÔÓÚ32bitµÄlinuxÀ´Ëµ£¬²»¹Üʵ¼ÊµÄÄÚ´æÓжà´ó£¬shmmaxµÄ×î´óÖµ²»Ó¦¸Ã³¬¹ý 4294967295¡£
¶ÔÓÚrh3,Õý³£Çé¿öÏÂoracleµÄsgaÖ»ÄÜ¿ªµ½1.7G×óÓÒ£¨¼´Ê¹ÄãÓÐ8GµÄmemory£©£¬¼´Ê¹¾¹ýijЩµ÷Õû£¬ÈçHugetlb£¬×î¶àÒ²Ö»Äܽ«SGA<3G.
oracleÔÚÉèÖÃsgaµÄʱºò£¬»á²Î¿¼ÏµÍ³µÄÄں˲ÎÊý£¬ÈçshmmaxµÈ¡£
ÅäÖà Linux µÄÄں˲ÎÊý
[root@myhost ~]# vi /etc/sysctl.conf
# For Oracle
kernel.shmmax = 1073741824£¨¸Ä³É·þÎñÆ÷ÄÚ´æµÄÒ»°ë£¬ÎҵķþÎñÆ÷ÊÇ1G£¬ËùÒÔ¶¼Ëã½ø
Ïà¹ØÎĵµ£º
ÉÌÒµ¿ªÔ´Êý¾Ý¿â³§¼ÒEnterpriseDBÓë6ÔÂ17ÈÕ·¢²¼ÁË×îеÄPostgres Plus¸ß¼¶·þÎñÆ÷°æ£¬ÆäÄ¿±êÊÇÌá¸ßÓëOracleÊý¾Ý¿âµÄ¼æÈÝÐÔ£¬EnterpriseDBÊÇ¿ªÔ´Êý¾Ý¿âPostgreSQL£¨Ò²½Ð×öPostgres£©±³ºóµÄÖ÷ÒªÉÌÒµÖ§³Ö¹«Ë¾¡£
ÆäʵPostgres Plus¸ß¼¶·þÎñÆ÷°æ²¢·ÇÍêÈ«¿ªÔ´£¬ËüÊÇÔÚ¿ªÔ´µÄPostgreSQLÊý¾Ý¿â»ù´¡Ö®ÉÏÌí¼ÓÁËÐí¶à¸½¼ÓÌØÐÔ£¬ÒÔÌá¸ßºÍO ......
ºÙºÙ£¬Õ⻹ÊÇÉÏÕÂ֪ʶÁË£¬Ö»Êǵ¥Ò»Ð´³öÀ´±È½ÏºÃÒ»µã£¬ÒòΪÉÏÃæµÄÊǽϻù´¡µÄ£¬²»ÔõÃ´Éæ¼°²Ù×÷£¬¶øÕâÀïÊÇͨ¹ý²Ù×÷³öÀ´µÄ£¬ºÇºÇ¡£
Ê×ÏÈ£¬´ò¿ªÊý¾Ý¿â·þÎñ£¬È»ºóͨ¹ý¿ØÖÆÌ¨´ò¿ªsqlplus£º
È»ºó½«Êý¾Ý¿âÉèÖÃΪֻ¶Á£ºalter database read only£»µ«ÊÇÄØ£¬ÕâÑùÊDz»Ä ......
ÄÇЩ·þÎñÐèÒªÆô¶¯ÐèÒª¿´Äã×Ô¼ºµÄÐèÇó£¬Ïê¼û£º
Windowsϳ£¼ûOracle·þÎñ½éÉÜ£º
£¨1£©OracleServiceSID
Êý¾Ý¿â·þÎñ£¬Õâ¸ö·þÎñ»á×Ô¶¯µØÆô¶¯ºÍÍ£Ö¹Êý¾Ý¿â¡£Èç¹û°²×°ÁË ......
ʹÓÃÄ£ºý²éѯ£º
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd");
Date startdate = sdf.parse(start_date);
Date enddate = sdf.parse(end_date);
List list = sess.createCriteria(MyTabel.class)
.add( ......
select t.lot_number
from inv.mtl_onhand_quantities_detail t
left join mtl_system_items_b mi
on t.inventory_item_id = mi.inventory_item_id
where mi.segment1 like '101%' and mi.organization_id = 102
group by t.lot_number having count(*)=1 union
select t.lot_number||'x'
......