Скрипт Shell для загрузки большого количества файлов в Oracle
У меня есть много файлов журналов, которые я хочу вставить их в таблицу (оракул). Что лучше для этого сделать?
Все журналы, как показано ниже. В моем каталоге много таких файлов.
11/04/2017 12:00:02 11959 trt_ret_tp START Chargement des fichiers HREREC (trt_ret_tp)
11/04/2017 12:00:02 11959 trt_ret_tp Aucun fichier ▒ traiter
11/04/2017 12:00:02 11959 trt_ret_tp Mise a jour de la date de dernier recouvrement
11/04/2017 12:02:42 11959 trt_ret_tp STOP Chargement des fichiers HREREC (trt_ret_tp)
2 ответа
Это решение правильно?
Создать таблицу
CREATE TABLE "LOG_GAM_NOY"
( "DATE", DATE NOT NULL ENABLE,
"TIME", VARCHAR2(8) DATE NOT NULL ENABLE,
"NUM_OF_PROCESS" NUMBER(8),
"SHELL" VARCHAR2(20 BYTE),
"EVENEMENT" VARCHAR2(20 BYTE),
"LIBELE" VARCHAR2(200 BYTE),
) ;
Контрольный файл
OPTIONS
LOAD DATA
INFILE /donnees/gam/log/*.log
INFILE /donnees/noyau/log/*.log
REPLACE INTO TABLE LOG_GAM_NOY
FIELDS TERMINATED BY X’9’
TRAILING NULLCOLS
(DATE,TIME,NUM_OF_PROCESS,SHELL,EVENEMENT,LIBELE)
)
Вам нужен цикл для итерации всей папки дерева, а затем вам нужно прочитать каждую строку файла журнала и затем создать предложение SQL INSERT для этой строки. Это должно быть легко, у меня нет экземпляра Oracle, чтобы сделать пример, но попробуйте сделать это с помощью этой подсказки.