#!/usr/bin/python # -*- coding: utf-8 -*- import sys import kinterbasdb def reindex(db_name, hostname, username, pwd): query_index=("SELECT RDB$INDEX_NAME FROM RDB$INDICES " + "WHERE COALESCE(RDB$UNIQUE_FLAG,0)<>1 " + "AND RDB$FOREIGN_KEY IS NULL " + "AND RDB$SYSTEM_FLAG<>1") con=kinterbasdb.connect(host=hostname, database=db_name, user=username, password=pwd) cur=con.cursor() cur.execute(query_index) all_index=cur.fetchall() for index_name in all_index: print "Reindex " + index_name[0].strip() cur.execute("ALTER INDEX " + index_name[0].strip() + " INACTIVE") cur.execute("ALTER INDEX " + index_name[0].strip() + " ACTIVE") cur.execute("SET STATISTIC INDEX " + index_name[0].strip()) cur.close() con.close() if __name__ == "__main__": reindex(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
domenica 2 gennaio 2011
Manutenzione Firebird
Il seguente script permette di reindicizzare e ricalcolare le statistiche di un database Firebird:
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento