|
|
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Поставил свежескачанный с Oracle дистр на RH7.3 (поставленный как серверная установка. Никаких лишних настроек). Все вроде нормально, только при инсталяции ругнулся на невозможность компиляции ins_ctx.mk (кто-нибудь знает почему?) + при создании репозитория выскочило сообщение о ошибке связанной с невозможностью доступа к shared memory (кто-нибудь знает почему?) Сервер выключил. Утром включил. Запустил Oracle (dbstart), запустил listener (lsnrctl start listener). Пытаюсь подключиться с Win клиента и получаю по мозгам: Unable to connect: SQLState=08004 [Oracle][ODBC]ORA-01034: ORACLE not available ORA-27101: shared memory realm does not exist Linux Error: 2: No such file or directory На самом сервере пытался законнектится и снова получил, что shared memory realm does not exist. + что-то с юзверями не то. Чувствую, что проблема чайниковская, но не понимаю, как быть. Кто поможет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2002, 20:25:04 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>выскочило сообщение о ошибке связанной с >невозможностью доступа к shared memory (кто-нибудь >знает почему?) Во-первых из твоего постинга непонятно - стартует ли инстанс и выделяется ли shared memory. Судя по сообщению об ошибке - не выделяется. Проверять через клиента - не лучший способ. Попробуй так: Код: plaintext 1. 2. 3. 4. 5. Если sga не выделяется возможно проблема в установках shared memory на линухе. Должно быть, что-то типа Код: plaintext 1. почитай руководсво по инсталляции оракла на линухе как это сделать. Ну и планируемая sga не должна быть больше чем возможности по выделению shared memory. Если sga все же выделилась, то сделай шатдаун оракла и проверь освободилась ли она: [mylinux:~] # ipcs -a Вообще при такого рода проблеме на 8i помогает инсталляция оракловского патча для линуха. Ну а для 9-ки такого не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 15:06:55 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Не подскажешь что это за патч такой. Я тут попробовал для 8.0.5(RH6.2) дать ~500 mb - не может ORA-27123: unable to attach to shared memory segment причем ipcs -l : shmmax(kb) = 2097151, а kernel.shmmax = 4294967295 (в чем прикол так и не понял). Причем что для 2.2 ядра,что для 2.4 ситуация не меняется. Второй день бьюсь, мысли уже исчерпаны ;(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 18:03:18 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
для 8.0 посмотри вот тут . Называется glibcpatch.tgz А сколько физической памяти на сервере? Должно быть больше примерно на 30-40% (конечно зависит от потребностей других приложений), чем sga, которую ты планируешь выделить. Может в этом проблема? Пересчитай параметры. >причем ipcs -l : shmmax(kb) = 2097151, а kernel.shmmax = >4294967295 (в чем прикол так и не понял) фиг его знает - у меня тоже так :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 18:44:23 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Да, этот патч у меня стоит, спасибо. В том-то и дело что памяти 4Гб и все свободно.Единственное что свап у меня 2000Мб, но это несравнимо больше 500мб. Грустно :-)). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 19:38:34 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>В том-то и дело что памяти 4Гб и все >свободно.Единственное что свап у меня 2000Мб, но это >несравнимо больше 500мб. Грустно :-)). да, странно :-( . Кстате, своп вообще роли не играет, т.к. shared memory не свопится. Может все таки ошибка в параметрах, т.е. пересчитай сколько получится:((db_block_buffers * block size) + (shared_pool_size + large_pool_size + log_buffers) + 1MB ну, еще посмотри $ ulimit -a может просто с физ. памятью проблемы? больше ничего в голову не приходит :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 20:07:09 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Опытным ( :-)) путем нашел что ровно 512М shm еще размещает,а больше уже нет. Я же говорю - грустно :-((. У тебя какие версии и сколько давал под SGA? /root]# su - dbinstall -c 'ulimit -a' core file size (blocks) 1000000 data seg size (kbytes) unlimited file size (blocks) unlimited max memory size (kbytes) unlimited stack size (kbytes) 8192 cpu time (seconds) unlimited max user processes 29695 pipe size (512 bytes) 8 open files 16384 virtual memory (kbytes) 2105343 --------------------- при db_block_size = 4096 db_block_buffers = 106862 SVRMGR> ORACLE instance started. Total System Global Area 536231184 bytes Fixed Size 48400 bytes Variable Size 97943552 bytes Database Buffers 437706752 bytes Redo Buffers 532480 bytesbytesDatabase mounted. Database opened. [root@newserver pfile]# ipcs -u ------ Shared Memory Status -------- segments allocated 1 pages allocated 131072 !!!!!!!!!!!!!!!!!!!!!!!!!!!! pages resident 7685 --------------------------- при db_block_size = 4096 db_block_buffers = 106863 SVRMGR> ORA-27123: unable to attach to shared memory segment Linux Error: 22: Invalid argument ------------------------ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2002, 21:53:44 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
2Lazy посмотри как нужно сдвигать начальный адрес SGA в Administration Guide 8.1.7 for Linux. Не уверен что есть такая возможность для 8.0.x Если без извращений, то на Linux макс. раздел. память будет ограничена примерно 730М А зачем тебе SGA больше 500М ? Быстрее от этого Oracle работать не станет. Тем более 8.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 11:21:46 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>Опытным ( :-)) путем нашел что ровно 512М shm еще >размещает,а больше уже нет. Я же говорю - грустно :-((. >У тебя какие версии и сколько давал под SGA? версии у меня немного другие: Оракл везде 8.1.7.2, а платформы (это с которыми можно играться) RH 6.2 - 2.2.14-5.0 - phys. mem. 512Mb SuSE 7.3 - 2.4.4-4GB - phys. mem. 1Gb ну и еще там разные Linux, Tru64 v.5.1, HP-UX 11.00, с которыми играться нельзя :-( Так вот на первых двух я давал размер sga больше, чем физ. память (shmmax у меня везде с запасом) и оракл стартует, shared memory выделяется. Более того, делаю фуллсканы больших таблиц, для того чтоб заполнить кеш и тоже работает без свопа. И куда оно девается? ulimit у меня примерно такие же. >посмотри как нужно сдвигать начальный адрес SGA в >administration Guide 8.1.7 for Linux. Не уверен что есть >такая возможность для 8.0.x есть такая возможность - подробно описана на металинке в Note 1028623.6. Правда для солярки, но я бы на твоем месте попробовал. >Если без извращений, то на >Linux макс. раздел. память будет ограничена примерно >730М откуда дровишки? >А зачем тебе SGA больше 500М ? Быстрее от этого Oracle >работать не станет. Тем более 8.0 Вот это новость! Неужели кеширование блоков не имеет всемирно-исторического значения? Тем более на 8.0 :-)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 16:18:41 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>есть такая возможность - подробно описана на >металинке в Note 1028623.6. Правда для солярки, но я бы >на твоем месте попробовал. Вот тут еще на досуге порылся в интернете и нашел вот такую мысль, что перед тем как сдвигать sga, надо проверить параметры ядра: :~] # grep RANGE /usr/src/linux-2.2.14/include/asm-i386/shmparam.h #define SHM_RANGE_START 0x50000000 #define SHM_RANGE_END 0x60000000 а затем проверь где у тебя начинается (должна начинаться) sga: :~] $ genksms|head -1 .set sgabeg,0X50000000 Вот у меня на RH 6.2 вот так, как выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 21:15:26 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Хм... продолжаем разговор (я никого не разбудил?:-)) Так вот, как показали последние исследования советских ученых на металинке, существует специально подготовленная ораклом утилита для тренировки на шаред мемори: oracle] $ tstshm Number of segments gotten by shmget() = 50 Number of segments attached by shmat() = 50 Segments attach at higher addresses Default shared memory address = 0x406b6000 Lowest shared memory address = 0x406b6000 Highest shared memory address = 0x46ab6000 Total shared memory range = 106954752 Total shared memory attached = 104857600 Largest single segment size = 2097152 Segment boundaries (SHMLBA) = 4096 (0x1000) а можно также употреблять как tstshm -t<size of SGA> -b<new attach address> Почему я получаю все время новые адреса я так и не понял :-( Ладно, пошел спать ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2002, 23:06:05 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
У меня такие же грабли на Oracle9.2 под W2K. Как только устанавливаешь какое-либо значение DB_BLOCK_BUFFERS все крантец, память не выделяется. Убираешь этот параметр - экземпляр нормально работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 05:00:35 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
2Animal: Из Oracle9i Database Reference: DB_BLOCK_BUFFERS Note: This parameter is deprecated in favor of the DB_CACHE_ SIZE parameter. Oracle recommends that you use DB_CACHE_ SIZE instead. Also, DB_BLOCK_BUFFERS cannot be combined with the new dynamic DB_CACHE_SIZE parameter; combining these parameters in the same parameter file will produce an error. DB_BLOCK_BUFFERS is retained for backward compatibility. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 10:58:23 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Спасибо всем. Решилось. Сдвинул sgabeg на 0х70000000 и oracle стал понимать SGA> 1Гб, правда не без приколов. Подробно не тестировал, но где-то в районе 1.3 Гб Oracle стартует ,но потом не может shutdown - говорит что его нету,хотя все процессы висят(ORA-01034: ORACLE not available).Может я переборщил со сдвигом. Я тоже слышал про ~730(780)Мб. Потому и не пытался сдвигать, полагая что проблемы в чем-то другом. Возможно, я забыл упомянуть самое главное - у меня 8.0.5SE. 2killed: >А зачем тебе SGA больше 500М ? Быстрее от этого Oracle работать не станет. Тем более 8.0 сейчас SGA>500Mb, наверное, ненужно. Смысл в том что если понадобится, то чтобы была возможность сделать. Тем более, что пока есть время пробовать. 2.dba: Ссылку не нашел, но есть мнение, что при нормально загруженном сервере, данные которые нужны реже чем раз в 8-10мин должны читаться с диска. В любом случае бездумное кеширование блоков приводит к замедлению Oracle. К metalink'u доступа к сожалению нету. А описания этих tstshm,genksms,наверное, больше нигде не найти. >Так вот на первых двух я давал размер sga больше, чем физ. память (shmmax у меня везде с запасом) и оракл >стартует, shared memory выделяется. Более того, делаю фуллсканы больших таблиц, для того чтоб заполнить кеш >и тоже работает без свопа. И куда оно девается? странно, у меня говорит out of memory Кстати tstshm выдавал интересные рез-ты(это до сдвига): ----------------------------------------------- root]# tstshm Number of segments gotten by shmget() = 50 Number of segments attached by shmat() = 50 Segments attach at higher addresses Default shared memory address = 0x404c7000 Lowest shared memory address = 0x404c7000 Highest shared memory address = 0xbfec7000 Total shared memory range = 2143289344 Total shared memory attached = 104857600 Largest single segment size = 2097152 Segment boundaries (SHMLBA) = 4096 (0x1000) root]# tstshm -s100000000 -t50000000 size = 100 000 000 totsize = 50 000 000 Succeeded in attaching 48 segments with total shm of 50000000 root]# tstshm -s100000000 -t500000000 size = 100 000 000 totsize = 500 000 000 Shmat error: Identifier removed shmctl: Identifier removed [root@newserver /root]# tstshm -s100000000 size = 100000000 Number of segments gotten by shmget() = 50 Number of segments attached by shmat() = 21 Segments attach at higher addresses Maximum size segments are not attached contiguously! Segment separation = 100003840 bytes Default shared memory address = 0x404c7000 Lowest shared memory address = 0x404c7000 Highest shared memory address = 0xbd792000 Total shared memory range = 2200080640 Total shared memory attached = 2100 000 000 Largest single segment size = 100000000 Segment boundaries (SHMLBA) = 4096 (0x1000) -------------------------------------------- а genksms и сейчас выдает # genksms|head -1 .set sgabeg,0X20000000 а это и есть 512М -------------------------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 18:39:19 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>2.dba: >Ссылку не нашел, но есть мнение, что при нормально >загруженном сервере, данные которые нужны реже чем >раз в 8-10мин должны читаться с диска. >В любом случае >бездумное кеширование блоков приводит к замедлению >Oracle. так ведь все в этом мире относительно :-). Если у тебя таблицы большие и приложение делает аналитические запросы, т.е. частые фулсканы, то почему бы их не закешировать? Конечно, если данные нужны относительно редко, а в промежутках они еще и интенсивно апдейтятся, то кеширование не только не поможет, но и затормозит, а если, наоборот, read-only, то очень даже поможет. Т.е. опять же все зависит от приложения. >К metalink'u доступа к сожалению нету. А описания этих >tstshm,genksms,наверное, больше нигде не найти. да не очень там и написано. Только хорошо описан алгоритм при выделении сегментов шаред мемори (в смысле попытки выделить один или много (если много, то последвательные или нет)). >Кстати tstshm выдавал интересные рез-ты(это до >сдвига): насколько я понимаю сдвиг (т.е. релинкование оракловских бинарников) не влияет на результаты работы tstshm. Она просто выполняет алгоритм выделения, так же как и оракловский executable и говорит будет ли выделение успешным. Можешь ее протрассировать линуховым strace'ом. >а genksms и сейчас выдает ># genksms|head -1 >.set sgabeg,0X20000000 >а это и есть 512М Ты ж делал новый ksms.s и с ним перелинковывал, а genksms показывает тебе дефолтный адрес (это я так думаю :-) Чего я так и не понял - так это результатов работы tstshm без параметров. Все эти цифры нижнего и верхнего возможных адресов выглядят как-то отвлеченно и ни о чем не говорят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2002, 22:25:33 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
2.dba Кэширование - оно ведь не бесплатно. Больший кэш - бОльшие затраты. Предполагаю, что Оракл активно меняет свои алгоритмы, чтобы идти в ногу со временем (дешевая память, бОльший объем). Данные получаемые через Full Table Scan не кэшируются. www.oradba.com.ru -> Optimizer -> Статья Тима Гормана 2Lazy Прочел твое сообщение и понял, что немного соврал по прошествии времени. Когда я пробовал на RH6.2 сразу на сеежей инсталляции, то по дефолту я смог взять около 730М. После сдвига до 1.3Г Так что данные совпадают :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 14:26:17 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
2.dba >Чего я так и не понял - так это результатов работы tstshm без параметров. Все эти цифры нижнего и верхнего >возможных адресов выглядят как-то отвлеченно и ни о чем не говорят. Говорят-говорят, они примерно (:-)) показывают начало и конец диапазона. А вообще-то он глючит. 2killed В том-то и дело, что без сдвига я мог взять только 512М, а после разных сдвигов максимум получился ~2,5 гб. Ядро 2.4, на 2.2 сейчас нет возможности посмотреть. Oracle запускается, простейшие запросы отрабатывают, детально не тестировал. Так что данные не совпадают ;-). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 18:23:04 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Перечитал снова твои постинги - цифры совпадают ;) Теоретически действительно должно быть больше 1,3Г, но на практике я не видел чтобы это работало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2002, 22:26:55 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>Данные получаемые через Full Table Scan не кэшируются. >www.oradba.com.ru -> Optimizer -> Статья Тима Гормана Что значит не кешируются? 1. Кешируются, если буферный кеш свободен (т.е. выше hwm). 2. Кешируются, если таблица создана (или модифицирована) с ключевым словом cache. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2002, 19:05:53 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Ты вроде про большие таблицы говорил? А статью полностью прочитал? Что означает первый пункт твоего постинга? Я не совсем понял как связано заполнение кэша и hwm кэша (хотя такого понятия у кэша нет) с табличным сканированием? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 10:52:53 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>Ты вроде про большие таблицы говорил? А статью >полностью прочитал? если честно, то я еще не читал :-) >Что означает первый пункт твоего постинга? Я не совсем >понял как связано заполнение кэша и hwm кэша (хотя >такого понятия у кэша нет) с табличным сканированием? да, такого понятия нет, но я имел ввиду следующее: select * from v$bh where status = 'free' т.е. те буферы, которые не заполнялись со времени старта инстанса. теперь, когда договорились о терминологии :-) проверяем: исх. данные: db_block_buffers = 10000 таблица с1_2 (7513 blocks, cache = yes) таблица с1_2noc (7513 blocks, cache = no) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. база тестовая, так что другой активности практически нет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. обрати внимание на physical reads ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 13:52:53 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
Очень интересно! Я так понимаю эти результаты получены на 9ке или же просто эффект чистого кэша??? Ниже результаты с 8.1.7 (работающая база - кэш заполнен) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. Я попробовал также на 9.2 только что стартованном экземпляре. Если не ошибся, то при незаполненном кэше Оракл просекает эту ситуацию и кэширует таблицу. Вот пример, когда была свободна 1000 блоков Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. Опять же боюсь ошибиться, проверял на скорую руку. Но выводы у меня получаются такие: Если кэш пустой - экземпляр стартован недавно, то все блоки при сканировании таблицы будут кэшироваться по максимуму. Если кэш заполнен (а это есть специфика кэша по определению), то будет работать старый алгоритм и блоки таблицы не будут кэшироваться при FTS. По идее очень логично: если есть свободные блоки - зачем им "пропадать зазря", однако если свободных блоков нет, то вытеснять их мы не будем, поскольку вероятность повторного использования блоков, считываемых при полном таб. сканировании мала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 15:41:47 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>Но выводы у меня получаются такие: Если кэш пустой - >экземпляр стартован недавно, то все блоки при >сканировании таблицы будут кэшироваться по >максимуму. Если кэш заполнен (а это есть специфика >кэша по определению), то будет работать старый >алгоритм и блоки таблицы не будут кэшироваться при >FTS. По идее очень логично: если есть свободные блоки - >зачем им "пропадать зазря", однако если свободных >блоков нет, то вытеснять их мы не будем, поскольку >вероятность повторного использования блоков, >считываемых при полном таб. сканировании мала Да, именно так. Только одно дополнение - если таблица создана (или модифицирована) с ключевым словом cache, то она вытеснит из кеша любые другие таблицы (даже те которые с cache = yes) не люблю я новые версии :-). У меня везде 8.1.7.2, а 9-ки даже для теста нет. Вот все собираюсь заинсталлить :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 16:07:42 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
атрибут CASH будет работать только для таблиц размером меньше чем CACHE_SIZE_THRESHOLD. Для остальных он игнорируется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 16:25:33 |
|
||
|
Oracle 9.0.2i & RedHat 7.3 &... shared memory realm does not exist
|
|||
|---|---|---|---|
|
#18+
>атрибут CASH будет работать только для таблиц >размером меньше чем CACHE_SIZE_THRESHOLD. Для >остальных он игнорируется так это ж пережиток капитализма (т.е. 8.0 версии) - на 8.1.7 такого параметра нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.08.2002, 16:44:36 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2765&tid=1990009]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
180ms |
get tp. blocked users: |
2ms |
| others: | 195ms |
| total: | 457ms |

| 0 / 0 |
