Okay , here it is my way:
While developing ODI projects , refrain to create all tables i mean Master Rep. , Work Rep. and your ETL tables into same schema.Especially in rush hours , truncating one of your Master Rep. table instead of your ETL tables , could really give an serious headache at least for one day or maybe even more.For example create a user for Master Rep. called such as ODI_MASTER
and one for Work Rep. called such as ODI_WORK and lastly for your ETL stuff ODI_ETL.It will be much more convenient and of course safer for your development.Finally ,in your project sometimes you need check your log tables for some reason , so it is better give select right to your ODI_ETL user by running following script.
** connect as ODI_MASTER & ODI_WORK
FOR x IN (SELECT * FROM user_tables)
EXECUTE IMMEDIATE 'GRANT SELECT ON ' x.table_name ' TO ODI_ETL';