Oracle sqlplus scripting

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Перенаправление в файл

Для того что бы перенаправить вывод в файл есть специальное средство.

sqlplus -s $ConnectToOracle << EOF
SET HEAD OFF
SET LINESIZE 32767
SET LONG 32767
SET PAGESIZE 9999
SET longchunksize 32767
SET trimspool on
SET tab off
SET echo off
SET feedback off
SET recsep off
spool /tmp/tmp.subj.$$;
SELECT * FROM DUAL;
spool off;
EOF

Импорт и экспорт

exp  USERID=psa/PASSWORD@$ORACLE_SID FULL=N OWNER=ARADMIN FILE=./dev1-aradmin.dat LOG=./dev1-aradmin.LOG

Удаление тейблспейсов

DROP TABLESPACE tablespace_name [INCLUDING CONTENTS [AND DATAFILES]
      [CASCADE CONSTRAINTS]];

Например

SELECT * FROM 
dba_data_files
WHERE 
FILE_NAME like '%ARADMIN%';

DROP TABLESPACE ARSYSTEM;

Тест

drop tablespace arsystem including contents and datafiles cascade constraints
drop tablespace artmpspc  including contents and datafiles cascade constraints
drop user aradmin cascade
drop role ARADMINROLE

autoextend datafile

declare
cursor cur is
select 'alter database datafile  ''' || file_name || '''  autoextend on' as exe_query
   from dba_data_files
  where tablespace_name not in ( 'UNDOTBS1',  'SYSTEM', 'SYSAUX', 'USERS', 'TOOLS');
begin
    for cur_rec in cur loop
        dbms_output.put_line(cur_rec.exe_query);
        execute immediate(cur_rec.exe_query);
    end loop;
end;