Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не получаеться принудительно рефрешить материализованное представление. / 17 сообщений из 17, страница 1 из 1
22.08.2006, 17:47
    #33935634
alextov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Есть таблица oc_order
Код: plaintext
1.
2.
3.
4.
5.
6.
SQL>desc oc_order;
Name     Type        Nullable Default Comments  
-------- ----------- -------- ------- --------- 
OO_ID    NUMBER( 20 )                   ²Ä íàêàçó 
OO_ORDER SYS.XMLTYPE Y                          
STATUS   NUMBER( 20 )  Y   

Создаю лог
Код: plaintext
1.
SQL>create materialized view log on oc_order;
Создаю материализованное представление
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL>   create materialized view oc_order_mview  
   build immediate 
   refresh force on demand
   as
SELECT	t.oo_id,
	t.status,
	extractValue(value(x),'/UD_DOCUMENT/OD_ORDER_TITLE'),
	extractValue(value(x),'/UD_DOCUMENT/OD_ORDER_DATE') ,
	extractValue(value(x),'/UD_DOCUMENT/OD_ORDER_NO') ,
FROM oc_order t,
    TABLE ( xmlsequence (extract(t.oo_order, '/UHRM_DOC/UD_DOCUMENT'))) x

Пытаюсь его принудительно обновить и получаю ошибку
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL>exec DBMS_MVIEW.refresh('oc_order_mview');

begin DBMS_MVIEW.refresh('oc_order_mview'); end;

ORA- 00942 : table or view does not exist
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  794 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  851 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  832 
ORA- 06512 : at line  1 

Подскажите, плз, в чем может быть проблема...
...
Рейтинг: 0 / 0
22.08.2006, 18:00
    #33935667
Mikst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
alextov
begin DBMS_MVIEW.refresh('oc_order_mview'); end;

ORA-00942: table or view does not exist
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 794
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 851
ORA-06512: at "SYS.DBMS_SNAPSHOT", line 832
ORA-06512: at line 1
[/src]
Подскажите, плз, в чем может быть проблема...

конечно его нет, оно большими буквами называется.
...
Рейтинг: 0 / 0
22.08.2006, 18:01
    #33935675
tru55
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
И это будет понятно при просмотре
Код: plaintext
1.
2.
SELECT *
FROM dba_mviews
...
Рейтинг: 0 / 0
22.08.2006, 18:15
    #33935724
alextov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Наверное таки проблема не здесь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
exec DBMS_MVIEW.refresh('OC_ORDER_MVIEW');

begin DBMS_MVIEW.refresh('OC_ORDER_MVIEW'); end;

ORA- 00942 : table or view does not exist
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  794 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  851 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  832 
ORA- 06512 : at line  1 
...
Рейтинг: 0 / 0
22.08.2006, 18:17
    #33935728
Mikst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
alextovНаверное таки проблема не здесь
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
exec DBMS_MVIEW.refresh('OC_ORDER_MVIEW');

begin DBMS_MVIEW.refresh('OC_ORDER_MVIEW'); end;

ORA- 00942 : table or view does not exist
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  794 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  851 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  832 
ORA- 06512 : at line  1 


схема таже самая, из которой создавали?
...
Рейтинг: 0 / 0
22.08.2006, 18:18
    #33935731
alextov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
да
...
Рейтинг: 0 / 0
22.08.2006, 18:21
    #33935744
Mikst
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
tru55И это будет понятно при просмотре
Код: plaintext
1.
2.
SELECT *
FROM dba_mviews


Что показывает?
...
Рейтинг: 0 / 0
22.08.2006, 18:28
    #33935768
alextov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Да вроде ничего особенного
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SQL> select * from dba_mviews;

OWNER                          MVIEW_NAME                     CONTAINER_NAME                 QUERY                                                                                                          QUERY_LEN UPDATABLE UPDATE_LOG                     MASTER_ROLLBACK_SEG            MASTER_LINK                                                                      REWRITE_ENABLED REWRITE_CAPABILITY REFRESH_MODE REFRESH_METHOD BUILD_MODE FAST_REFRESHABLE   LAST_REFRESH_TYPE LAST_REFRESH_DATE STALENESS           AFTER_FAST_REFRESH  UNKNOWN_PREBUILT UNKNOWN_PLSQL_FUNC UNKNOWN_EXTERNAL_TABLE UNKNOWN_CONSIDER_FRESH UNKNOWN_IMPORT COMPILE_STATE       USE_NO_INDEX
------------------------------ ------------------------------ ------------------------------ -------------------------------------------------------------------------------- --------------------------------------- --------- ------------------------------ ------------------------------ -------------------------------------------------------------------------------- --------------- ------------------ ------------ -------------- ---------- ------------------ ----------------- ----------------- ------------------- ------------------- ---------------- ------------------ ---------------------- ---------------------- -------------- ------------------- ------------
UHRM_MAIN                      OC_ORDER_MVIEW                 OC_ORDER_MVIEW                 SELECT		t.oo_id,                                                                                                     1161  N                                                                                                                                                        N               NONE               DEMAND       FORCE          IMMEDIATE  NO                 COMPLETE           22 . 08 . 2006   16 : 22 : STALE               NA                  N                N                  N                      N                      N              VALID               N

                                                                                             				t.status,                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

                                                                                             				extractValue(value(x),'/UD_DOCUMENT/OD_ORDE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 



SQL> 
...
Рейтинг: 0 / 0
22.08.2006, 18:41
    #33935805
HX
HX
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
1. Пробуйте dbms_mview.refresh(..,'C') - явнго полный проходит?.
2. 10046 на dbms_mview.refresh с уровнем 12 чтобы были видны все bind var values.
...
Рейтинг: 0 / 0
27.11.2006, 18:09
    #34158802
w_snake
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Собственно в продолжение темы, т.к. ответа явного не нашел... :)
Аналогичная ситуация, рефреш (фаст) не отрабатывает, ругается
ORA-00942: table or view does not exist
если прошу COMLETE - нормально отрабатывает....
но надо FAST, т.к. запускается из JOB-а довольно часто.
в чем может быть причина????
...
Рейтинг: 0 / 0
27.11.2006, 19:46
    #34159024
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Oracle version please (for all databases involved). In any case fast refresh implies mv log. I assume you have it. I assume mv points to some remote tables/views. Check the database link(s) mv is using - find out which user(s) it connects as. Is it same user that owns the master table & mv log? If not, connect directly to the master database as that user and see if you can select from mv log table. Also, check fast refresh restrictions (e.g. using analytic functions restricts you from using fast refresh).

SY.
...
Рейтинг: 0 / 0
27.11.2006, 20:07
    #34159048
w_snake
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
SYOracle version please (for all databases involved). In any case fast refresh implies mv log. I assume you have it. I assume mv points to some remote tables/views. Check the database link(s) mv is using - find out which user(s) it connects as. Is it same user that owns the master table & mv log? If not, connect directly to the master database as that user and see if you can select from mv log table. Also, check fast refresh restrictions (e.g. using analytic functions restricts you from using fast refresh).

SY.

Version 10.2.0.1.0
...
Рейтинг: 0 / 0
27.11.2006, 20:27
    #34159083
w_snake
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
а вот собственно MV :
create materialized view MY_VVV
refresh force on demand
with rowid
start with to_date('27-11-2006 11:35:39', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE + 10/3600
as
select t.id, t. (*************** )
from flax.r_t@REMV_BS t where ....... ;

и
dbms_mview.refresh('"SR_BANK"."DEP_CARD"','С'); -- все ОК
а
dbms_mview.refresh('"SR_BANK"."DEP_CARD"'); -- raise...
...
Рейтинг: 0 / 0
27.11.2006, 21:26
    #34159158
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
w_snakeа вот собственно MV

Did you check privilege on mv log as I suggested. Below is an example of how not having SELECT on mv log will result in ORA-00942 for fast refresh:

Код: 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.
SQL> connect / as sysdba
Connected.
SQL> create user v1 identified by v1
   2   default tablespace users
   3   temporary tablespace temp
   4   quota unlimited on users;

User created.

SQL> grant create session,create materialized view,create table to v1;

Grant succeeded.

SQL> grant execute on dbms_mview to v1;

Grant succeeded.

SQL> connect scott
Enter password: *****
Connected.
SQL> grant select on emp to v1;

Grant succeeded.

SQL> create materialized view log on emp with rowid;

Materialized view log created.

SQL> connect v1/v1
Connected.
SQL> create
   2   materialized view emp_mv
   3   refresh force on demand
   4   with rowid
   5   start with to_date('27-11-2006 11:35:39', 'dd-mm-yyyy hh24:mi:ss') next SYSDATE +  10 / 3600  
   6   as
   7   select * from scott.emp;

Materialized view created.

SQL> exec dbms_mview.refresh('EMP_MV','C')

PL/SQL procedure successfully completed.

SQL> exec dbms_mview.refresh('EMP_MV','F')
BEGIN dbms_mview.refresh('EMP_MV','F'); END;

*
ERROR at line  1 :
ORA- 12018 : following error encountered during code generation for "V1"."EMP_MV"
ORA- 00942 : table or view does not exist
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  2255 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  2461 
ORA- 06512 : at "SYS.DBMS_SNAPSHOT", line  2430 
ORA- 06512 : at line  1 


SQL> connect scott
Enter password: *****
Connected.
SQL> select * from user_mview_logs
   2   /

LOG_OWNER                      MASTER                         LOG_TABLE                      LOG_TRIGGER                    ROW PRI
------------------------------ ------------------------------ ------------------------------ -------
OBJ FIL SEQ INC
--- --- --- ---
SCOTT                          EMP                            MLOG$_EMP                                                     YES NO
NO  NO  NO  NO


SQL> grant select on MLOG$_EMP to v1;

Grant succeeded.

SQL> connect v1/v1
Connected.
SQL> exec dbms_mview.refresh('EMP_MV','F')

PL/SQL procedure successfully completed.

SQL> 

SY.
...
Рейтинг: 0 / 0
28.11.2006, 10:47
    #34159880
w_snake
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
SY w_snakeа вот собственно MV


SQL> grant select on MLOG$_EMP to v1;

Grant succeeded.

SQL> connect v1/v1
Connected.
SQL> exec dbms_mview.refresh('EMP_MV','F')

PL/SQL procedure successfully completed.

SQL> [/src]
SY.

Преогромнейшее спасибо / Thank you very much!!!
Слона то и не увидел :(
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
07.08.2020, 10:35
    #39987370
Pastic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
А какие нужны гранты для обновления материализованного представления из другой схемы? Я пробовал grant select, insert, update, delete, alter - не помогло - получаю ORA-01031: привилегий недостаточно.

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
...
Рейтинг: 0 / 0
07.08.2020, 11:39
    #39987398
Pastic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не получаеться принудительно рефрешить материализованное представление.
Нашёл : нужна привилегия ALTER ANY MATERIALIZED VIEW.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не получаеться принудительно рефрешить материализованное представление. / 17 сообщений из 17, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]