SELECT * FROM table;

Текущие файлы

SELECT d.file#,d.ts#,t.NAME ts_name,d.NAME file_name,d.STATUS,d.ENABLED,d.bytes,d.BLOCKS 
FROM v$datafile d 
join v$tablespace t on t.TS# = d.TS# 
order by ts_name,file_name;

alter tablespace COLVIR add datafile '/u01/db/data/DW/COLVIR12.DBF' 
SIZE 5M REUSE AUTOEXTEND ON NEXT 128M MAXSIZE 32768M;

Добавление новых файлов

declare
  l_ts_nm      varchar2(30) := 'COLVIR'; -- Tablespace в который добавляем файлы
  l_files_add  number := 3;              -- Количество файлов к добавлению
  l_exec_cmd   number := 0;              -- 0 - вывести команды добавления, 1 - вывести команды и выполнить их
---------------------------------------------
  l_file_dest varchar2(100);
  last_idx  int;
  cmd       varchar2(1000);
  sl        varchar2(1);
begin
  if instr(dbms_utility.port_string,'WIN_')>0 then
    sl:= '\';
  else
    sl:= '/';
  end if;
  SELECT substr(file_name ,1,instr(file_name ,sl,-1)-1) into l_file_dest FROM dba_data_files d where d.TABLESPACE_NAME = l_ts_nm and rownum=1;
  --Последний номер файла
  select nvl(max(to_number(regexp_substr(substr(name,instr(name,sl,-1)+1),'\d+'))),0) max_n
  into   last_idx
  from   v$datafile
  where  regexp_like(upper(name),'^.+'||l_ts_nm||'\d+.DBF$');
  for prn in last_idx+1..last_idx+l_files_add loop
    cmd := 'ALTER TABLESPACE '||l_ts_nm ||' ADD DATAFILE '''||l_file_dest|| sl ||l_ts_nm || lpad(prn,2,'0') || '.DBF'' SIZE 2G REUSE AUTOEXTEND ON NEXT 512m MAXSIZE 32g;';
    DBMS_OUTPUT.PUT_LINE( cmd);
    if l_exec_cmd = 1 then
      EXECUTE IMMEDIATE cmd;
    end if;
  end loop;
end;
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9