بتاريخ: 22 مايو 200520 سنة comment_36999 السلام عليكم ورحمة الله وبركاته،، اريد ان اعرف افضل ضبط للذاكره الخاصه بالاوراكل داتا بيز علي السيرفير من اجل الاستغلال الامثل لها حيث اني اعاني من البط الشديد عند اشتغال معظم المستخدمينمع العلم ان السيرفير يخدم حوالي (50) مستخدم وهو اوراكل 8 ايوحجم الرام علي السيرفيرهي 1024 ميجا بايت وهو بينتيوم 4 سرعه2.4 جيجا هيرتزاي حجمshard pool buffer cash larg pool java pool max usersort area تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة comment_37014 السلام عليكمجرب السكريبت التالي، الذي سوف يعطيك معلومات عن وضع الذاكرة الحالي عندكجربه وفيه الحل إن شاء الله prompt **************** PROMPT Hit Ratio for Library Cache must be less than < 1% prompt if the results was larger than 1% we increase shared_pool in init.ora PROMPT Gets: number of times we found parsing for certain SQL statement PROMPT Reloads: number of times we make new parsing PROMPT ---------------- select SUM(RELOADS) / SUM(GETS) * 100 FROM V$LIBRARYCACHE / prompt **************** prompt Hit Ratio for Dictionary Cache must be less than < 15% prompt if the results was larger than 1% we increase shared_pool in init.ora prompt Gets: number of times we found parsing for certain SQL statement prompt Getmisses: number of times we make new parsing PROMPT ---------------- SELECT SUM(getmisses) / sum(gets) * 100 from V$ROWCACHE / prompt **************** prompt Data Chace LRV must be more than 90% PROMPT ---------------- select ( 1- ( (select value from V$SYSSTAT where name='physical reads') / ( (select value from V$SYSSTAT where name='db block gets') +(select value from V$SYSSTAT where name='consistent gets') ))) * 100 "Data Cache LRV" from dual / prompt **************** prompt hit ratio for Buffer Cache (Data Buffer) for KEEP and RECYCLE and DEFAULT prompt sections in 9i only, in 8i we use v$buffer_pool PROMPT ---------------- select name, physical_reads, consistent_gets, db_block_gets from v$buffer_pool_statistics / prompt **************** prompt Size of log buffer prompt value must be near to zero, if it was more than 50 we increase slightly prompt log_buffer size in init.ora PROMPT ---------------- select statistic#, name, value from v$sysstat where name='redo log space requests' / prompt **************** prompt Sort Buffer prompt sort memory: number of sort operations in memory prompt sort disk : number of sort operations in disk (Swap file) prompt sort rows : number of sorted rows by memory/disk sort operations prompt hit ratio must be more than 80%, if it was less we need to increase sort_area_size prompt Oracle recommends that sort_area_retained_size = 10% of sort_area_size PROMPT ---------------- select (select value from V$SYSSTAT where name='sorts (rows)') "Number Sorted Rows", ( 1- ( (select value from V$SYSSTAT where name='sorts (disk)') / ( (select value from V$SYSSTAT where name='sorts (memory)') ))) * 100 "%Sorts in Memory" from dual / prompt **************** prompt RollBack Segment hit ratio must be > 99% PROMPT ---------------- SELECT (1- SUM(waits) / sum(gets)) * 100 "RollBack Segment hit ratio" from v$rollstat / prompt **************** prompt Tuning MTS prompt Dispatcher hit ratio must be > 50%, if it was less we increase max_dispatcher PROMPT ---------------- SELECT (1- SUM(busy) / (sum(busy)+sum(idle)) ) * 100 from v$dispatcher / prompt **************** prompt Shared Server hit ratio must be > 50%, if it was less we increase PROMPT ---------------- SELECT (1- SUM(busy) / (sum(busy)+sum(idle)) ) * 100 from v$Shared_server / تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة كاتب الموضوع comment_37028 اشكرك يا اخي انا هجرب الاسكربت وان شاء الله يجيب نتيجهوجزاك الله خيرا تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة comment_37060 الوضع الصحيح لضبط الذاكره فى اوراكل هو PGA + SGA< total RAM - Other used by processPGA = Program global areaSGA= system global area حاصل جمع ال SGA و ال PGA اصغر من حاصل حجم الذاكره الكامل - المساحه المستخدمه من قبل التطبيقات الاخرى الخاصه بالنظام. تقديم بلاغ
بتاريخ: 23 مايو 200520 سنة كاتب الموضوع comment_37103 السلام عليكم ورحمة الله وبركاته،، اخي العزيز لقد جربت الاسكريبت ولكني لم افهم ماذا يمكنني ان افعل فارجو منك المساعده جزاك الله عنا كل الخيرواليك ناتج التنفيذ لكل خطوه 1* select SUM(RELOADS) / SUM(GETS) * 100 FROM V$LIBRARYCACHESQL> SQL> /SUM(RELOADS)/SUM(GETS)*100-------------------------- 0.17739483==================================================SQL> SELECT SUM(getmisses) / sum(gets) * 100 from V$ROWCACHE 2 /SUM(GETMISSES)/SUM(GETS)*100---------------------------- 19.291448==================================================SQL> select ( 1- ( (select value from V$SYSSTAT where name='physical reads') 2 / ( (select value from V$SYSSTAT where name='db block gets') 3 +(select value from V$SYSSTAT where name='consistent gets') 4 ))) * 100 "Data Cache LRV" 5 from dual 6 SQL> /Data Cache LRV-------------- 96.374502==================================================SQL> select ( 1- ( (select value from V$SYSSTAT where name='physical reads') 2 / ( (select value from V$SYSSTAT where name='db block gets') 3 +(select value from V$SYSSTAT where name='consistent gets') 4 ))) * 100 "Data Cache LRV" 5 from dual 6 SQL> /Data Cache LRV-------------- 96.374502==================================================SQL> select statistic#, name, value from v$sysstat where name='redo log space requests' 2 SQL> SQL> /STATISTIC# NAME VALUE---------- ------------------------------------------------ --------- 0 108 ==================================================SQL> select (select value from V$SYSSTAT where name='sorts (rows)') "Number Sorted Rows", 2 ( 1- ( (select value from V$SYSSTAT where name='sorts (disk)') 3 / ( (select value from V$SYSSTAT where name='sorts (memory)') 4 ))) * 100 "%Sorts in Memory" 5 from dual 6 SQL> /Number Sorted Rows %Sorts in Memory------------------ ---------------- 18437 100=================================================SQL> SELECT (1- SUM(waits) / sum(gets)) * 100 "RollBack Segment hit ratio" 2 from v$rollstat 3 /RollBack Segment hit ratio-------------------------- 100==================================================SQL> SELECT (1- SUM(busy) / (sum(busy)+sum(idle)) ) * 100 2 from v$dispatcher 3 /(1-SUM(BUSY)/(SUM(BUSY)+SUM(IDLE)))*100--------------------------------------- 100==================================================SQL> SELECT (1- SUM(busy) / (sum(busy)+sum(idle)) ) * 100 2 from v$Shared_server 3 /(1-SUM(BUSY)/(SUM(BUSY)+SUM(IDLE)))*100--------------------------------------- 100 تقديم بلاغ
بتاريخ: 24 مايو 200520 سنة comment_37235 السلام عليكملو نظرت داخل السكريبت يوجد PROMPT قبل كل مجموعة من الأوامرفيها يوجد الحل إن شاء الله لما تبحث عنهقارن النتائج التي حصلت عليها مع ما مكتوب فيهاوبالتالي يجب أن تعدل بعض الباراميترز في init.ora وتطفي الداتابيس وتعيد تشغيلهالا تنسى أن تحتفظ ب init.ora الأصليولا تنسى أن تأخذ باكب سليم من داتابيس SQL> SELECT SUM(getmisses) / sum(gets) * 100 from V$ROWCACHE 2 /SUM(GETMISSES)/SUM(GETS)*100----------------------------19.291448 بعد مراجعة output الصادر عندكأعتقد أن جزء من المشكلة هي أن Hit Ratio for Dictionary Cache = 19.2 بينما يجب أن تكون قيمته أقل من 15%، وبالتالي يجب أن تزيد shared_pool in init.oraوكن حذر في التعامل مع هذه الباراميترزإذا كان عندك Oracle Support يفضل حضور مختص منهم لمكان عملك ليعمل لك تيوننج للداتابيس تم تعديل 24 مايو 200520 سنة بواسطة Naji_Ali تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.