Сценарий TPT:
DEFINE JOB LD_CAN_IN_TRANSIT
DESCRIPTION 'Load canada retail in transit'
(
DEFINE SCHEMA schema_Canada_Retail_Intransit_Wrk
(
VOUCHER_DATE VARCHAR(50),
VOU_NO VARCHAR(50),
PO_NO VARCHAR(50),
DOC_QTY VARCHAR(50),
DESCRIP VARCHAR(50),
UPC VARCHAR(50),
STORE_ADDR6 VARCHAR(50),
COUNTRY VARCHAR(50),
VENDOR_CODE VARCHAR(50),
LINENUMBER VARCHAR(50)
);
DEFINE OPERATOR DDL_OPERATOR
TYPE DDL
ATTRIBUTES
(
VARCHAR PrivateLogName = 'ddl_log',
VARCHAR TdpId = '******',
VARCHAR LogonMech = 'LDAP',
VARCHAR UserName = '*************',
VARCHAR UserPassword = '*************',
VARCHAR ErrorList = '3807'
);
DEFINE OPERATOR dml_canada_retail_int
TYPE UPDATE
SCHEMA *
ATTRIBUTES
(
VARCHAR LogonMech = 'LDAP',
VARCHAR TdpId = '*******',
VARCHAR UserName = '************',
VARCHAR UserPassword = '********',
VARCHAR TargetTable = 'ODM_SCD_STG_T.abc' ,
VARCHAR LogTable = 'EIS_AUX_T.log_table',
VARCHAR ErrorTable1 = 'EIS_AUX_T.err_ET',
VARCHAR ErrorTable2 = 'EIS_AUX_T.err_RL'
VARCHAR DeleteTask = 'Y'
);
DEFINE OPERATOR prod_can_ret_int
TYPE DATACONNECTOR PRODUCER
SCHEMA schema_Canada_Retail_Intransit_Wrk
ATTRIBUTES
(
VARCHAR DirectoryPath= '<path_to_file>',
VARCHAR FileName = @data_file,
VARCHAR Format = 'Delimited',
VARCHAR OpenMode = 'Read',
VARCHAR TextDelimiter =',',
INTEGER SkipRows = 1
);
DEFINE OPERATOR load_can_ret_int
TYPE LOAD
SCHEMA *
ATTRIBUTES
(
VARCHAR LogonMech = 'LDAP',
VARCHAR TdpId = '********',
VARCHAR UserName = '*****************',
VARCHAR UserPassword = '***************',
VARCHAR TargetTable = 'ODM_SCD_STG_T.abc' ,
VARCHAR LogTable = 'EIS_AUX_T.log_table',
VARCHAR ErrorTable1 = 'EIS_AUX_T.err_ET',
VARCHAR ErrorTable2 = 'EIS_AUX_T.err_RL'
);
STEP Setup_Tables
(
APPLY
('DROP TABLE EIS_AUX_T.log_table;'),
('DROP TABLE EIS_AUX_T.err_ET;'),
('DROP TABLE EIS_AUX_T.err_RL;')
TO OPERATOR (DDL_OPERATOR);
);
STEP stSetup_Tables
(
APPLY
('DELETE ODM_SCD_STG_T.abc;')
TO OPERATOR (dml_canada_retail_int);
);
STEP stLOAD_CAN_RET_INT
(
APPLY
('<insert statement>')
TO OPERATOR (load_can_ret_int)
SELECT * FROM OPERATOR(prod_can_ret_int);
);
);
ОШИБКА:
Teradata Parallel Transporter Version 16.20.00.14 64-Bit
The global configuration file '/opt/teradata/client/16.20/tbuild/twbcfg.ini' is used.
Log Directory: /opt/teradata/client/16.20/tbuild/logs
Checkpoint Directory: /opt/teradata/client/16.20/tbuild/checkpoint
TPT_INFRA: TPT03624: Warning: tbuild -s option argument specifies the first job step;
no job steps will be skipped (unless this is a restarted job).
Job log: /opt/teradata/client/16.20/tbuild/logs/ec2-user-207.out
Job id is ec2-user-207, running on ip-10-179-114-26.us-west-2.compute.internal
Teradata Parallel Transporter SQL DDL Operator Version 16.20.00.14
DDL_OPERATOR: private log specified: ddl_log
DDL_OPERATOR: connecting sessions
DDL_OPERATOR: sending SQL requests
DDL_OPERATOR: TPT10508: RDBMS error 3807: Object 'EIS_AUX_T.err_ET' does not exist.
DDL_OPERATOR: TPT18046: Error is ignored as requested in ErrorList
DDL_OPERATOR: TPT10508: RDBMS error 3807: Object 'EIS_AUX_T.err_RL' does not exist.
DDL_OPERATOR: TPT18046: Error is ignored as requested in ErrorList
DDL_OPERATOR: disconnecting sessions
DDL_OPERATOR: Total processor time used = '0.012241 Second(s)'
DDL_OPERATOR: Start : Thu Jan 9 20:22:28 2020
DDL_OPERATOR: End : Thu Jan 9 20:22:28 2020
Job step Setup_Tables completed successfully
Teradata Parallel Transporter Update Operator Version 16.20.00.14
dml_canada_retail_int: private log not specified
dml_canada_retail_int: connecting sessions
dml_canada_retail_int: preparing target table(s)
**dml_canada_retail_int: TPT10508: RDBMS error 3524: The user does not have CREATE TABLE access to database ODM_SCD_STG_T.**
dml_canada_retail_int: disconnecting sessions
dml_canada_retail_int: Performance metrics:
dml_canada_retail_int: MB/sec in Acquisition phase: 0
dml_canada_retail_int: Elapsed time from start to Acquisition phase: 2 second(s)
dml_canada_retail_int: Elapsed time in Acquisition phase: 0 second
dml_canada_retail_int: Elapsed time in Application phase: 0 second
dml_canada_retail_int: Elapsed time from Application phase to end: < 1 second
dml_canada_retail_int: Total processor time used = '0.0397 Second(s)'
dml_canada_retail_int: Start : Thu Jan 9 20:22:28 2020
dml_canada_retail_int: End : Thu Jan 9 20:22:30 2020
Job step stSetup_Tables terminated (status 12)
Job ec2-user terminated (status 12)
Job start: Thu Jan 9 20:22:28 2020
Job end: Thu Jan 9 20:22:30 2020
Вопрос:
Цель состоит в том, чтобы создать таблицы ошибок в схеме EIS_AUX_T, и пользователь, которого я использую, имеет к нему доступ CREATE TABLE. Но я не уверен, зачем мне нужен CREATE TABLE доступ к базе данных (в данном случае ODM_SCD_STG_T), в которой существует целевая таблица. Процесс завершается с ошибкой на шаге Оператор загрузки.
1.Пользователь имеет доступ CREATE TABLE в базе данных EIS_AUX_T.
2.Пользователь НЕ имеет доступа CREATE TABLE в базе данных ODM_SCD_STG_T.
3.Пользователь имеет права DML в базе данных ODM_SCD_STG_T.
4. В базе данных EIS_AUX_T должны быть созданы таблицы ошибок и журналов.