Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
Добрый день!
есть какой нибудь вариант записать блинную блинную строку в файл через UTL_FILE?
Спасибо
11 окт 10, 16:12    [9587663]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
GL
Member

Откуда: Харьков
Сообщений: 1513
Ramin,

Блинную? Блинную - не знаю.
Длинную - можно. Для этого её нужно разбить на части и писать много-много раз короткие строки.
11 окт 10, 16:20    [9587734]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
))
да этот вариант с утро тестирую ... пока не смог добить...другой вариант есть?
11 окт 10, 16:26    [9587784]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
SysOper
Member

Откуда: M
Сообщений: 9760
Ramin,

длинная строка, это сколько?
11 окт 10, 16:28    [9587802]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
SysOper
Ramin,

длинная строка, это сколько?

фиг его знает в одном посчитал больше 12000
11 окт 10, 16:35    [9587872]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
Ramin,

Покажите как пишете, и люди к вам потянутся
11 окт 10, 16:58    [9588097]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
вот так пишу по частям
        if bw_run_flag = 0 then 
           return;
        end if; 
        
        f := utl_file.fopen('BW',bw_file_name||to_char(bw_act_date,'yyyymmdd')||'.txt','W',32767);
         
        str := 'CONTRACT_ID'||bw_delim||
               'SCHEDULE'||CHR(13);
        utl_file.put_line(f,str);
        
        i := 1;
        
                          
        open cur_select;    
        loop
          fetch cur_select
            into rec_cur_select;
            
            exit when cur_select%NOTFOUND;
            
           

            curr_contract_id := rec_cur_select.contract_id;
            
            if i=1 then
               prev_contract_id := rec_cur_select.contract_id;
               
               str := prev_contract_id||bw_delim;
               utl_file.put(f,str);
               
               str_sched := rec_cur_select.liquidate_date||'*'||
                            rec_cur_select.pay_principal_amount||'*'||
                            rec_cur_select.pay_interest_amount||'*'||
                            nvl(rec_cur_select.sch_balance,0);
               utl_file.put(f,str_sched);
            elsif prev_contract_id = curr_contract_id then
/*
               str_sched := str_sched||';'||rec_cur_select.liquidate_date||'*'||
                                            rec_cur_select.pay_principal_amount||'*'||
                                            rec_cur_select.pay_interest_amount ||'*'||
                                            nvl(rec_cur_select.sch_balance,0);
*/                                            
               str_sched := ';'||rec_cur_select.liquidate_date||'*'||
                                            rec_cur_select.pay_principal_amount||'*'||
                                            rec_cur_select.pay_interest_amount ||'*'||
                                            nvl(rec_cur_select.sch_balance,0);
               utl_file.put(f,str_sched);
            elsif prev_contract_id <> curr_contract_id then
               
               str := CHR(13)||curr_contract_id||bw_delim;
               utl_file.put(f,str);
               
               prev_contract_id := rec_cur_select.contract_id;
               
               str_sched := rec_cur_select.liquidate_date||'*'||
                            rec_cur_select.pay_principal_amount||'*'||
                            rec_cur_select.pay_interest_amount||'*'||
                            nvl(rec_cur_select.sch_balance,0);
               utl_file.put(f,str_sched);
            end if;
            
            i := i + 1;

        end loop;      
        close cur_select;        

--               str := prev_contract_id || bw_delim || str_sched || CHR(13);
--               utl_file.put_line(f,str);
                       
        utl_file.fclose(f);

но почему то в строке

        utl_file.fclose(f);
выдается ошибка:
ORA-29285: file write error
ORA-06512: at "SYS.UTL_FILE", line 65
ORA-06512: at "SYS.UTL_FILE", line 618
ORA-06512: at "BSB_GL.GL_BW_PACKAGE", line 562
ORA-06512: at line 3

View program sources of error stack?
11 окт 10, 17:08    [9588209]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
если вместо put использовать put_line все работает....
11 окт 10, 17:35    [9588499]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
env
Member

Откуда: Россия, Москва
Сообщений: 6727
Ramin,

put_raw
11 окт 10, 17:39    [9588528]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
-2-
Member

Откуда:
Сообщений: 15330
CHR(13)
MacOS?
11 окт 10, 17:41    [9588555]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Artemiy
Member

Откуда:
Сообщений: 1307
Здесь на форуме, в разделе фак, есть хороший пакет для чтения и записи файлов через Java процедуры. Отлично работает.
11 окт 10, 18:22    [9588892]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
первый вариант как сказал env put_raw но может не всегда подходит
второй вариант new_line так как в новой строке идет сброс и оно не превышает максимума
12 окт 10, 15:46    [9594263]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Ramin,

спасибо за линк в этом треде.
а сколько строк такой длинны Вы выгружаете и сколько времени это занимает?
19 июл 12, 10:58    [12887102]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
May12
Ramin,

спасибо за линк в этом треде.
а сколько строк такой длинны Вы выгружаете и сколько времени это занимает?

черт его знает, ну где то 12-15000 ...
джоб занимает где то 3-4 минуты, но там не только это еще другие выгрузки есть...
19 июл 12, 11:18    [12887242]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Ramin,
угу, у меня тоже 5000-7000 быстро.
а вот полтора миллиона строчек, как черепаха)))).
(
19 июл 12, 11:43    [12887439]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
May12
Ramin,
угу, у меня тоже 5000-7000 быстро.
а вот полтора миллиона строчек, как черепаха)))).
(

ну полтара лимонов выгружать в файл не должно быть секундально, это нормально.
19 июл 12, 12:18    [12887691]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Ramin,

но и сутки не должно быть.
19 июл 12, 12:21    [12887705]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
May12
Ramin,

но и сутки не должно быть.

сутки точно не должно быть, а ты проверял запрос на выборку? может оно так сильно тормозит?
19 июл 12, 12:23    [12887713]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Ramin,
да, конечно, проверяла - select отрабатывает за несколько минут.
проблема именно в построчной укладке данных в файл.
Тут ORA-01489: результат строковой конкатенации слишком велик мне предложили "поячеечное" укладывание, oracle выдал ошибку "ORA-06502: PL/SQL: : буфер символьных строк слишком маленький ошибка числа или значения".

Теперь пробую datapump, но он выгружает данные только в свой собственный (бинарный) формат файла, а мне нужен текстовый файл в кодировке ansi.

И вот еще есть такая утилита sqluldr (самописная что ли), но пока кроме sysdate мне выгрузить ею ничего не удалось =)).
хотя что тут улыбаться!!!
19 июл 12, 13:52    [12888262]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 51778

May12
Тут ORA-01489: результат строковой конкатенации слишком велик мне предложили "поячеечное"
укладывание, oracle выдал ошибку "ORA-06502: PL/SQL: : буфер символьных строк слишком
маленький ошибка числа или значения".

Потому что не надо было врать про строки длиной 5000-7000 байт. FFLUSH вызывайте чаще. О
чём и написано в справке, куда я уже посылал.

Posted via ActualForum NNTP Server 1.5

19 июл 12, 13:58    [12888309]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
Ramin Hashimzade
Member

Откуда: Азербайджан, Баку
Сообщений: 9979
Блог
May12,
единственный вариант выгружать частично... и вызывать utl_file.new_line(f); для сброса кеша.
19 июл 12, 14:00    [12888328]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Друзья!!! Вроде удалось решить:

1. с использованием клоба, UTL_FILE и документации была сделана выгрузка из таблицы на 850 полей и 50000 строк, с большой длинной строк.
2. потом начала ускорять выгрузку как описано тут и добилась скорости 1 500 000 длинных строк за 30 минут.

все закончилось ошибкой: ORA-03113: принят сигнал конца файла по коммуникационному каналу - тоже результат.
20 июл 12, 13:29    [12893162]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
Всем привет. Здравтсвуйте, -2-, Amkad, Вячеслав Любомудров, Ramin Hashimzade, Dimitry Sibiryakov и все все все Боги Oracle. Упражнения с выгрузками данных продолжаются.
Мне, как всегда, нужно...
Нужно сократить время выгрузки ниже приведенной таблицы, содержащей 1 500 000 строк, до 30-40 минут в один файл. Сейчас в одном потоке выгрузка делается за 14 часов, что вызывает слезы и вой.
По порядку:
Таблица:
CREATE TABLE MAYA.FILE_TAB
(
  A1       CLOB,
  A1_SORT  VARCHAR2(22 CHAR),
  T_TYPE   VARCHAR2(9 BYTE),
  A2       CLOB,
  A2_SORT  NUMBER,
  A3       VARCHAR2(32 BYTE),
  A4       CLOB,
  A5       VARCHAR2(8 BYTE),
  A6       VARCHAR2(1 BYTE),
  A7       VARCHAR2(8 BYTE),
  A8       VARCHAR2(2 BYTE),
  A9       VARCHAR2(32 BYTE),
  A10      VARCHAR2(8 BYTE),
  A11      VARCHAR2(8 BYTE),
  A12      VARCHAR2(4 BYTE),
  A13      VARCHAR2(72 BYTE),
  A14      VARCHAR2(200 CHAR),
  A15      VARCHAR2(240 BYTE),
  A16      VARCHAR2(200 CHAR),
  A17      VARCHAR2(240 BYTE),
  A18      VARCHAR2(128 BYTE),
  A19      VARCHAR2(400 BYTE),
  A20      VARCHAR2(4 BYTE),
  A21      VARCHAR2(400 BYTE),
  A22      VARCHAR2(50 CHAR),
  A23      VARCHAR2(50 CHAR),
  A24      VARCHAR2(12 BYTE),
  A25      VARCHAR2(32 BYTE),
  A26      VARCHAR2(12 BYTE),
  A27      VARCHAR2(12 BYTE),
  A28      VARCHAR2(12 BYTE),
  A29      VARCHAR2(50 BYTE),
  A30      VARCHAR2(50 BYTE),
  A31      VARCHAR2(18 BYTE),
  A32      VARCHAR2(50 BYTE),
  A33      VARCHAR2(50 BYTE),
  A34      VARCHAR2(80 BYTE),
  A35      VARCHAR2(50 CHAR),
  A36      VARCHAR2(50 CHAR),
  A37      VARCHAR2(50 BYTE),
  A38      VARCHAR2(50 CHAR),
  A39      VARCHAR2(50 BYTE),
  A40      VARCHAR2(50 BYTE),
  A41      VARCHAR2(100 CHAR),
 A42      VARCHAR2(17 BYTE),
  A43      VARCHAR2(18 BYTE),
  A44      VARCHAR2(50 CHAR),
  A45      VARCHAR2(18 BYTE),
  A46      VARCHAR2(50 CHAR),
  A47      VARCHAR2(10 BYTE),
  A48      VARCHAR2(10 BYTE),
  A49      VARCHAR2(30 CHAR),
  A50      VARCHAR2(10 BYTE),
  A51      VARCHAR2(10 BYTE),
  A52      VARCHAR2(50 BYTE),
  A53      VARCHAR2(50 BYTE),
  A54      VARCHAR2(50 CHAR),
  A55      VARCHAR2(50 CHAR),
  A56      VARCHAR2(50 BYTE),
  A57      VARCHAR2(50 BYTE),
  A58      VARCHAR2(50 BYTE),
  A59      VARCHAR2(50 BYTE),
  A60      VARCHAR2(50 BYTE),
  A61      VARCHAR2(200 BYTE),
  A62      VARCHAR2(50 CHAR),
  A63      VARCHAR2(50 CHAR),
  A64      VARCHAR2(4 BYTE),
  A65      VARCHAR2(10 BYTE),
  A66      VARCHAR2(1000 CHAR),
  A67      VARCHAR2(1000 CHAR),
  A68      VARCHAR2(12 BYTE),
  A69      VARCHAR2(50 BYTE),
  A70      VARCHAR2(50 BYTE),
  A71      VARCHAR2(8 BYTE),
  A72      VARCHAR2(18 BYTE),
  A73      VARCHAR2(18 BYTE),
  A74      VARCHAR2(50 CHAR),
  A75      VARCHAR2(50 CHAR),
  A76      VARCHAR2(50 BYTE),
  A77      VARCHAR2(10 BYTE),
  A78      VARCHAR2(18 BYTE),
  A79      VARCHAR2(18 BYTE),
  A80      VARCHAR2(18 BYTE),
  A81      VARCHAR2(50 BYTE),
  A82      VARCHAR2(80 BYTE),
  A83      VARCHAR2(80 BYTE),
  A84      VARCHAR2(80 BYTE),
  A85      VARCHAR2(80 BYTE),
  A86      VARCHAR2(80 BYTE),
  A87      VARCHAR2(50 CHAR),
  A88      VARCHAR2(50 CHAR),
  A89      VARCHAR2(50 BYTE),
  A90      VARCHAR2(50 BYTE),
  A91      VARCHAR2(18 BYTE),
  A92      VARCHAR2(50 CHAR),
  A93      VARCHAR2(50 CHAR),
  A94      VARCHAR2(10 BYTE),
  A95      VARCHAR2(12 CHAR),
  A96      VARCHAR2(10 BYTE),
  A97      VARCHAR2(10 BYTE),
  A98      VARCHAR2(10 BYTE),
  A99      VARCHAR2(10 BYTE),
  A100     VARCHAR2(10 BYTE),
  A101     VARCHAR2(400 BYTE),
  A102     VARCHAR2(800 BYTE),
  A103     VARCHAR2(40 BYTE),
  A104     VARCHAR2(18 BYTE),
  A105     VARCHAR2(18 BYTE),
  A106     VARCHAR2(50 CHAR),
  A107     VARCHAR2(50 CHAR),
  A108     VARCHAR2(10 BYTE),
  A109     VARCHAR2(100 CHAR),
  A110     VARCHAR2(18 BYTE),
  A111     VARCHAR2(80 BYTE),
  A112     VARCHAR2(80 BYTE),
  A113     VARCHAR2(80 BYTE),
  A114     VARCHAR2(80 BYTE),
  A115     VARCHAR2(80 BYTE),
  A116     VARCHAR2(50 CHAR),
  A117     VARCHAR2(50 CHAR),
  A118     VARCHAR2(10 BYTE),
  A119     VARCHAR2(10 BYTE),
  A120     VARCHAR2(10 BYTE),
  A121     VARCHAR2(10 BYTE),
  A122     VARCHAR2(18 BYTE),
  A123     VARCHAR2(18 BYTE),
  A124     VARCHAR2(50 CHAR),
  A125     VARCHAR2(50 CHAR),
 A126     VARCHAR2(50 CHAR),
  A127     VARCHAR2(10 BYTE),
  A128     VARCHAR2(10 BYTE),
  A129     VARCHAR2(10 BYTE),
  A130     VARCHAR2(100 CHAR),
  A131     VARCHAR2(100 CHAR),
  A132     VARCHAR2(18 BYTE),
  A133     VARCHAR2(18 BYTE),
  A134     VARCHAR2(50 CHAR),
  A135     VARCHAR2(50 CHAR),
  A136     VARCHAR2(50 CHAR),
  A137     VARCHAR2(10 BYTE),
  A138     VARCHAR2(32 BYTE),
  A139     VARCHAR2(32 BYTE),
  A140     VARCHAR2(10 BYTE),
  A141     VARCHAR2(10 BYTE),
  A142     VARCHAR2(10 BYTE),
  A143     VARCHAR2(10 BYTE),
  A144     VARCHAR2(10 BYTE),
  A145     VARCHAR2(10 BYTE),
  A146     VARCHAR2(7 BYTE),
  A147     VARCHAR2(10 BYTE),
  A148     VARCHAR2(10 BYTE),
  A149     VARCHAR2(18 BYTE),
  A150     VARCHAR2(18 BYTE),
  A151     VARCHAR2(18 BYTE),
  A152     VARCHAR2(10 BYTE),
  A153     VARCHAR2(10 BYTE),
  A154     VARCHAR2(18 BYTE),
  A155     VARCHAR2(18 BYTE),
  A156     VARCHAR2(10 BYTE),
  A157     VARCHAR2(10 BYTE),
  A158     VARCHAR2(18 BYTE),
  A159     VARCHAR2(10 BYTE),
  A160     VARCHAR2(18 BYTE),
  A161     VARCHAR2(18 BYTE),
  A162     VARCHAR2(18 BYTE),
  A163     VARCHAR2(18 BYTE),
  A164     VARCHAR2(18 BYTE),
  A165     VARCHAR2(50 CHAR),
  A166     VARCHAR2(50 CHAR),
  A167     VARCHAR2(50 CHAR),
  A168     VARCHAR2(50 CHAR),
  A169     VARCHAR2(50 CHAR),
  A170     VARCHAR2(10 BYTE),
  A171     VARCHAR2(10 BYTE),
  A172     VARCHAR2(50 BYTE),
  A173     VARCHAR2(50 BYTE),
  A174     VARCHAR2(50 BYTE),
  A175     VARCHAR2(50 BYTE),
  A176     VARCHAR2(50 BYTE),
  A177     VARCHAR2(50 BYTE),
  A178     VARCHAR2(50 BYTE),
  A179     VARCHAR2(50 BYTE),
  A180     VARCHAR2(50 BYTE),
  A181     VARCHAR2(50 BYTE),
  A182     VARCHAR2(50 BYTE),
  A183     VARCHAR2(50 BYTE),
  A184     VARCHAR2(50 BYTE),
  A185     VARCHAR2(50 BYTE),
  A186     VARCHAR2(50 BYTE),
  A187     VARCHAR2(50 BYTE),
  A188     VARCHAR2(50 BYTE),
  A189     VARCHAR2(50 BYTE),
  A190     VARCHAR2(50 BYTE),
  A191     VARCHAR2(50 BYTE),
  A192     VARCHAR2(50 BYTE),
  A193     VARCHAR2(50 BYTE),
  A194     VARCHAR2(50 BYTE),
  A195     VARCHAR2(50 BYTE),
  A196     VARCHAR2(50 BYTE),
  A197     VARCHAR2(10 BYTE),
  A198     VARCHAR2(100 BYTE),
  A199     VARCHAR2(18 BYTE),
  A200     VARCHAR2(10 BYTE),
  A201     VARCHAR2(50 BYTE),
  A202     VARCHAR2(50 BYTE),
  A203     VARCHAR2(50 BYTE),
  A204     VARCHAR2(50 BYTE),
  A205     VARCHAR2(50 BYTE),
  A206     VARCHAR2(50 BYTE),
  A207     VARCHAR2(50 BYTE),
  A208     VARCHAR2(50 BYTE),
  A209     VARCHAR2(50 BYTE),
  A210     VARCHAR2(50 BYTE),
  A211     VARCHAR2(50 BYTE),
  A212     VARCHAR2(50 BYTE),
  A213     VARCHAR2(50 BYTE),
  A214     VARCHAR2(50 BYTE),
  A215     VARCHAR2(50 BYTE),
  A216     VARCHAR2(50 BYTE),
  A217     VARCHAR2(100 BYTE),
  A218     VARCHAR2(100 BYTE),
  A219     VARCHAR2(50 BYTE),
  A220     VARCHAR2(50 BYTE),
  A221     VARCHAR2(50 BYTE),
  A222     VARCHAR2(50 BYTE),
  A223     VARCHAR2(50 BYTE),
  A224     VARCHAR2(50 BYTE),
  A225     VARCHAR2(50 BYTE),
  A226     VARCHAR2(40 BYTE),
  A227     VARCHAR2(32 BYTE),
  A228     VARCHAR2(7 BYTE),
  A229     VARCHAR2(18 BYTE),
  A230     VARCHAR2(50 BYTE),
  A231     VARCHAR2(10 BYTE),
  A232     VARCHAR2(7 BYTE),
  A233     VARCHAR2(20 BYTE),
  A234     VARCHAR2(20 BYTE),
  A235     VARCHAR2(64 BYTE),
  A236     VARCHAR2(50 BYTE),
  A237     VARCHAR2(50 BYTE),
  A238     VARCHAR2(18 BYTE),
  A239     VARCHAR2(8 BYTE),
  A240     VARCHAR2(8 BYTE),
  A241     VARCHAR2(12 BYTE),
  A242     VARCHAR2(12 BYTE),
  A243     VARCHAR2(2 BYTE),
  A244     VARCHAR2(10 BYTE),
  A245     VARCHAR2(12 BYTE),
  A246     VARCHAR2(12 BYTE),
  A247     VARCHAR2(12 BYTE),
  A248     VARCHAR2(12 BYTE),
  A249     VARCHAR2(50 BYTE),
  A250     VARCHAR2(50 BYTE),
  A251     VARCHAR2(50 BYTE),
  A252     VARCHAR2(50 BYTE),
  A253     VARCHAR2(50 BYTE),
  A254     VARCHAR2(50 BYTE),
  A255     VARCHAR2(14 BYTE),
  A256     VARCHAR2(18 BYTE),
  A257     VARCHAR2(12 BYTE),
  A258     VARCHAR2(12 BYTE),
  A259     VARCHAR2(12 BYTE),
  A260     VARCHAR2(50 BYTE),
  A261     VARCHAR2(50 BYTE),
  A262     VARCHAR2(18 BYTE),
  A263     VARCHAR2(18 BYTE),
  A264     VARCHAR2(18 BYTE),
  A265     VARCHAR2(18 BYTE),
  A266     VARCHAR2(50 BYTE),
  A267     VARCHAR2(50 BYTE),
  A268     VARCHAR2(50 BYTE),
  A269     VARCHAR2(50 BYTE),
  A270     VARCHAR2(50 BYTE),
  A271     VARCHAR2(12 BYTE),
  A272     VARCHAR2(50 BYTE),
  A273     VARCHAR2(12 BYTE),
  A274     VARCHAR2(100 BYTE),
  A275     VARCHAR2(100 BYTE),
  A276     VARCHAR2(12 BYTE),
  A277     VARCHAR2(12 BYTE),
  A278     VARCHAR2(12 BYTE),
  A279     VARCHAR2(50 BYTE),
  A280     VARCHAR2(50 BYTE),
  A281     VARCHAR2(20 BYTE),
  A282     VARCHAR2(20 BYTE),
  A283     VARCHAR2(12 BYTE),
  A284     VARCHAR2(12 BYTE),
  A285     VARCHAR2(12 BYTE),
  A286     VARCHAR2(18 BYTE),
  A287     VARCHAR2(12 BYTE),
  A288     VARCHAR2(12 BYTE),
  A289     VARCHAR2(50 BYTE),
  A290     VARCHAR2(50 BYTE),
  A291     VARCHAR2(18 BYTE),
  A292     VARCHAR2(50 BYTE),
  A293     VARCHAR2(50 BYTE),
  A294     VARCHAR2(50 BYTE),
  A295     VARCHAR2(50 BYTE),
  A296     VARCHAR2(50 BYTE),
  A297     VARCHAR2(4 BYTE),
  A298     VARCHAR2(32 BYTE),
  A299     VARCHAR2(12 BYTE),
  A300     VARCHAR2(12 BYTE),
  A301     VARCHAR2(50 BYTE),
  A302     VARCHAR2(50 BYTE),
  A303     VARCHAR2(2000 BYTE),
  A304     VARCHAR2(12 BYTE),
  A305     VARCHAR2(50 BYTE),
  A306     VARCHAR2(50 BYTE),
  A307     VARCHAR2(50 BYTE),
  A308     VARCHAR2(50 BYTE),
  A309     VARCHAR2(50 BYTE),
  A310     VARCHAR2(20 BYTE),
  A311     VARCHAR2(20 BYTE),
  A312     VARCHAR2(20 BYTE),
  A313     VARCHAR2(320 BYTE),
  A314     VARCHAR2(4 BYTE),
  A315     VARCHAR2(20 BYTE),
  A316     VARCHAR2(20 BYTE),
  A317     VARCHAR2(12 BYTE),
  A318     VARCHAR2(20 BYTE),
  A319     VARCHAR2(20 BYTE),
  A320     VARCHAR2(4 BYTE),
  A321     VARCHAR2(20 BYTE),
  A322     VARCHAR2(20 BYTE),
  A323     VARCHAR2(40 BYTE),
  A324     VARCHAR2(20 BYTE),
  A325     VARCHAR2(20 BYTE),
  A326     VARCHAR2(20 BYTE),
  A327     VARCHAR2(8 BYTE),
  A328     VARCHAR2(8 BYTE),
  A329     VARCHAR2(4 BYTE),
  A330     VARCHAR2(4 BYTE),
  A331     VARCHAR2(4 BYTE),
  A332     VARCHAR2(4 BYTE),
  A333     VARCHAR2(320 BYTE),
  A334     VARCHAR2(12 BYTE),
  A335     VARCHAR2(12 BYTE),
  A336     VARCHAR2(12 BYTE),
  A337     VARCHAR2(12 BYTE),
  A338     VARCHAR2(50 BYTE),
  A339     VARCHAR2(50 BYTE),
  A340     VARCHAR2(50 BYTE),
  A341     VARCHAR2(50 BYTE),
  A342     VARCHAR2(50 BYTE),
  A343     VARCHAR2(320 BYTE),
  A344     VARCHAR2(32 BYTE),
  A345     VARCHAR2(8 BYTE),
  A346     VARCHAR2(8 BYTE),
  A347     VARCHAR2(8 BYTE),
  A348     VARCHAR2(8 BYTE),
  A349     VARCHAR2(8 BYTE),
  A350     VARCHAR2(18 BYTE),
  A351     VARCHAR2(18 BYTE),
  A352     VARCHAR2(18 BYTE),
  A353     VARCHAR2(18 BYTE),
  A354     VARCHAR2(18 BYTE),
  A355     VARCHAR2(12 BYTE),
  A356     VARCHAR2(12 BYTE),
  A357     VARCHAR2(12 BYTE),
  A358     VARCHAR2(12 BYTE),
  A359     VARCHAR2(12 BYTE),
  A360     VARCHAR2(18 BYTE),
  A361     VARCHAR2(18 BYTE),
  A362     VARCHAR2(18 BYTE),
  A363     VARCHAR2(18 BYTE),
  A364     VARCHAR2(18 BYTE),
  A365     VARCHAR2(18 BYTE),
  A366     VARCHAR2(18 BYTE),
  A367     VARCHAR2(18 BYTE),
  A368     VARCHAR2(18 BYTE),
  A369     VARCHAR2(18 BYTE),
  A370     VARCHAR2(18 BYTE),
  A371     VARCHAR2(18 BYTE),
  A372     VARCHAR2(18 BYTE),
  A373     VARCHAR2(18 BYTE),
  A374     VARCHAR2(18 BYTE),
  A375     VARCHAR2(18 BYTE),
  A376     VARCHAR2(18 BYTE),
  A377     VARCHAR2(18 BYTE),
  A378     VARCHAR2(18 BYTE),
  A379     VARCHAR2(18 BYTE),
  A380     VARCHAR2(18 BYTE),
  A381     VARCHAR2(18 BYTE),
  A382     VARCHAR2(18 BYTE),
  A383     VARCHAR2(18 BYTE),
  A384     VARCHAR2(18 BYTE),
  A385     VARCHAR2(50 BYTE),
  A386     VARCHAR2(50 BYTE),
  A387     VARCHAR2(50 BYTE),
  A388     VARCHAR2(50 BYTE),
  A389     VARCHAR2(50 BYTE),
  A390     VARCHAR2(50 BYTE),
  A391     VARCHAR2(50 BYTE),
  A392     VARCHAR2(50 BYTE),
  A393     VARCHAR2(50 BYTE),
  A394     VARCHAR2(50 BYTE),
  A395     VARCHAR2(50 BYTE),
  A396     VARCHAR2(50 BYTE),
  A397     VARCHAR2(50 BYTE),
  A398     VARCHAR2(50 BYTE),
  A399     VARCHAR2(50 BYTE),
  A400     VARCHAR2(50 BYTE),
  A401     VARCHAR2(50 BYTE),
  A402     VARCHAR2(50 BYTE),
  A403     VARCHAR2(50 BYTE),
  A404     VARCHAR2(50 BYTE),
  A405     VARCHAR2(50 BYTE),
  A406     VARCHAR2(50 BYTE),
  A407     VARCHAR2(50 BYTE),
  A408     VARCHAR2(50 BYTE),
  A409     VARCHAR2(50 BYTE),
  A410     VARCHAR2(50 BYTE),
  A411     VARCHAR2(50 BYTE),
  A412     VARCHAR2(50 BYTE),
  A413     VARCHAR2(8 BYTE),
  A414     VARCHAR2(8 BYTE),
  A415     VARCHAR2(8 BYTE),
  A416     VARCHAR2(8 BYTE),
  A417     VARCHAR2(8 BYTE),
  A418     VARCHAR2(8 BYTE),
  A419     VARCHAR2(8 BYTE),
  A420     VARCHAR2(8 BYTE),
  A421     VARCHAR2(8 BYTE),
  A422     VARCHAR2(8 BYTE),
  A423     VARCHAR2(8 BYTE),
  A424     VARCHAR2(8 BYTE),
  A425     VARCHAR2(8 BYTE),
  A426     VARCHAR2(8 BYTE),
  A427     VARCHAR2(8 BYTE),
  A428     VARCHAR2(8 BYTE),
  A429     VARCHAR2(8 BYTE),
  A430     VARCHAR2(8 BYTE),
  A431     VARCHAR2(8 BYTE),
  A432     VARCHAR2(18 BYTE),
  A433     VARCHAR2(18 BYTE),
  A434     VARCHAR2(18 BYTE),
  A435     VARCHAR2(18 BYTE),
  A436     VARCHAR2(18 BYTE),
  A437     VARCHAR2(18 BYTE),
  A438     VARCHAR2(18 BYTE),
  A439     VARCHAR2(18 BYTE),
  A440     VARCHAR2(18 BYTE),
  A441     VARCHAR2(18 BYTE),
  A442     VARCHAR2(18 BYTE),
  A443     VARCHAR2(18 BYTE),
  A444     VARCHAR2(18 BYTE),
  A445     VARCHAR2(18 BYTE),
  A446     VARCHAR2(18 BYTE),
  A447     VARCHAR2(18 BYTE),
  A448     VARCHAR2(18 BYTE),
  A449     VARCHAR2(18 BYTE),
  A450     VARCHAR2(18 BYTE),
  A451     VARCHAR2(18 BYTE),
  A452     VARCHAR2(1 BYTE),
  A453     VARCHAR2(1 BYTE),
  A454     VARCHAR2(1 BYTE),
  A455     VARCHAR2(1 BYTE),
  A456     VARCHAR2(1 BYTE),
  A457     VARCHAR2(1 BYTE),
  A458     VARCHAR2(1 BYTE),
  A459     VARCHAR2(1 BYTE),
  A460     VARCHAR2(1 BYTE),
  A461     VARCHAR2(1 BYTE),
  A462     VARCHAR2(1 BYTE),
  A463     VARCHAR2(1 BYTE),
  A464     VARCHAR2(1 BYTE),
  A465     VARCHAR2(1 BYTE),
  A466     VARCHAR2(1 BYTE),
  A467     VARCHAR2(1 BYTE),
  A468     VARCHAR2(1 BYTE),
  A469     VARCHAR2(1 BYTE),
  A470     VARCHAR2(1 BYTE),
  A471     VARCHAR2(1 BYTE),
  A472     VARCHAR2(2 BYTE),
  A473     VARCHAR2(2 BYTE),
  A474     VARCHAR2(2 BYTE),
  A475     VARCHAR2(2 BYTE),
  A476     VARCHAR2(2 BYTE),
  A477     VARCHAR2(2 BYTE),
  A478     VARCHAR2(2 BYTE),
  A479     VARCHAR2(2 BYTE),
  A480     VARCHAR2(2 BYTE),
  A481     VARCHAR2(2 BYTE),
  A482     VARCHAR2(2 BYTE),
  A483     VARCHAR2(2 BYTE),
  A484     VARCHAR2(2 BYTE),
  A485     VARCHAR2(2 BYTE),
  A486     VARCHAR2(2 BYTE),
  A487     VARCHAR2(2 BYTE),
  A488     VARCHAR2(2 BYTE),
  A489     VARCHAR2(2 BYTE),
  A490     VARCHAR2(2 BYTE),
  A491     VARCHAR2(2 BYTE),
  A492     VARCHAR2(3 BYTE),
  A493     VARCHAR2(3 BYTE),
  A494     VARCHAR2(3 BYTE),
  A495     VARCHAR2(3 BYTE),
  A496     VARCHAR2(3 BYTE),
  A497     VARCHAR2(3 BYTE),
  A498     VARCHAR2(3 BYTE),
  A499     VARCHAR2(3 BYTE),
  A500     VARCHAR2(3 BYTE),
  A501     VARCHAR2(3 BYTE),
  A502     VARCHAR2(3 BYTE),
  A503     VARCHAR2(3 BYTE),
  A504     VARCHAR2(3 BYTE),
  A505     VARCHAR2(3 BYTE),
  A506     VARCHAR2(3 BYTE),
  A507     VARCHAR2(3 BYTE),
  A508     VARCHAR2(3 BYTE),
  A509     VARCHAR2(3 BYTE),
  A510     VARCHAR2(3 BYTE),
  A511     VARCHAR2(3 BYTE),
  A512     VARCHAR2(1 BYTE),
  A513     VARCHAR2(1 BYTE),
  A514     VARCHAR2(1 BYTE),
  A515     VARCHAR2(1 BYTE),
  A516     VARCHAR2(1 BYTE),
  A517     VARCHAR2(1 BYTE),
  A518     VARCHAR2(1 BYTE),
  A519     VARCHAR2(1 BYTE),
  A520     VARCHAR2(1 BYTE),
  A521     VARCHAR2(1 BYTE),
  A522     VARCHAR2(1 BYTE),
  A523     VARCHAR2(1 BYTE),
  A524     VARCHAR2(1 BYTE),
  A525     VARCHAR2(1 BYTE),
  A526     VARCHAR2(1 BYTE),
  A527     VARCHAR2(1 BYTE),
  A528     VARCHAR2(1 BYTE),
  A529     VARCHAR2(1 BYTE),
  A530     VARCHAR2(1 BYTE),
  A531     VARCHAR2(1 BYTE),
  A532     VARCHAR2(2 BYTE),
  A533     VARCHAR2(2 BYTE),
  A534     VARCHAR2(2 BYTE),
  A535     VARCHAR2(2 BYTE),
  A536     VARCHAR2(2 BYTE),
  A537     VARCHAR2(2 BYTE),
  A538     VARCHAR2(2 BYTE),
  A539     VARCHAR2(2 BYTE),
  A540     VARCHAR2(2 BYTE),
  A541     VARCHAR2(2 BYTE),
  A542     VARCHAR2(2 BYTE),
  A543     VARCHAR2(2 BYTE),
  A544     VARCHAR2(2 BYTE),
  A545     VARCHAR2(2 BYTE),
  A546     VARCHAR2(2 BYTE),
  A547     VARCHAR2(2 BYTE),
  A548     VARCHAR2(2 BYTE),
  A549     VARCHAR2(2 BYTE),
  A550     VARCHAR2(2 BYTE),
  A551     VARCHAR2(2 BYTE),
  A552     VARCHAR2(2 BYTE),
  A553     VARCHAR2(2 BYTE),
  A554     VARCHAR2(2 BYTE),
  A555     VARCHAR2(2 BYTE),
  A556     VARCHAR2(2 BYTE),
  A557     VARCHAR2(2 BYTE),
  A558     VARCHAR2(2 BYTE),
  A559     VARCHAR2(2 BYTE),
  A560     VARCHAR2(2 BYTE),
  A561     VARCHAR2(2 BYTE),
  A562     VARCHAR2(2 BYTE),
  A563     VARCHAR2(2 BYTE),
  A564     VARCHAR2(2 BYTE),
  A565     VARCHAR2(2 BYTE),
  A566     VARCHAR2(2 BYTE),
  A567     VARCHAR2(2 BYTE),
  A568     VARCHAR2(2 BYTE),
  A569     VARCHAR2(2 BYTE),
  A570     VARCHAR2(2 BYTE),
  A571     VARCHAR2(2 BYTE),
  A572     VARCHAR2(12 BYTE),
  A573     VARCHAR2(12 BYTE),
  A574     VARCHAR2(12 BYTE),
  A575     VARCHAR2(12 BYTE),
  A576     VARCHAR2(12 BYTE),
  A577     VARCHAR2(12 BYTE),
  A578     VARCHAR2(12 BYTE),
  A579     VARCHAR2(12 BYTE),
  A580     VARCHAR2(12 BYTE),
  A581     VARCHAR2(12 BYTE),
  A582     VARCHAR2(12 BYTE),
  A583     VARCHAR2(12 BYTE),
  A584     VARCHAR2(12 BYTE),
  A585     VARCHAR2(12 BYTE),
  A586     VARCHAR2(12 BYTE),
  A587     VARCHAR2(12 BYTE),
  A588     VARCHAR2(12 BYTE),
  A589     VARCHAR2(12 BYTE),
  A590     VARCHAR2(12 BYTE),
  A591     VARCHAR2(12 BYTE),
  A592     VARCHAR2(12 BYTE),
  A593     VARCHAR2(12 BYTE),
  A594     VARCHAR2(12 BYTE),
  A595     VARCHAR2(12 BYTE),
  A596     VARCHAR2(12 BYTE),
  A597     VARCHAR2(12 BYTE),
  A598     VARCHAR2(12 BYTE),
  A599     VARCHAR2(12 BYTE),
  A600     VARCHAR2(12 BYTE),
  A601     VARCHAR2(12 BYTE),
  A602     VARCHAR2(12 BYTE),
  A603     VARCHAR2(12 BYTE),
  A604     VARCHAR2(12 BYTE),
  A605     VARCHAR2(12 BYTE),
  A606     VARCHAR2(12 BYTE),
  A607     VARCHAR2(12 BYTE),
  A608     VARCHAR2(12 BYTE),
  A609     VARCHAR2(12 BYTE),
  A610     VARCHAR2(12 BYTE),
  A611     VARCHAR2(12 BYTE),
  A612     VARCHAR2(50 BYTE),
  A613     VARCHAR2(50 BYTE),
  A614     VARCHAR2(50 BYTE),
  A615     VARCHAR2(50 BYTE),
  A616     VARCHAR2(50 BYTE),
  A617     VARCHAR2(50 BYTE),
  A618     VARCHAR2(50 BYTE),
  A619     VARCHAR2(50 BYTE),
  A620     VARCHAR2(50 BYTE),
  A621     VARCHAR2(50 BYTE),
  A622     VARCHAR2(50 BYTE),
  A623     VARCHAR2(50 BYTE),
  A624     VARCHAR2(50 BYTE),
  A625     VARCHAR2(50 BYTE),
  A626     VARCHAR2(50 BYTE),
  A627     VARCHAR2(50 BYTE),
  A628     VARCHAR2(50 BYTE),
  A629     VARCHAR2(50 BYTE),
  A630     VARCHAR2(50 BYTE),
  A631     VARCHAR2(50 BYTE),
  A632     VARCHAR2(50 BYTE),
  A633     VARCHAR2(50 BYTE),
  A634     VARCHAR2(50 BYTE),
  A635     VARCHAR2(50 BYTE),
  A636     VARCHAR2(50 BYTE),
  A637     VARCHAR2(50 BYTE),
  A638     VARCHAR2(50 BYTE),
  A639     VARCHAR2(50 BYTE),
  A640     VARCHAR2(50 BYTE),
  A641     VARCHAR2(50 BYTE),
  A642     VARCHAR2(50 BYTE),
  A643     VARCHAR2(50 BYTE),
  A644     VARCHAR2(50 BYTE),
  A645     VARCHAR2(50 BYTE),
  A646     VARCHAR2(50 BYTE),
  A647     VARCHAR2(50 BYTE),
  A648     VARCHAR2(50 BYTE),
  A649     VARCHAR2(50 BYTE),
  A650     VARCHAR2(50 BYTE),
  A651     VARCHAR2(50 BYTE),
  A652     VARCHAR2(8 BYTE),
  A653     VARCHAR2(8 BYTE),
  A654     VARCHAR2(8 BYTE),
  A655     VARCHAR2(8 BYTE),
  A656     VARCHAR2(8 BYTE),
  A657     VARCHAR2(3 BYTE),
  A658     VARCHAR2(3 BYTE),
  A659     VARCHAR2(3 BYTE),
  A660     VARCHAR2(3 BYTE),
  A661     VARCHAR2(3 BYTE),
  A662     VARCHAR2(3 BYTE),
  A663     VARCHAR2(18 BYTE),
  A664     VARCHAR2(18 BYTE),
  A665     VARCHAR2(3 BYTE),
  A666     VARCHAR2(3 BYTE),
  A667     VARCHAR2(18 BYTE),
  A668     VARCHAR2(18 BYTE),
  A669     VARCHAR2(18 BYTE),
  A670     VARCHAR2(18 BYTE),
  A671     VARCHAR2(18 BYTE),
  A672     VARCHAR2(18 BYTE),
  A673     VARCHAR2(18 BYTE),
  A674     VARCHAR2(50 BYTE),
  A675     VARCHAR2(50 BYTE),
  A676     VARCHAR2(50 BYTE),
  A677     VARCHAR2(50 BYTE),
  A678     VARCHAR2(50 BYTE),
  A679     VARCHAR2(18 BYTE),
  A680     VARCHAR2(18 BYTE),
  A681     VARCHAR2(18 BYTE),
  A682     VARCHAR2(18 BYTE),
  A683     VARCHAR2(18 BYTE),
  A684     VARCHAR2(18 BYTE),
  A685     VARCHAR2(50 BYTE),
  A686     VARCHAR2(50 BYTE),
  A687     VARCHAR2(12 BYTE),
  A688     VARCHAR2(12 BYTE),
  A689     VARCHAR2(12 BYTE),
  A690     VARCHAR2(12 BYTE),
  A691     VARCHAR2(12 BYTE),
  A692     VARCHAR2(12 BYTE),
  A693     VARCHAR2(12 BYTE),
  A694     VARCHAR2(12 BYTE),
  A695     VARCHAR2(12 BYTE),
  A696     VARCHAR2(12 BYTE),
  A697     VARCHAR2(12 BYTE),
  A698     VARCHAR2(12 BYTE),
  A699     VARCHAR2(12 BYTE),
  A700     VARCHAR2(14 BYTE),
  A701     VARCHAR2(12 BYTE),
  A702     VARCHAR2(12 BYTE),
  A703     VARCHAR2(12 BYTE),
  A704     VARCHAR2(12 BYTE),
  A705     VARCHAR2(12 BYTE),
  A706     VARCHAR2(12 BYTE),
  A707     VARCHAR2(20 BYTE),
  A708     VARCHAR2(18 BYTE),
  A709     VARCHAR2(18 BYTE),
  A710     VARCHAR2(50 BYTE),
  A711     VARCHAR2(50 BYTE),
  A712     VARCHAR2(3 BYTE),
  A713     VARCHAR2(3 BYTE),
  A714     VARCHAR2(12 BYTE),
  A715     VARCHAR2(12 BYTE),
  A716     VARCHAR2(12 BYTE),
  A717     VARCHAR2(12 BYTE),
  A718     VARCHAR2(50 BYTE),
  A719     VARCHAR2(50 BYTE),
  A720     VARCHAR2(12 BYTE),
  A721     VARCHAR2(12 BYTE),
  A722     VARCHAR2(3 BYTE),
  A723     VARCHAR2(3 BYTE),
  A724     VARCHAR2(12 BYTE),
  A725     VARCHAR2(12 BYTE),
  A726     VARCHAR2(50 BYTE),
  A727     VARCHAR2(50 BYTE),
  A728     VARCHAR2(50 BYTE),
  A729     VARCHAR2(50 BYTE),
  A730     VARCHAR2(50 BYTE),
  A731     VARCHAR2(50 BYTE),
  A732     VARCHAR2(50 BYTE),
  A733     VARCHAR2(50 BYTE),
  A734     VARCHAR2(50 BYTE),
  A735     VARCHAR2(50 BYTE),
  A736     VARCHAR2(50 BYTE),
  A737     VARCHAR2(50 BYTE),
  A738     VARCHAR2(8 BYTE),
  A739     VARCHAR2(8 BYTE),
  A740     VARCHAR2(8 BYTE),
  A741     VARCHAR2(8 BYTE),
  A742     VARCHAR2(8 BYTE),
  A743     VARCHAR2(8 BYTE),
  A744     VARCHAR2(8 BYTE),
  A745     VARCHAR2(8 BYTE),
  A746     VARCHAR2(8 BYTE),
  A747     VARCHAR2(8 BYTE),
  A748     VARCHAR2(8 BYTE),
  A749     VARCHAR2(8 BYTE),
  A750     VARCHAR2(8 BYTE),
  A751     VARCHAR2(8 BYTE),
  A752     VARCHAR2(8 BYTE),
  A753     VARCHAR2(8 BYTE),
  A754     VARCHAR2(8 BYTE),
  A755     VARCHAR2(8 BYTE),
  A756     VARCHAR2(8 BYTE),
  A757     VARCHAR2(8 BYTE),
  A758     VARCHAR2(12 BYTE),
  A759     VARCHAR2(12 BYTE),
  A760     VARCHAR2(12 BYTE),
  A761     VARCHAR2(12 BYTE),
  A762     VARCHAR2(12 BYTE),
  A763     VARCHAR2(12 BYTE),
  A764     VARCHAR2(12 BYTE),
  A765     VARCHAR2(12 BYTE),
  A766     VARCHAR2(12 BYTE),
  A767     VARCHAR2(12 BYTE),
  A768     VARCHAR2(1 BYTE),
  A769     VARCHAR2(1 BYTE),
  A770     VARCHAR2(1 BYTE),
  A771     VARCHAR2(1 BYTE),
  A772     VARCHAR2(1 BYTE),
  A773     VARCHAR2(1 BYTE),
  A774     VARCHAR2(1 BYTE),
  A775     VARCHAR2(1 BYTE),
  A776     VARCHAR2(1 BYTE),
  A777     VARCHAR2(1 BYTE),
  A778     VARCHAR2(1 BYTE),
  A779     VARCHAR2(1 BYTE),
  A780     VARCHAR2(1 BYTE),
  A781     VARCHAR2(1 BYTE),
  A782     VARCHAR2(1 BYTE),
  A783     VARCHAR2(1 BYTE),
  A784     VARCHAR2(1 BYTE),
  A785     VARCHAR2(1 BYTE),
  A786     VARCHAR2(1 BYTE),
  A787     VARCHAR2(1 BYTE),
  A788     VARCHAR2(13 BYTE),
  A789     VARCHAR2(12 BYTE),
  A790     VARCHAR2(12 BYTE),
  A791     VARCHAR2(12 BYTE),
  A792     VARCHAR2(12 BYTE),
  A793     VARCHAR2(12 BYTE),
  A794     VARCHAR2(12 BYTE),
  A795     VARCHAR2(12 BYTE),
  A796     VARCHAR2(12 BYTE),
  A797     VARCHAR2(12 BYTE),
  A798     VARCHAR2(12 BYTE),
  A799     VARCHAR2(12 BYTE),
  A800     VARCHAR2(12 BYTE),
  A801     VARCHAR2(12 BYTE),
  A802     VARCHAR2(12 BYTE),
  A803     VARCHAR2(12 BYTE),
  A804     VARCHAR2(12 BYTE),
  A805     VARCHAR2(12 BYTE),
  A806     VARCHAR2(12 BYTE),
  A807     VARCHAR2(12 BYTE),
  A808     VARCHAR2(50 BYTE),
  A809     VARCHAR2(50 BYTE),
  A810     VARCHAR2(50 BYTE),
  A811     VARCHAR2(50 BYTE),
  A812     VARCHAR2(50 BYTE),
  A813     VARCHAR2(50 BYTE),
  A814     VARCHAR2(50 BYTE),
  A815     VARCHAR2(50 BYTE),
  A816     VARCHAR2(50 BYTE),
  A817     VARCHAR2(50 BYTE),
  A818     VARCHAR2(50 BYTE),
  A819     VARCHAR2(50 BYTE),
  A820     VARCHAR2(50 BYTE),
  A821     VARCHAR2(50 BYTE),
  A822     VARCHAR2(50 BYTE),
  A823     VARCHAR2(50 BYTE),
  A824     VARCHAR2(50 BYTE),
  A825     VARCHAR2(50 BYTE),
  A826     VARCHAR2(50 BYTE),
  A827     VARCHAR2(50 BYTE),
  A828     VARCHAR2(20 BYTE),
  A829     VARCHAR2(14 BYTE),
  A830     VARCHAR2(6 BYTE),
  A831     VARCHAR2(20 BYTE),
  A832     VARCHAR2(14 BYTE),
  A833     VARCHAR2(6 BYTE),
  A834     VARCHAR2(32 BYTE),
  A835     VARCHAR2(32 BYTE),
  A836     VARCHAR2(32 BYTE),
  A837     VARCHAR2(32 BYTE),
  A838     VARCHAR2(32 BYTE),
  A839     VARCHAR2(32 BYTE)
)


В клобах A1 лежат цифры (3530875285 ) и иногда "спец символы" 'яяяяяяяяяяяяяяяяяяяяяяяяяяяяяяяя'.
В остальных полях то, что соответствует типу поля: буквы и цифры.

Каждый, простите, кортеж укладывается в файл отдельной длииииной строкой следующим образом:


SELECT * FROM TABLE
                (parallel_dump
                    (
                    CURSOR(
                    SELECT
                    to_clob(B0)||to_clob(B1)||to_clob(B2)||to_clob(B3)||to_clob(B4)||to_clob(B5)||to_clob(B6)||to_clob(B7)||to_clob(B8) AS cvs 
FROM
(select
(A1||A2||A3||A4||A5||A6||A7||A8||A9||A10||A11||A12||A13||A14||A15||A16||A17||A18||A19||A20||A21||A22||A23||A24||A25||A26||A27||A28||A29||A30||A31||A32||A33||A34||A35||A36||A37||A38||A39||A40||A41||A42||A43||A44||A45||A46||A47||A48||A49||A50||A51||A52||A53||A54||A55||A56||A57||A58||A59||A60||A61||A62||A63||A64||A65||A66||A67||A68||A69||A70||A71||A72||A73||A74||A75||A76||A77||A78||A79||A80||A81||A82||A83||A84||A85||A86||A87||A88||A89||A90||A91||A92||A93||A94||A95||A96||A97||A98||A99||A100) as B0,
(A101||A102||A103||A104||A105||A106||A107||A108||A109||A110||A111||A112||A113||A114||A115||A116||A117||A118||A119||A120||A121||A122||A123||A124||A125||A126||A127||A128||A129||A130||A131||A132||A133||A134||A135||A136||A137||A138||A139||A140||A141||A142||A143||A144||A145||A146||A147||A148||A149||A150||A151||A152||A153||A154||A155||A156||A157||A158||A159||A160||A161||A162||A163||A164||A165||A166||A167||A168||A169||A170||A171||A172||A173||A174||A175||A176||A177||A178||A179||A180||A181||A182||A183||A184||A185||A186||A187||A188||A189||A190||A191||A192||A193||A194||A195||A196||A197||A198||A199||A200) as B1,
(A201||A202||A203||A204||A205||A206||A207||A208||A209||A210||A211||A212||A213||A214||A215||A216||A217||A218||A219||A220||A221||A222||A223||A224||A225||A226||A227||A228||A229||A230||A231||A232||A233||A234||A235||A236||A237||A238||A239||A240||A241||A242||A243||A244||A245||A246||A247||A248||A249||A250||A251||A252||A253||A254||A255||A256||A257||A258||A259||A260||A261||A262||A263||A264||A265||A266||A267||A268||A269||A270||A271||A272||A273||A274||A275||A276||A277||A278||A279||A280||A281||A282||A283||A284||A285||A286||A287||A288||A289||A290||A291||A292||A293||A294||A295||A296||A297||A298||A299||A300) as B2,
(A301||A302||A303||A304||A305||A306||A307||A308||A309||A310||A311||A312||A313||A314||A315||A316||A317||A318||A319||A320||A321||A322||A323||A324||A325||A326||A327||A328||A329||A330||A331||A332||A333||A334||A335||A336||A337||A338||A339||A340||A341||A342||A343||A344||A345||A346||A347||A348||A349||A350||A351||A352||A353||A354||A355||A356||A357||A358||A359||A360||A361||A362||A363||A364||A365||A366||A367||A368||A369||A370||A371||A372||A373||A374||A375||A376||A377||A378||A379||A380||A381||A382||A383||A384||A385||A386||A387||A388||A389||A390||A391||A392||A393||A394||A395||A396||A397||A398||A399||A400) as B3,
(A401||A402||A403||A404||A405||A406||A407||A408||A409||A410||A411||A412||A413||A414||A415||A416||A417||A418||A419||A420||A421||A422||A423||A424||A425||A426||A427||A428||A429||A430||A431||A432||A433||A434||A435||A436||A437||A438||A439||A440||A441||A442||A443||A444||A445||A446||A447||A448||A449||A450||A451||A452||A453||A454||A455||A456||A457||A458||A459||A460||A461||A462||A463||A464||A465||A466||A467||A468||A469||A470||A471||A472||A473||A474||A475||A476||A477||A478||A479||A480||A481||A482||A483||A484||A485||A486||A487||A488||A489||A490||A491||A492||A493||A494||A495||A496||A497||A498||A499||A500) as B4,
(A501||A502||A503||A504||A505||A506||A507||A508||A509||A510||A511||A512||A513||A514||A515||A516||A517||A518||A519||A520||A521||A522||A523||A524||A525||A526||A527||A528||A529||A530||A531||A532||A533||A534||A535||A536||A537||A538||A539||A540||A541||A542||A543||A544||A545||A546||A547||A548||A549||A550||A551||A552||A553||A554||A555||A556||A557||A558||A559||A560||A561||A562||A563||A564||A565||A566||A567||A568||A569||A570||A571||A572||A573||A574||A575||A576||A577||A578||A579||A580||A581||A582||A583||A584||A585||A586||A587||A588||A589||A590||A591||A592||A593||A594||A595||A596||A597||A598||A599||A600) as B5,
(A601||A602||A603||A604||A605||A606||A607||A608||A609||A610||A611||A612||A613||A614||A615||A616||A617||A618||A619||A620||A621||A622||A623||A624||A625||A626||A627||A628||A629||A630||A631||A632||A633||A634||A635||A636||A637||A638||A639||A640||A641||A642||A643||A644||A645||A646||A647||A648||A649||A650||A651||A652||A653||A654||A655||A656||A657||A658||A659||A660||A661||A662||A663||A664||A665||A666||A667||A668||A669||A670||A671||A672||A673||A674||A675||A676||A677||A678||A679||A680||A681||A682||A683||A684||A685||A686||A687||A688||A689||A690||A691||A692||A693||A694||A695||A696||A697||A698||A699||A700) as B6,
(A701||A702||A703||A704||A705||A706||A707||A708||A709||A710||A711||A712||A713||A714||A715||A716||A717||A718||A719||A720||A721||A722||A723||A724||A725||A726||A727||A728||A729||A730||A731||A732||A733||A734||A735||A736||A737||A738||A739||A740||A741||A742||A743||A744||A745||A746||A747||A748||A749||A750||A751||A752||A753||A754||A755||A756||A757||A758||A759||A760||A761||A762||A763||A764||A765||A766||A767||A768||A769||A770||A771||A772||A773||A774||A775||A776||A777||A778||A779||A780||A781||A782||A783||A784||A785||A786||A787||A788||A789||A790||A791||A792||A793||A794||A795||A796||A797||A798||A799||A800) as B7,
(A801||
A802||
A803||
A804||
A805||
A806||
A807||
A808||
A809||
A810||
A811||
A812||
A813||
A814||
A815||
A816||
A817||
A818||
A819||
A820||
A821||
A822||
A823||
A824||
A825||
A826||
A827||
A828||
A829||
A830||
A831||
A832||
A833||
A834||
A835||
A836||
A837||
A838||
A839) as B8 from
(
 
select * from MAYA.FILE_TAB
 
)
 
) s),
                    'FILE_NAME',
                    'DIRECTORY'
                    )
                ) nt;


Преобразование в клобы вызвано невозможностью по другому сделать конкатенацию (ограничение на длинну конкатенируемой строки).
Функция parallel_dump выглядит так:

CREATE OR REPLACE FUNCTION MAYA.parallel_dump
(
                    p_source    IN SYS_REFCURSOR,
                    p_filename  IN VARCHAR2,
                    p_directory IN VARCHAR2
)                   RETURN MAYA.dump_ntt
                    PIPELINED PARALLEL_ENABLE (PARTITION p_source BY ANY) AS
    /*we parallel-enable the function and state that Oracle can divide the source data amongst the PQ slaves any way it wishes*/
     
      TYPE row_ntt IS TABLE OF VARCHAR2(32767);
      v_rows    row_ntt;
      v_file    UTL_FILE.FILE_TYPE;
      v_buffer  VARCHAR2(32767);
      v_sid     NUMBER;
      v_name    VARCHAR2(128);
      v_lines   PLS_INTEGER := 0;
      c_eol     CONSTANT VARCHAR2(1) := CHR(10);
      c_eollen  CONSTANT PLS_INTEGER := LENGTH(c_eol);
      c_maxline CONSTANT PLS_INTEGER := 32767;
 
   BEGIN
/*each PQ slave will write to its own file, so we append the SID to the filename to make each one unique;*/
     SELECT sid INTO v_sid FROM v_$mystat WHERE ROWNUM = 1;
      
      v_name := p_filename|| '_' || nvl(TO_CHAR(v_sid), '') || '.dat';
      v_file := UTL_FILE.FOPEN(p_directory, v_name, 'w', 32767);
     
       
      LOOP
        FETCH p_source BULK COLLECT INTO v_rows LIMIT 5000; -- это порция строчек которую бухаем в файл
         FOR i IN 1 .. v_rows.COUNT LOOP
            IF LENGTH(v_buffer) + c_eollen + LENGTH(v_rows(i)) <= c_maxline THEN
               v_buffer := v_buffer || c_eol || v_rows(i);
            ELSE
               IF v_buffer IS NOT NULL THEN
                  UTL_FILE.PUT_LINE(v_file, v_buffer);
                 
               END IF;
               v_buffer := v_rows(i);
            END IF;
 
         END LOOP;
 
         v_lines := v_lines + v_rows.COUNT;
        
        -- utl_file.fflush(v_file);   
         
         EXIT WHEN p_source%NOTFOUND;
     END LOOP;
     CLOSE p_source;
 
     UTL_FILE.PUT_LINE(v_file, v_buffer);
     UTL_FILE.FCLOSE(v_file);
    
     /*we return a single record summarising the file details.*/
         
      PIPE ROW (MAYA.dump_ot(v_name, v_lines, v_sid));
      RETURN;
     
 
   END parallel_dump;
/


Посоветуйте, как выгрузить таблицу за 30-40 минут максимум (если это возможно).
В оптимизации - -1, в администрировании - 0. Сейчас в шесть потоков, в шесть файлов выгружаю за час, но это диктует необходимость последующей склейки файлов. Типы и размерность полей в таблице менять нет возможности, вся таблица нужна в одном позиционированном .dat файле.
Заранее обычное спасибо за советы, примеры, код. Мерси.
28 дек 12, 16:21    [13701570]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
123йй
Member

Откуда:
Сообщений: 1637
May12,
SQL*Plus
spool?
28 дек 12, 16:37    [13701692]     Ответить | Цитировать Сообщить модератору
 Re: UTL_FILE - длинная строка  [new]
May12
Member

Откуда: ТУЛЫП
Сообщений: 877
123йй, не вариант, испробовано, строку он обрезает (то что вспомнилось). Спул - это то с чего все начиналось и пришлось отказаться + хочется объект в базе. Спасибо.
28 дек 12, 16:45    [13701736]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
Все форумы / Oracle Ответить