--TableのANALYZE  
declare
        cursor_name    INTEGER;
        rows_processed INTEGER;
        cursor selline is  SELECT table_name
               FROM user_tables ORDER BY table_name;
        TYPE SellineType IS RECORD
                  (tname     user_tables.table_name%TYPE);
        sel_rec        SellineType;
begin
    open selline;
        LOOP
                FETCH selline into sel_rec;
                EXIT  WHEN selline%NOTFOUND;
                cursor_name := DBMS_SQL.OPEN_CURSOR;
                DBMS_SQL.PARSE(cursor_name,'ANALYZE TABLE '|| sel_rec.tname ||'  compute statistics',
                  DBMS_SQL.NATIVE);
                rows_processed:=DBMS_SQL.EXECUTE(cursor_name);
                DBMS_SQL.CLOSE_CURSOR(cursor_name);
                dbms_output.put_line(sel_rec.tname || '>>>>>>>' ||' analyzed compute statistics.'); 
        END LOOP;
end;