– sqlplus
ALTER DATABASE TEMPFILE ‚/oracle/DV1/sapdata3/temp_1/temp.data1‘ OFFLINE;

– unix
dd if=/oracle/DV1/sapdata3/temp_1/temp.data1 of=/usr/sap/export/SAPTMP/temp.data1.new bs=64k

check: du -k /oracle/DV1/sapdata3/temp_1/temp.data1 du -k /usr/sap/export/SAPTMP/temp.data1.new

mv /usr/sap/export/SAPTMP/temp.data1.new /oracle/DV1/sapdata3/temp_1/temp.data1

-sqlplus
ALTER DATABASE TEMPFILE ‚/oracle/DV1/sapdata3/temp_1/temp.data1‘ ONLINE;

– unix
Check  du -sk /oracle/DV1/sapdata3/temp_1/

 

Mit Script durchführen:

  1. sh erstellen und script einfügen.
    # vi x.s
    ==============================script Anfang
    #!/usr/bin/ksh sqlplus ‚/as sysdba‘ <<EOF >/tmp/out.sql
    set linesize 1024
    set head off
    select ‚SELECT alter database datafile #‘ || FILE_NAME || ‚# AUTOEXTEND OFF;‘ from dba_data_files;
    EOF
    cat /tmp/out.sql | grep ‚SELECT‘ | sed ’s/SELECT//‘ | sed „s/#/’/g“ | while read line do echo $line
    done
    rm /tmp/out.sql

    ==============================Ende
  2. Ausführen:
    # ./x.sh > change.sql
    # sqlplus ‚/as sysdba‘

    sql> @change.sql