Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
есть вьюха fast refresh on commit обновление которой происходит порядка 80! сек.
это раз в 40 дольше чем ее полное пересоздание (около 2 сек.)
в trace был найден запрос(точнее инсерт с заросом) с mat view access full который и сжирает все это время:
SELECT /*+ NO_MERGE("JV$") 
  */ /*+ NO_REWRITE */
 "MAS$3"."ID"
 ,"MAS$3"."ID_OBJ_TYPE"
 ,NVL("JV$"."ID_OBJ_TYPE", "MAS$3"."ID_OBJ_TYPE")
 ,"MAS$8"."ID"
 ,NVL("MAS$8"."ID_REGION", "MAS$0"."ID")
 ,"MAS$8"."ID_AREA"
 ,"MAS$8"."ID_MUNICIPALITY"
 ,"MAS$7"."ID"
 ,"MAS$7"."STREET_TYPE"
 ,"MAS$7"."NAME"
 ,"MAS$6"."ID_DISTRICT"
 ,"MAS$6"."HOUSE"
 ,"MAS$6"."BULK"
 ,"MAS$4"."FLAT"
 ,"MAS$6"."LITERA"
 ,"MAS$3"."DELETED"
 ,"MAS$8".ROWID
 ,"MAS$7".ROWID
 ,"MAS$6".ROWID
 ,"MAS$5".ROWID
 ,"MAS$4".ROWID
 ,"MAS$3".ROWID
 ,"JV$"."RID$"
 ,"MAS$2".ROWID
 ,"MAS$0".ROWID
  FROM (SELECT "MAS$"."ROWID" "RID$", "MAS$".*
		  FROM "ARMA_HOUSE_SERV_IM"."OBJ" "MAS$"
		 WHERE ROWID IN (SELECT
						 /*+ CARDINALITY(MAS$ 2)  NO_SEMIJOIN */
						  CHARTOROWID("MAS$"."M_ROW$$") RID$
						   FROM "ARMA_HOUSE_SERV_IM"."MLOG$_OBJ" "MAS$"
						  WHERE "MAS$".SNAPTIME$$ > :1)) "JV$"
	   ,"REGION" AS OF SNAPSHOT(:2) "MAS$0"
	   ,"OBJ2OBJ" AS OF SNAPSHOT(:2) "MAS$2"
	   ,"OBJ" "MAS$3"
	   ,"OBJ_ADDRESS" AS OF SNAPSHOT(:2) "MAS$4"
	   ,"AREA" AS OF SNAPSHOT(:2) "MAS$5"
	   ,"ADDRESS" AS OF SNAPSHOT(:2) "MAS$6"
	   ,"STREET" AS OF SNAPSHOT(:2) "MAS$7"
	   ,"CITY" AS OF SNAPSHOT(:2) "MAS$8"
 WHERE ("MAS$8"."ID" = "MAS$7"."ID_CITY" AND "MAS$7"."ID" = "MAS$6"."ID_STREET" AND
	   "MAS$8"."ID_AREA" = "MAS$5"."ID"(+) AND "MAS$5"."ID_REGION" = "MAS$0"."ID"(+) AND
	   "MAS$6"."ID" = "MAS$4"."ID_ADDRESS" AND "MAS$4"."ID_OBJ" = "MAS$3"."ID" AND
	   "MAS$3"."ID" = "MAS$2"."ID_COBJ"(+) AND "MAS$2"."ID_POBJ" = "JV$"."ID"(+) AND
	   "MAS$2"."LINK_TYPE"(+) = 1)
	   AND NOT EXISTS (SELECT 1
		  FROM "ARMA_HOUSE_SERV_IM"."OBJ_ADDRESS_MV" "SNA2$"
		 WHERE ("SNA2$"."R1" = "MAS$8".ROWID OR "MAS$8".ROWID IS NULL)
			   AND ("SNA2$"."R2" = "MAS$7".ROWID OR "MAS$7".ROWID IS NULL)
			   AND ("SNA2$"."R3" = "MAS$6".ROWID OR "MAS$6".ROWID IS NULL)
			   AND ("SNA2$"."R4" = "MAS$5".ROWID OR "MAS$5".ROWID IS NULL)
			   AND ("SNA2$"."R5" = "MAS$4".ROWID OR "MAS$4".ROWID IS NULL)
			   AND ("SNA2$"."R6" = "MAS$3".ROWID)
			   AND ("SNA2$"."R8" = "MAS$2".ROWID OR "MAS$2".ROWID IS NULL)
			   AND ("SNA2$"."R9" = "MAS$0".ROWID OR "MAS$0".ROWID IS NULL)
			   AND "JV$".RID$ IS NULL)
	   AND NOT EXISTS (SELECT 1
		  FROM "OBJ" "MAS_INNER$", "OBJ2OBJ" AS OF SNAPSHOT(:2) "MAS_OUTER$"
		 WHERE "MAS$2".ROWID = "MAS_OUTER$".ROWID
			   AND "JV$".RID$ IS NULL
			   AND "MAS_OUTER$"."ID_POBJ" = "MAS_INNER$"."ID")
Rows     Row Source Operation
-------  ---------------------------------------------------
      0  FILTER  (cr=4949946 pr=0 pw=0 time=75703359 us)
  22723   HASH JOIN RIGHT OUTER (cr=4240 pr=0 pw=0 time=707018 us)
      1    VIEW  (cr=8 pr=0 pw=0 time=139 us)
      1     NESTED LOOPS  (cr=8 pr=0 pw=0 time=134 us)
      1      VIEW  VW_NSO_1 (cr=7 pr=0 pw=0 time=117 us)
      1       SORT UNIQUE (cr=7 pr=0 pw=0 time=111 us)
      2        TABLE ACCESS FULL MLOG$_OBJ (cr=7 pr=0 pw=0 time=58 us)
      1      TABLE ACCESS BY USER ROWID OBJ (cr=1 pr=0 pw=0 time=11 us)
  22723    HASH JOIN RIGHT OUTER (cr=4232 pr=0 pw=0 time=549206 us)
  21597     INDEX FAST FULL SCAN OBJ2OBJ_UNQ (cr=83 pr=0 pw=0 time=21638 us)(object id 86467)
  22723     HASH JOIN  (cr=4149 pr=0 pw=0 time=416025 us)
  23584      TABLE ACCESS FULL OBJ (cr=162 pr=0 pw=0 time=64 us)
  22723      HASH JOIN  (cr=3987 pr=0 pw=0 time=260661 us)
   1288       NESTED LOOPS OUTER (cr=3903 pr=0 pw=0 time=58084 us)
   1288        NESTED LOOPS OUTER (cr=3903 pr=0 pw=0 time=52926 us)
   1288         NESTED LOOPS  (cr=3903 pr=0 pw=0 time=42614 us)
   1288          NESTED LOOPS  (cr=2613 pr=0 pw=0 time=24574 us)
   1288           TABLE ACCESS FULL ADDRESS (cr=37 pr=0 pw=0 time=2653 us)
   1288           TABLE ACCESS BY INDEX ROWID STREET (cr=2576 pr=0 pw=0 time=19550 us)
   1288            INDEX UNIQUE SCAN STREET_PK (cr=1288 pr=0 pw=0 time=10221 us)(object id 78628)
   1288          TABLE ACCESS BY INDEX ROWID CITY (cr=1290 pr=0 pw=0 time=13611 us)
   1288           INDEX UNIQUE SCAN CITY_PK (cr=2 pr=0 pw=0 time=5204 us)(object id 78530)
      0         TABLE ACCESS BY INDEX ROWID AREA (cr=0 pr=0 pw=0 time=6583 us)
      0          INDEX UNIQUE SCAN AREA_PK (cr=0 pr=0 pw=0 time=2679 us)(object id 78538)
      0        INDEX UNIQUE SCAN REGION_PK (cr=0 pr=0 pw=0 time=2623 us)(object id 78489)
  22723       TABLE ACCESS FULL OBJ_ADDRESS (cr=84 pr=0 pw=0 time=68404 us)
  22723   FILTER  (cr=4945706 pr=0 pw=0 time=74904341 us)
  22723    MAT_VIEW ACCESS FULL OBJ_ADDRESS_MV (cr=4945706 pr=0 pw=0 time=74792708 us)
      0   FILTER  (cr=0 pr=0 pw=0 time=0 us)	
      0    NESTED LOOPS  (cr=0 pr=0 pw=0 time=0 us)
      0     TABLE ACCESS BY USER ROWID OBJ2OBJ (cr=0 pr=0 pw=0 time=0 us)
      0     INDEX UNIQUE SCAN OBJ_PK (cr=0 pr=0 pw=0 time=0 us)(object id 78301)
что с этим чудом делать?
14 мар 08, 13:33    [5410719]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
kinky cat
есть вьюха fast refresh on commit обновление которой происходит порядка 80! сек.
это раз в 40 дольше чем ее полное пересоздание (около 2 сек.)
Ну и пересоздавайте полностью... Чем это плохо?
14 мар 08, 16:12    [5412099]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
возможно. но хочется докопаться до сути.
MAT_VIEW ACCESS FULL происходит при накладывании условий на столбцы вьюхи - rowid таблиц источников. может создать по ним индексы ?
14 мар 08, 16:20    [5412176]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Может надо создать индексы, может надо пришибить индексы...
Это надо конкретно копаться с вашим запросом, разбираться с ним -
то есть дело не пятиминутное, и бесплатно разбираться в этом не хочется...
Сорри.
14 мар 08, 16:23    [5412211]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
SQL*Plus
Может надо создать индексы, может надо пришибить индексы...
Это надо конкретно копаться с вашим запросом, разбираться с ним -
то есть дело не пятиминутное, и бесплатно разбираться в этом не хочется...
Сорри.

Думаю вы не совсем правы.
Это не мой запрос - это оракловый сгенеренный инсерт с селектом из трейса обновления мат. вью. Так что сия ситуация может быть вполне тривиальна. и может быть кому знакома.
14 мар 08, 16:38    [5412360]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
kinky cat
Так что сия ситуация может быть вполне тривиальна. и может быть кому знакома.
Вполне возможно...
Например она может быть знакома технической поддержке... :-)
14 мар 08, 16:44    [5412425]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
SQL*Plus
kinky cat
Так что сия ситуация может быть вполне тривиальна. и может быть кому знакома.
Вполне возможно...
Например она может быть знакома технической поддержке... :-)

Действительно знакома. bug No. 6674549.
17 мар 08, 13:51    [5418590]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
Вот видите какая полезная штука техподдержка!
17 мар 08, 18:08    [5420825]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
S_NULL
Member

Откуда:
Сообщений: 35
kinky cat
Действительно знакома. bug No. 6674549.


Насколько я понял, проблема решилась?
Или это нефиксенный баг Oracle, от которого не избавитья?
18 мар 08, 10:27    [5422313]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
не фиксенный.
есть workaround который работает не у всех.
я пока не пробовал. не было времени
18 мар 08, 13:07    [5423557]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
S_NULL
Member

Откуда:
Сообщений: 35
Дай мне плиз ссылку, где нашел инфу - я попробую.
18 мар 08, 14:17    [5424092]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10051
S_NULL
Дай мне плиз ссылку, где нашел инфу - я попробую.


Along with MetaLink username and password .

SY.
P.S. MetaLink is that
SQL*Plus
Вот видите какая полезная штука техподдержка!
So ask your boss to buy support and use this topic as convincing example.
18 мар 08, 15:36    [5424752]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
DВА
Member

Откуда:
Сообщений: 5439
SQL*Plus
Вот видите какая полезная штука техподдержка!

SQL*Plus, пропаганда техподдержки - это правильно, актуально и модно!
но уж слишком навязчиво
18 мар 08, 15:44    [5424813]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1238
DВА
SQL*Plus
Вот видите какая полезная штука техподдержка!

SQL*Plus, пропаганда техподдержки - это правильно, актуально и модно!
но уж слишком навязчиво

+1 metalinkу реклама не нужна, есть для этого есть баги :))
18 мар 08, 17:04    [5425589]     Ответить | Цитировать Сообщить модератору
 Re: При обновлениии mat view fast refresh происходит mat view access full  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 8131
DВА
SQL*Plus
Вот видите какая полезная штука техподдержка!
SQL*Plus, пропаганда техподдержки - это правильно, актуально и модно!
но уж слишком навязчиво
Зато доходчиво! :-)
18 мар 08, 21:22    [5426955]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить