У меня есть 12 .csv files
, который должен быть загружен в промежуточную таблицу , и после загрузки данных в промежуточную таблицу он должен загрузить данные , сгруппированные по параметрам в другой стол . Выдает ошибку при создании таблицы . В нем отсутствуют привилегии.
GABER_RIGHTS. SQL:
GRANT SELECT, DELETE, INSERT, UPDATE ON FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB TO GABER;
GRANT SELECT, DELETE, INSERT, UPDATE ON FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB_STA TO GABER;
GRANT SELECT, DELETE, INSERT, UPDATE ON FOOTBALLCLUB.DIM_PLAYER TO GABER;
GRANT SELECT, DELETE, INSERT, UPDATE ON FOOTBALLCLUB.DIM_TEAM TO GABER;
GRANT SELECT, DELETE, INSERT, UPDATE ON FOOTBALLCLUB.DIM_TRAINER TO GABER;
exit;
gaber_footballclub. sh:
#!/bin/bash
sqlplus system/oracle @FOOTBALLCLUB_GABER_CREATE_USER.sql
sqlplus gaber/oracle @FOOTBALLCLUB_GABER_CREATE_TABLES.plsql
sqlplus gaber/oracle @FOOTBALLCLUB_GABER_CREATE_TABLES.sql
sqlplus system/oracle @GABER_RIGHTS.sql
for FILE_NAME in `ls ../data/FACT_FOOTBALLCLUB_GABER*.csv`
do
export BASE_NAME=`basename $FILE_NAME`
export JUST_NAME=`echo $BASE_NAME | sed -e 's/\..*//'`
echo $FILE_NAME
echo $BASE_NAME
echo $JUST_NAME
sed -e 's/"//g' ../data/$FILE_NAME | dos2unix >../data/FACT_FOOTBALLCLUB_GABER.csv
sqlldr gaber/oracle data=../data/FACT_FOOTBALLCLUB_GABER.csv control=gaber_footballclub_staging.ldr log=../log/$JUST_NAME.log bad=../log/$JUST_NAME.bad errors=20
sqlplus gaber/oracle <<!
INSERT INTO FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB
SELECT
ID,
Sum(NUMBER_OF_PLAYERS) as NUMBER_OF_PLAYERS,
Sum(GOALS_SHOT) as GOALS_SHOT,
Sum(GOALS_GOT) as GOALS_GOT,
Sum(YELLOW_CARDS) as YELLOW_CARDS,
Sum(RED_CARDS) as RED_CARDS,
Sum(MINUTES_PLAYED) as MINUTES_PLAYED,
DATE_PLAYED,
TEAM_ID,
TRAINER_ID
FROM FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB_STA
GROUP BY ID, DATE_PLAYED, TEAM_ID, TRAINER_ID;
exit;
!
done
gaber_footballclub_staging.ldr:
LOAD DATA
REPLACE
INTO TABLE FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB_STA
FIELDS TERMINATED BY ','
(
ID,
NUMBER_OF_PLAYERS,
GOALS_SHOT,
GOALS_GOT,
YELLOW_CARDS,
RED_CARDS,
MINUTES_PLAYED,
DATE_PLAYED DATE "YYYY-MM-DD",
TEAM_ID,
TRAINER_ID
)
FOOTBALLCLUB_GABER_CREATE_USER. sql:
DROP TABLESPACE TBS_GABER_DWH INCLUDING CONTENTS AND DATAFILES;
DROP USER FOOTBALLCLUB CASCADE;
DROP USER GABER CASCADE;
CREATE SMALLFILE TABLESPACE TBS_GABER_DWH DATAFILE
'/home/oracle/app/oracle/oradata/orcl/gaber_dwh01.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED,
'/home/oracle/app/oracle/oradata/orcl/gaber_dwh02.dbf' SIZE 200M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATE USER GABER PROFILE DEFAULT IDENTIFIED BY "oracle"
DEFAULT TABLESPACE TBS_GABER_DWH
QUOTA UNLIMITED ON TBS_GABER_DWH
TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;
GRANT SELECT ANY DICTIONARY TO GABER;
GRANT UNLIMITED TABLESPACE TO GABER;
GRANT CONNECT TO GABER;
GRANT RESOURCE TO GABER;
GRANT CREATE TABLE TO GABER;
GRANT CREATE ANY TABLE TO GABER;
GRANT CREATE PROCEDURE TO GABER;
GRANT CREATE ANY PROCEDURE TO GABER;
GRANT EXECUTE ANY PROCEDURE TO GABER;
GRANT CREATE SESSION TO GABER;
GRANT SELECT ANY TABLE TO GABER;
CREATE USER FOOTBALLCLUB PROFILE DEFAULT IDENTIFIED BY "oracle"
DEFAULT TABLESPACE TBS_GABER_DWH
TEMPORARY TABLESPACE TEMP
QUOTA UNLIMITED ON TBS_GABER_DWH
ACCOUNT LOCK;
GRANT CREATE TABLE TO FOOTBALLCLUB;
GRANT UNLIMITED TABLESPACE TO FOOTBALLCLUB;
exit;
FOOTBALLCLUB_GABER_CREATE_TABLES. sql:
call FOOTBALLCLUB.PROC_GABER_CREATE_TABLES('FOOTBALLCLUB');
exit;
FOOTBALLCLUB_GABT * * 10 * * * * 10 * * gaber_footballclub_staging.log: SQL* Загрузчик: выпуск 11.2.0.2.0 - выпуск 13 февраля 15:05:23 2020
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Control File: gaber_footballclub_staging.ldr
Data File: ../data/FACT_FOOTBALLCLUB_GABER.csv
Bad File: FACT_FOOTBALLCLUB_GABER.bad
Discard File: none specified
(Allow all discards)
Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array: 64 rows, maximum of 256000 bytes
Continuation: none specified
Path used: Conventional
Table FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB_STA, loaded from every logical record.
Insert option in effect for this table: REPLACE
Column Name Position Len Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
ID FIRST * ; CHARACTER
NUMBER_OF_PLAYERS NEXT * ; CHARACTER
GOALS_SHOT NEXT * ; CHARACTER
GOALS_GOT NEXT * ; CHARACTER
YELLOW_CARDS NEXT * ; CHARACTER
RED_CARDS NEXT * ; CHARACTER
MINUTES_PLAYED NEXT * ; CHARACTER
DATE_PLAYED NEXT * ; DATE YYYY-MM-DD
TEAM_ID NEXT * ; CHARACTER
TRAINER_ID NEXT * ; CHARACTER
SQL*Loader-926: OCI error while executing delete/truncate (due to REPLACE/TRUNCATE keyword) for table FOOTBALLCLUB.FACT_GABER_FOOTBALLCLUB_STA
ORA-01031: insufficient privileges