question cela fonctionne mais j'ai pas de sortie pour voir la progression
pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000
set echo on
set feedback off
set verify off
connect sys/xxxx sysdba
declare
msg_log varchar(4000);
cursor table_list
is select table_name from dba_tables
where owner='&1';
table_list_rec table_list%ROWTYPE;
begin
dbms_output.put_line(' TEST ');
open table_list;
loop
msg_log := '-> ' || table_list_rec.table_name;
dbms_output.put_line(msg_log);
fetch table_list into table_list_rec.table_name;
exit when table_list%NOTFOUND;
execute immediate('analyze table &&1..'||
table_list_rec.table_name||' compute statistics');
execute immediate('analyze table
&&1..'||table_list_rec.table_name||' compute statistics for all indexed
columns');
end loop;
end;
question cela fonctionne mais j'ai pas de sortie pour voir la progression pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000 set echo on set feedback off set verify off connect sys/xxxx sysdba declare msg_log varchar(4000); cursor table_list is select table_name from dba_tables where owner='&1'; table_list_rec table_list%ROWTYPE; begin dbms_output.put_line(' TEST '); open table_list; loop msg_log := '-> ' || table_list_rec.table_name; dbms_output.put_line(msg_log); fetch table_list into table_list_rec.table_name; exit when table_list%NOTFOUND; execute immediate('analyze table &&1..'|| table_list_rec.table_name||' compute statistics'); execute immediate('analyze table &&1..'||table_list_rec.table_name||' compute statistics for all indexed columns'); end loop; end;
A+ chris
connect sys/xxxx sysdba
ne marche pas ...
un vrai copier/coller de la procédure serait mieux ...
question cela fonctionne mais j'ai pas de sortie pour voir la progression
pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000
set echo on
set feedback off
set verify off
connect sys/xxxx sysdba
declare
msg_log varchar(4000);
cursor table_list
is select table_name from dba_tables
where owner='&1';
table_list_rec table_list%ROWTYPE;
begin
dbms_output.put_line(' TEST ');
open table_list;
loop
msg_log := '-> ' || table_list_rec.table_name;
dbms_output.put_line(msg_log);
fetch table_list into table_list_rec.table_name;
exit when table_list%NOTFOUND;
execute immediate('analyze table &&1..'||
table_list_rec.table_name||' compute statistics');
execute immediate('analyze table
&&1..'||table_list_rec.table_name||' compute statistics for all indexed
columns');
end loop;
end;
question cela fonctionne mais j'ai pas de sortie pour voir la progression pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000 set echo on set feedback off set verify off connect sys/xxxx sysdba declare msg_log varchar(4000); cursor table_list is select table_name from dba_tables where owner='&1'; table_list_rec table_list%ROWTYPE; begin dbms_output.put_line(' TEST '); open table_list; loop msg_log := '-> ' || table_list_rec.table_name; dbms_output.put_line(msg_log); fetch table_list into table_list_rec.table_name; exit when table_list%NOTFOUND; execute immediate('analyze table &&1..'|| table_list_rec.table_name||' compute statistics'); execute immediate('analyze table &&1..'||table_list_rec.table_name||' compute statistics for all indexed columns'); end loop; end;
A+ chris
Chris
Soit le script suivant :
question cela fonctionne mais j'ai pas de sortie pour voir la progression pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000 set echo on set feedback off set verify off connect sys/xxxx as sysdba <= j'ai glissé declare msg_log varchar(4000); cursor table_list is select table_name from dba_tables where owner='&1'; table_list_rec table_list%ROWTYPE; begin dbms_output.put_line(' TEST '); open table_list; loop msg_log := '-> ' || table_list_rec.table_name; dbms_output.put_line(msg_log); fetch table_list into table_list_rec.table_name; exit when table_list%NOTFOUND; execute immediate('analyze table &&1..'|| table_list_rec.table_name||' compute statistics'); execute immediate('analyze table &&1..'||table_list_rec.table_name||' compute statistics for all indexed columns'); end loop; end;
A+ chris
Soit le script suivant :
question cela fonctionne mais j'ai pas de sortie pour voir la progression
pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000
set echo on
set feedback off
set verify off
connect sys/xxxx as sysdba <= j'ai glissé
declare
msg_log varchar(4000);
cursor table_list
is select table_name from dba_tables
where owner='&1';
table_list_rec table_list%ROWTYPE;
begin
dbms_output.put_line(' TEST ');
open table_list;
loop
msg_log := '-> ' || table_list_rec.table_name;
dbms_output.put_line(msg_log);
fetch table_list into table_list_rec.table_name;
exit when table_list%NOTFOUND;
execute immediate('analyze table &&1..'||
table_list_rec.table_name||' compute statistics');
execute immediate('analyze table
&&1..'||table_list_rec.table_name||' compute statistics for all indexed
columns');
end loop;
end;
question cela fonctionne mais j'ai pas de sortie pour voir la progression pourquoi dbms_output.put_line ne fonctionne pas ?
set serveroutput on size 100000 set echo on set feedback off set verify off connect sys/xxxx as sysdba <= j'ai glissé declare msg_log varchar(4000); cursor table_list is select table_name from dba_tables where owner='&1'; table_list_rec table_list%ROWTYPE; begin dbms_output.put_line(' TEST '); open table_list; loop msg_log := '-> ' || table_list_rec.table_name; dbms_output.put_line(msg_log); fetch table_list into table_list_rec.table_name; exit when table_list%NOTFOUND; execute immediate('analyze table &&1..'|| table_list_rec.table_name||' compute statistics'); execute immediate('analyze table &&1..'||table_list_rec.table_name||' compute statistics for all indexed columns'); end loop; end;
A+ chris
Chris
Bonjour,
Igor Racic a écrit :
Bonjour,
Il te manque un "/" apres le end (dans nouvelle ligne):
<quote> end; </quote>
==>
<quote> end; / </quote>
Grrrr ! bon je debute avec pl/sql
NOTE: Utiliser 'analyze' n'est pas une bonne idée - regarde dbms_stats.
Tiens justement quel est la différence (plus rapide ?)
Igor
Encore merci
A+ chris
Bonjour,
Igor Racic a écrit :
Bonjour,
Il te manque un "/" apres le end (dans nouvelle ligne):
<quote>
end;
</quote>
==>
<quote>
end;
/
</quote>
Grrrr ! bon je debute avec pl/sql
NOTE: Utiliser 'analyze' n'est pas une bonne idée - regarde dbms_stats.
Tiens justement quel est la différence (plus rapide ?)