powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не получаеться принудительно рефрешить материализованное представление.
17 сообщений из 17, страница 1 из 1
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #33935675
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И это будет понятно при просмотре
Код: plaintext
1.
2.
SELECT *
FROM dba_mviews
...
Рейтинг: 0 / 0
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #33935731
alextov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да
...
Рейтинг: 0 / 0
Не получаеться принудительно рефрешить материализованное представление.
    #33935744
Mikst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tru55И это будет понятно при просмотре
Код: plaintext
1.
2.
SELECT *
FROM dba_mviews


Что показывает?
...
Рейтинг: 0 / 0
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #33935805
HX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Пробуйте dbms_mview.refresh(..,'C') - явнго полный проходит?.
2. 10046 на dbms_mview.refresh с уровнем 12 чтобы были видны все bind var values.
...
Рейтинг: 0 / 0
Не получаеться принудительно рефрешить материализованное представление.
    #34158802
w_snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно в продолжение темы, т.к. ответа явного не нашел... :)
Аналогичная ситуация, рефреш (фаст) не отрабатывает, ругается
ORA-00942: table or view does not exist
если прошу COMLETE - нормально отрабатывает....
но надо FAST, т.к. запускается из JOB-а довольно часто.
в чем может быть причина????
...
Рейтинг: 0 / 0
Не получаеться принудительно рефрешить материализованное представление.
    #34159024
Фотография 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
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #34159158
Фотография 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
Не получаеться принудительно рефрешить материализованное представление.
    #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
Период между сообщениями больше года.
Не получаеться принудительно рефрешить материализованное представление.
    #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
Не получаеться принудительно рефрешить материализованное представление.
    #39987398
Фотография Pastic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашёл : нужна привилегия ALTER ANY MATERIALIZED VIEW.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Не получаеться принудительно рефрешить материализованное представление.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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