Oracle sqlplus scripting: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 44: Строка 44:
 
drop user aradmin cascade
 
drop user aradmin cascade
 
drop role ARADMINROLE
 
drop role ARADMINROLE
  +
</PRE>
  +
  +
  +
<PRE>
  +
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;
 
</PRE>
 
</PRE>

Версия 13:19, 12 апреля 2011

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

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

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


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;