Databasefiles werden mit Hilfe der brtools verkleinert.
Um die maximal mögliche Verkleinerung zu erzielen, kann folgendes SQL-Kommando genutzt werden:
SELECT DECODE ( end_block_1, NULL, 'brspace -c force -f dfalter -a drop -f ''' || FILE_NAME || '''', 'brspace -c force -f dfalter -a resize -f ''' || FILE_NAME || ''' -s ' || CEIL ( (NVL (END_BLOCK_1, 1) * 8192) / 1024 / 1024)) RESIZE_COMMAND FROM (SELECT FILE_NAME, FILE_ID, FILE_BLOCKS, SEGMENT_NAME SEGMENT_NAME_1, START_BLOCK START_BLOCK_1, END_BLOCK END_BLOCK_1, LEAD (SEGMENT_NAME, 1) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) SEGMENT_NAME_2, LEAD (START_BLOCK, 1) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) START_BLOCK_2, LEAD (END_BLOCK, 1) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) END_BLOCK_2, LEAD (SEGMENT_NAME, 2) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) SEGMENT_NAME_3, LEAD (START_BLOCK, 2) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) START_BLOCK_3, LEAD (END_BLOCK, 2) OVER (PARTITION BY FILE_NAME ORDER BY START_BLOCK DESC) END_BLOCK_3, POSITION FROM (SELECT FILE_NAME, FILE_ID, FILE_BLOCKS, SEGMENT_NAME, BLOCK_ID START_BLOCK, BLOCK_ID + BLOCKS - 1 END_BLOCK, POSITION FROM (SELECT DISTINCT DDF.FILE_NAME, DDF.FILE_ID, DDF.BLOCKS FILE_BLOCKS, DE.SEGMENT_NAME, DE.BLOCK_ID, DE.BLOCKS, ROW_NUMBER () OVER (PARTITION BY DDF.FILE_NAME ORDER BY DE.BLOCK_ID DESC) POSITION FROM DBA_DATA_FILES DDF, DBA_EXTENTS DE WHERE DDF.FILE_ID = DE.FILE_ID(+) AND DDF.TABLESPACE_NAME LIKE 'PSAPSR3') WHERE POSITION <= 3)) WHERE POSITION = 1 ORDER BY FILE_ID; |
Die Ausgabe kann dann auf der Kommandozeile ausgeführt werden. Man sollte aber bedenken, dass (falls im Vorfeld die gesamte DB reorganisiert wurde) anschließend kaum noch Platz für neue Daten zur Verfügung steht. Also sollte man die Ausgaben dieses SQL-Statements mit Vorsicht genießen und ggf. noch etwas Kapazität aufschlagen.
Ausgabebeispiel:
brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_1/sr3.data1' -s 5240 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_2/sr3.data2' -s 5140 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_3/sr3.data3' -s 5140 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_4/sr3.data4' -s 5060 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_5/sr3.data5' -s 5000 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_6/sr3.data6' -s 7740 brspace -c force -f dfalter -a resize -f '/oracle/X01/sapdata1/sr3_7/sr3.data7' -s 7053 |
Die hier ausgegebenen Werte werden in GB angegeben.
Neueste Kommentare