Beruflich Dokumente
Kultur Dokumente
Approvals:
Services Representative
Assumption: Vorgaben:
The report will show all tables growing rapidly and coming
to the so called MAX Extents level.
Installation Instructions
Pre-requisites
Custom Application
Installation Steps
Involved Patch(es)
Apply the following patch(es) for this ADD-ON:
• HT_DB_CHECK_EXT_PROC.sql
Verification Steps
Test Status
Test Comments
none
Process
Description of content and process
Process: Prozeß
Go to the run request form, where you registered the report Gehen Sie in die Starte Reports Maske, für die der Report
freigegeben wurde.
Select the report (name see above) and submit. Selektieren Sie den oben genannten Report und Starten Sie
die Verarbeitung.
Output Ausgabe
This report will list all tables with the following criteria: Dieser Report wird alle Tabllen auflisten, die folgende
Kriterien erfüllen:
The number of extents is close to the max extents Die Anzahl der Gegenwärtigen Extents ist Nahe der
Maximalen Anzahl der Extents.
The number of extents is bigger than 100. Die Number ist größer als 100
Included File
Set line 120
Set serveroutput on size 1000000
DECLARE
ls NUMBER := 50; --line size
i NUMBER;
f_used_extents NUMBER;
v_check_ext NUMBER := 100;
BEGIN
FOR rec in ( SELECT owner , table_name , MAX_EXTENTS FROM all_tables
-- WHERE table_name like 'MTL_SYSTEM%'
WHERE owner NOT IN ('SYS','SYSTEM','APPS')
) LOOP
select MAX(EXTENT_ID)
INTO f_used_extents
FROM dba_extents
WHERE segment_name = rec.table_name
AND owner = rec.owner
;
IF rec.MAX_EXTENTS = f_used_extents THEN
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
DBMS_OUTPUT.PUT_LINE(rpad('#### ' || rec.owner || '.' || rec.table_name , ls-5 ,' ') || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Max Extents :'||rpad(rec.MAX_EXTENTS,12,' '), ls-5 ,' ') || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### current Extents:'||rpad(f_used_extents ,12,' '), ls-5 ,' ') || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Limit reached, urgent action necessary ' , ls-5 ,' ') || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
ELSIF rec.MAX_EXTENTS = f_used_extents + 1 THEN
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
DBMS_OUTPUT.PUT_LINE(rpad('#### ' || rec.owner || '.' || rec.table_name , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Max Extents :'||rpad(rec.MAX_EXTENTS,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### current Extents:'||rpad(f_used_extents ,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Limit reached closed (1)' , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
ELSIF rec.MAX_EXTENTS = f_used_extents + 2 THEN
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
DBMS_OUTPUT.PUT_LINE(rpad('#### ' || rec.owner || '.' || rec.table_name , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Max Extents :'||rpad(rec.MAX_EXTENTS,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### current Extents:'||rpad(f_used_extents ,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Limit reached closed (2)' , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
ELSIF rec.MAX_EXTENTS <= f_used_extents + 10 THEN
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
DBMS_OUTPUT.PUT_LINE(rpad('#### ' || rec.owner || '.' || rec.table_name , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Max Extents :'||rpad(rec.MAX_EXTENTS,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### current Extents:'||rpad(f_used_extents ,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Limit 10 under' , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
ELSIF f_used_extents > v_check_ext THEN
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
DBMS_OUTPUT.PUT_LINE(rpad('#### ' || rec.owner || '.' || rec.table_name , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### Max Extents :'||rpad(rec.MAX_EXTENTS,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### current Extents:'||rpad(f_used_extents ,12,' '), ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#### more than '||v_check_ext||' extents, check performance' , ls-5 ,' ' ) || ' ####');
DBMS_OUTPUT.PUT_LINE(rpad('#' , ls , '#' ));
END IF;
END LOOP;
END;
/
Open Issues
Issues already decided, but not yet implemented or Dinge die bereits entschieden sind, aber noch nicht
documented in any capture. umgesetzt, bzw dokumentiert sind.
Issues, not yet decided, but requested and tested will NOT Dinge die noch nicht entschieden sind, aber bereits
be marked in here. umgesetzt sind, werden dort vermerkt und NICHT hier.
Issues, being open in former versions of this document Dinge die in einer der Vorgänger Versionen offen waren.
1. issue