Procedure/Function: Unterschied zwischen den Versionen
Aus MeinWiki
								
												
				|  (→Statistic aktualisieren) |  (→Statistic aktualisieren) | ||
| Zeile 16: | Zeile 16: | ||
|            fetch c_tablename into v_tablename; |            fetch c_tablename into v_tablename; | ||
|            exit when c_tablename%NOTFOUND; |            exit when c_tablename%NOTFOUND; | ||
| − | + |           begin | |
| − | + |              dbms_stats.gather_table_stats(p_schema, v_tablename); | |
| − | + |              exception | |
| − | + |              when others then | |
| − | + |              dbms_output.put_line('Error!' || p_schema ); | |
| + |           end; | ||
| + |         end loop; | ||
| + |         close c_tablename; | ||
|      end; |      end; | ||
| − | + |      /   | |
| − | |||
| − | |||
| − | |||
| *Procedur zum Erstellen der Statistik für Indexe. | *Procedur zum Erstellen der Statistik für Indexe. | ||
|     create or replace PROCEDURE Call_Statistic_Index |     create or replace PROCEDURE Call_Statistic_Index | ||
| Zeile 37: | Zeile 37: | ||
|     begin |     begin | ||
|        DBMS_OUTPUT.put_line ('PARAMETER = ' || p_schema); |        DBMS_OUTPUT.put_line ('PARAMETER = ' || p_schema); | ||
| − | + |       open c_indexname; | |
| − | + |       loop | |
| − | + |          fetch c_indexname into v_indexname; | |
| − | + |          exit when c_indexname%NOTFOUND; | |
| − | + |          begin | |
| − | + |             dbms_stats.gather_index_stats(p_schema, v_indexname); | |
| − | + |             exception | |
| − | + |             when others then | |
| − | + |             dbms_output.put_line('Error!' || p_schema ); | |
| − | + |          end; | |
| − | + |       end loop; | |
| − | + |       close c_indexname; | |
| − | + |    end; | |
| − | + |    / | |
Version vom 23. Januar 2015, 08:35 Uhr
Procedure
Statistic aktualisieren
- Procedur zum Erstellen der Statistik für Tabellen.
   create or replace PROCEDURE Call_Statistic_Table
   (p_schema dba_users.username%type)
   is
   -- Erstellt eine neue Statisitic von Tabellen
   -- KUE
   v_tablename dba_tables.table_name%Type;
   cursor c_tablename is 
      select table_name from dba_tables where owner = p_schema; 
   begin
   DBMS_OUTPUT.put_line ('PARAMETER = ' || p_schema)
       open c_tablename;
       loop
         fetch c_tablename into v_tablename;
         exit when c_tablename%NOTFOUND;
         begin
            dbms_stats.gather_table_stats(p_schema, v_tablename);
            exception
            when others then
            dbms_output.put_line('Error!' || p_schema );
         end;
       end loop;
       close c_tablename;
   end;
   / 
- Procedur zum Erstellen der Statistik für Indexe.
  create or replace PROCEDURE Call_Statistic_Index
  (p_schema dba_users.username%type)
  is
  -- Erstellt eine neue Statisitic von Index
  -- KUE
  v_indexname dba_indexes.index_name%Type;
  cursor c_indexname is 
      select index_name from dba_indexes where owner = p_schema; 
  begin
     DBMS_OUTPUT.put_line ('PARAMETER = ' || p_schema);
     open c_indexname;
     loop
        fetch c_indexname into v_indexname;
        exit when c_indexname%NOTFOUND;
        begin
           dbms_stats.gather_index_stats(p_schema, v_indexname);
           exception
           when others then
           dbms_output.put_line('Error!' || p_schema );
        end;
     end loop;
     close c_indexname;
  end;
  /

