내 애플리케이션에서 구체화 된보기 조정을 수행하려고합니다. 어느 그러나 refresh fast on commmit
와 (오라클 구체화보기 조정
variable mvtask varchar2(100);
variable mvddl varchar2(4000);
execute :mvtask := 'MV_FOO_BAR';
execute select query into :mvddl from user_mviews where view_name = 'MV_FOO_BAR';
execute dbms_advisor.tune_mview(:mvtask, :mvddl);
select * from user_tune_mview;
은 물론, 구체화 뷰가 이미 생성 : 나는 실행에 착수 :
dbms_advisor.tune_mview()
절차 및 SQL_Worksheet 오라클의 SQL 개발자에 다음 코드를 작성 용납 할 수없이 느리게 실행됩니다.) 관리자가 다음 오류를보고합니다.
Error report: ORA-13600: error encountered in Advisor QSM-03112: Invalid CREATE MATERIALIZED VIEW statement ORA-06512: at "SYS.DBMS_SYS_ERROR", line 86 ORA-06512: at "SYS.PRVT_ACCESS_ADVISOR", line 202 ORA-06512: at "SYS.PRVT_TUNE_MVIEW", line 1026 ORA-06512: at "SYS.DBMS_ADVISOR", line 754 ORA-06512: at line 1 13600. 00000 - "error encountered in Advisor\n%s" *Cause: An error occurred in the Advisor. This message will be followed by a second message giving more details about the nature of the error. *Action: See the Advisor documentation for an explanation of the second error message.
그러나 더 많은보고가없고 두 번째 오류 메시지는 표시되지 않습니다. 누구든지 여기에 무슨 문제가 있는지 알고 있습니까? 나는 MV가 이미 존재하고 데이터베이스에서 작동하기 때문에 놀랍다. 천천히.
관련 메모에서 SQL Developer에 여러 줄 문자열을 입력하는 방법을 알고 계십니까? 내가 다음과 같은 것을 시도 할 때 :
execute :mvddl :='create materialized view MV_FOO_BAR
build immediate
refresh fast on commit
...
';
SQL Developer는 첫 번째 라인에서 질식합니다. 문자열 연결은 내 마음을 넘어 섰지 만, 100-150 라인의 MV가 몇 개 있는데, 나는 그것들 각각에 대해 수동으로하는 것이 싫어.
+1 좋은 간결하게 대답. – DCookie
Еxactly 내가 필요한 것. 감사. – javashlook