āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻĄā§āĻāĻž āĻāĻā§āĻ¸āĻā§āĻ°ā§āĻ¯āĻžāĻā§āĻ, āĻ°ā§āĻĒāĻžāĻ¨ā§āĻ¤āĻ° āĻāĻŦāĻ āĻ˛ā§āĻĄ āĻāĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻ āĻ¨ā§āĻā§āĻ āĻŦāĻŋāĻļā§āĻˇ āĻ¸āĻ°āĻā§āĻāĻžāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĨ¤ āĻāĻžāĻā§āĻ° āĻ¸āĻ°āĻā§āĻāĻžāĻŽāĻā§āĻ˛āĻŋāĻ° āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻŋ āĻ˛āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§, āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻāĻļā§āĻ§āĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ˛āĻāĻāĻŋāĻ¤ā§ āĻ¤āĻĨā§āĻ¯ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§ āĻā§āĻ˛āĻāĻŋ āĻāĻžāĻāĻāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āĻ¨ āĻŽāĻĄāĻŋāĻāĻ˛āĻā§āĻ˛āĻŋ (āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻāĻžāĻāĻž) āĻā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻŽā§āĻā§ā§ˇ āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻ āĻ¨āĻ¨ā§āĻ¯ āĻā§ āĻ˛āĻā§āĻāĻ¨āĨ¤
āĻāĻāĻŋāĻāĻ˛ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ¤āĻĨā§āĻ¯ āĻā§ āĻā§āĻŽāĻŋāĻāĻž āĻĒāĻžāĻ˛āĻ¨ āĻāĻ°ā§ āĻāĻ āĻĒā§āĻ°āĻļā§āĻ¨ā§āĻ° āĻāĻ¤ā§āĻ¤āĻ° āĻĻāĻŋāĻ¤ā§, āĻāĻŽāĻŋ āĻāĻ¤ āĻĻā§āĻ āĻŦāĻāĻ°ā§ āĻāĻāĻāĻŋ āĻŦāĻĄāĻŧ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋāĻā§ āĻļā§āĻ°ā§āĻŖā§āĻŦāĻĻā§āĻ§ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻĄā§āĻāĻžāĻŦā§āĻ¸ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻž āĻĨāĻžāĻāĻž, āĻ¸āĻāĻ¯ā§āĻ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž, āĻ¸ā§āĻļāĻ¨ āĻšā§āĻ¯āĻžāĻ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ āĻ¨ā§āĻ¤āĻ°ā§āĻā§āĻā§āĻ¤āĨ¤
āĻ¯ā§āĻā§āĻ¤āĻŋāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻ¯āĻŧā§āĻā§ āĻ¯ā§āĻŽāĻ¨ āĻā§āĻŦāĻŋāĻ˛ āĻā§ āĻ˛āĻā§āĻāĻ¨, āĻ
-āĻŦā§āĻ§ āĻŦāĻ¸ā§āĻ¤ā§, āĻŦāĻ¸ā§āĻ¤ā§āĻā§āĻ˛āĻŋāĻ¤ā§ āĻ
ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ā§āĻ° āĻ
āĻāĻžāĻŦ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§āĻā§ āĻ¸āĻŽāĻ¯āĻŧāĻŽāĻ¤ā§ āĻļā§āĻ°ā§ āĻ¨āĻžāĻ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻāĻŋ āĻšāĻŋāĻŽāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻ˛āĻā§āĻ˛ā§ āĻ āĻŋāĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻ˛āĻžāĻā§ āĻ¨āĻžāĨ¤ āĻāĻāĻāĻŋ āĻāĻžāĻ˛ ETL āĻ¤āĻžāĻĻā§āĻ° āĻŦā§āĻļāĻŋāĻ°āĻāĻžāĻ āĻ¨āĻŋāĻā§āĻ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻ¨āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻāĻāĻŋāĻ˛ āĻŦāĻžāĻāĻā§āĻ˛āĻŋ āĻĄā§āĻāĻžāĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻĄā§āĻāĻž āĻāĻ¤ā§āĻ¸āĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻŦā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻā§āĻ˛āĻŋ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧāĻ¤āĻž āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§ā§ˇ āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻŦāĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§.
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ
āĻ°ā§āĻ§ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻā§āĻ˛ā§āĻ° 48% āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻ˛āĨ¤
āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻ āĻ¤ā§āĻ¤ā§āĻ¯āĻŧāĻžāĻāĻļ āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ˛āĻāĻŋāĻ āĻŦāĻž āĻŽāĻĄā§āĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤, āĻāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋāĻ° āĻ
āĻ°ā§āĻ§ā§āĻā§āĻ°āĻ āĻŦā§āĻļāĻŋ āĻāĻāĻŋāĻ˛āĨ¤
āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻ āĻāĻ¤ā§āĻ°ā§āĻĨāĻžāĻāĻļā§āĻ°āĻ āĻāĻŽ āĻāĻžāĻ¸ā§āĻ āĻļāĻŋāĻĄāĻŋāĻāĻ˛āĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻāĻŋāĻ¤, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ 18% āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋāĨ¤
āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻāĻžāĻŦā§, āĻāĻā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§ 22% āĻāĻāĻŋāĻ˛, āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻāĻļā§āĻ§āĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻā§āĻ¯āĻŧā§ āĻŦā§āĻļāĻŋ āĻŽāĻ¨ā§āĻ¯ā§āĻ āĻāĻŦāĻ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤ āĻāĻā§āĻ˛ā§ āĻ¸āĻĒā§āĻ¤āĻžāĻšā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻāĻŦāĻžāĻ° āĻšāĻ¯āĻŧāĨ¤ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻ˛ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨āĻ āĻāĻā§āĨ¤
āĻāĻāĻž āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¯ā§ ETL āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻā§āĻˇāĻŖ āĻāĻžāĻ°ā§āĻ¯āĻāĻ° āĻšāĻŦā§ āĻ¯āĻāĻ¨ āĻ˛āĻā§ āĻ¯āĻ¤āĻāĻž āĻ¸āĻŽā§āĻāĻŦ āĻ¨āĻŋāĻ°ā§āĻā§āĻ˛āĻāĻžāĻŦā§ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻā§āĻ¸ āĻā§āĻāĻā§ āĻĒā§āĻ¤ā§ āĻ¨ā§āĻ¯ā§āĻ¨āĻ¤āĻŽ āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨āĨ¤
āĻāĻžāĻ°ā§āĻ¯āĻāĻ°ā§ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ
ETL āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ āĻāĻŽāĻŋ āĻā§ āĻĻā§āĻāĻ¤ā§ āĻāĻžāĻ?
āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨ - āĻ¯āĻāĻ¨ āĻ¤āĻŋāĻ¨āĻŋ āĻāĻžāĻ āĻļā§āĻ°ā§ āĻāĻ°ā§āĻ¨,
āĻā§āĻ¸ - āĻ¤āĻĨā§āĻ¯ āĻā§āĻ¸,
āĻ¸ā§āĻ¤āĻ° - āĻā§āĻ¨ āĻ¸ā§āĻ¤āĻ°ā§āĻ° āĻ¸ā§āĻā§āĻ°ā§āĻ āĻ˛ā§āĻĄ āĻšāĻā§āĻā§,
ETL āĻāĻžāĻā§āĻ° āĻ¨āĻžāĻŽ - āĻāĻĒāĻ˛ā§āĻĄ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ, āĻ¯āĻž āĻ
āĻ¨ā§āĻ āĻā§āĻ āĻ§āĻžāĻĒ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ āĻŋāĻ¤,
āĻ§āĻžāĻĒ āĻ¸āĻāĻā§āĻ¯āĻž - āĻ¸āĻā§āĻāĻžāĻ˛āĻŋāĻ¤ āĻĒāĻĻāĻā§āĻˇā§āĻĒā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž,
āĻĒā§āĻ°āĻāĻžāĻŦāĻŋāĻ¤ āĻ¸āĻžāĻ°āĻŋ - āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§ āĻāĻ¤ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§,
āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ - āĻāĻ¤āĻā§āĻˇāĻŖ āĻ˛āĻžāĻā§,
āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ - āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻ āĻāĻā§ āĻāĻŋ āĻ¨āĻž: āĻ āĻŋāĻ āĻāĻā§, āĻ¤ā§āĻ°ā§āĻāĻŋ, āĻāĻ˛āĻā§, āĻšā§āĻ¯āĻžāĻ
āĻŦāĻžāĻ°ā§āĻ¤āĻž - āĻļā§āĻˇ āĻ¸āĻĢāĻ˛ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻŦāĻž āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻŋāĻŦāĻ°āĻŖāĨ¤
āĻāĻ¨ā§āĻā§āĻ°āĻŋāĻā§āĻ˛āĻŋāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§, āĻāĻĒāĻ¨āĻŋ āĻāĻāĻāĻŋ āĻāĻŽā§āĻ˛ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨āĨ¤ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻĻāĻ¸ā§āĻ¯āĻĻā§āĻ° āĻāĻŋāĻ āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¨āĻž āĻĨāĻžāĻā§, āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋāĻ āĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻ¨ā§āĻāĨ¤
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻāĻ¨āĻžāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻāĻāĻžāĻŦā§ āĻ¨āĻŋāĻ°ā§āĻĻā§āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻ¨āĻ āĻāĻāĻ¨āĻ āĻāĻāĻŋ āĻāĻā§ āĻ¯ā§ āĻŽāĻ¨āĻŋāĻāĻ°āĻŋāĻ āĻā§āĻ˛ āĻ¨āĻŋāĻā§āĻ āĻāĻžāĻ āĻāĻ°ā§ āĻ¨āĻžāĨ¤ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻāĻāĻāĻŋ āĻāĻŋāĻ (āĻāĻŋāĻ) āĻāĻ˛ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ, āĻ¯āĻžāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§ āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
ETL āĻŽāĻ¨āĻŋāĻāĻ°āĻŋāĻ āĻā§āĻŦāĻŋāĻ˛
ETL āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ˛āĻŋāĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻĻā§āĻļā§āĻ¯ āĻ¯āĻĨā§āĻˇā§āĻāĨ¤
āĻāĻāĻŋ āĻāĻ°āĻ¤ā§, āĻāĻĒāĻ¨āĻŋ āĻĢāĻŋāĻ°ā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨
āĻĄāĻŋāĻĄāĻŋāĻāĻ˛ āĻā§āĻŦāĻŋāĻ˛
CREATE TABLE UTL_JOB_STATUS (
/* Table for logging of job execution log. Important that the job has the steps ETL_START and ETL_END or ETL_ERROR */
UTL_JOB_STATUS_ID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
SID INTEGER NOT NULL DEFAULT -1, /* Session Identificator. Unique for every Run of job */
LOG_DT INTEGER NOT NULL DEFAULT 0, /* Date time */
LOG_D INTEGER NOT NULL DEFAULT 0, /* Date */
JOB_NAME TEXT NOT NULL DEFAULT 'N/A', /* Job name like JOB_STG2DM_GEO */
STEP_NAME TEXT NOT NULL DEFAULT 'N/A', /* ETL_START, ... , ETL_END/ETL_ERROR */
STEP_DESCR TEXT, /* Description of task or error message */
UNIQUE (SID, JOB_NAME, STEP_NAME)
);
INSERT INTO UTL_JOB_STATUS (UTL_JOB_STATUS_ID) VALUES (-1);
DDL āĻĻā§āĻā§āĻ¨/āĻ°āĻŋāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§āĻ¨
CREATE VIEW IF NOT EXISTS UTL_JOB_STATUS_V
AS /* Content: Package Execution Log for last 3 Months. */
WITH SRC AS (
SELECT LOG_D,
LOG_DT,
UTL_JOB_STATUS_ID,
SID,
CASE WHEN INSTR(JOB_NAME, 'FTP') THEN 'TRANSFER' /* file transfer */
WHEN INSTR(JOB_NAME, 'STG') THEN 'STAGE' /* stage */
WHEN INSTR(JOB_NAME, 'CLS') THEN 'CLEANSING' /* cleansing */
WHEN INSTR(JOB_NAME, 'DIM') THEN 'DIMENSION' /* dimension */
WHEN INSTR(JOB_NAME, 'FCT') THEN 'FACT' /* fact */
WHEN INSTR(JOB_NAME, 'ETL') THEN 'STAGE-MART' /* data mart */
WHEN INSTR(JOB_NAME, 'RPT') THEN 'REPORT' /* report */
ELSE 'N/A' END AS LAYER,
CASE WHEN INSTR(JOB_NAME, 'ACCESS') THEN 'ACCESS LOG' /* source */
WHEN INSTR(JOB_NAME, 'MASTER') THEN 'MASTER DATA' /* source */
WHEN INSTR(JOB_NAME, 'AD-HOC') THEN 'AD-HOC' /* source */
ELSE 'N/A' END AS SOURCE,
JOB_NAME,
STEP_NAME,
CASE WHEN STEP_NAME='ETL_START' THEN 1 ELSE 0 END AS START_FLAG,
CASE WHEN STEP_NAME='ETL_END' THEN 1 ELSE 0 END AS END_FLAG,
CASE WHEN STEP_NAME='ETL_ERROR' THEN 1 ELSE 0 END AS ERROR_FLAG,
STEP_NAME || ' : ' || STEP_DESCR AS STEP_LOG,
SUBSTR( SUBSTR(STEP_DESCR, INSTR(STEP_DESCR, '***')+4), 1, INSTR(SUBSTR(STEP_DESCR, INSTR(STEP_DESCR, '***')+4), '***')-2 ) AS AFFECTED_ROWS
FROM UTL_JOB_STATUS
WHERE datetime(LOG_D, 'unixepoch') >= date('now', 'start of month', '-3 month')
)
SELECT JB.SID,
JB.MIN_LOG_DT AS START_DT,
strftime('%d.%m.%Y %H:%M', datetime(JB.MIN_LOG_DT, 'unixepoch')) AS LOG_DT,
JB.SOURCE,
JB.LAYER,
JB.JOB_NAME,
CASE
WHEN JB.ERROR_FLAG = 1 THEN 'ERROR'
WHEN JB.ERROR_FLAG = 0 AND JB.END_FLAG = 0 AND strftime('%s','now') - JB.MIN_LOG_DT > 0.5*60*60 THEN 'HANGS' /* half an hour */
WHEN JB.ERROR_FLAG = 0 AND JB.END_FLAG = 0 THEN 'RUNNING'
ELSE 'OK'
END AS STATUS,
ERR.STEP_LOG AS STEP_LOG,
JB.CNT AS STEP_CNT,
JB.AFFECTED_ROWS AS AFFECTED_ROWS,
strftime('%d.%m.%Y %H:%M', datetime(JB.MIN_LOG_DT, 'unixepoch')) AS JOB_START_DT,
strftime('%d.%m.%Y %H:%M', datetime(JB.MAX_LOG_DT, 'unixepoch')) AS JOB_END_DT,
JB.MAX_LOG_DT - JB.MIN_LOG_DT AS JOB_DURATION_SEC
FROM
( SELECT SID, SOURCE, LAYER, JOB_NAME,
MAX(UTL_JOB_STATUS_ID) AS UTL_JOB_STATUS_ID,
MAX(START_FLAG) AS START_FLAG,
MAX(END_FLAG) AS END_FLAG,
MAX(ERROR_FLAG) AS ERROR_FLAG,
MIN(LOG_DT) AS MIN_LOG_DT,
MAX(LOG_DT) AS MAX_LOG_DT,
SUM(1) AS CNT,
SUM(IFNULL(AFFECTED_ROWS, 0)) AS AFFECTED_ROWS
FROM SRC
GROUP BY SID, SOURCE, LAYER, JOB_NAME
) JB,
( SELECT UTL_JOB_STATUS_ID, SID, JOB_NAME, STEP_LOG
FROM SRC
WHERE 1 = 1
) ERR
WHERE 1 = 1
AND JB.SID = ERR.SID
AND JB.JOB_NAME = ERR.JOB_NAME
AND JB.UTL_JOB_STATUS_ID = ERR.UTL_JOB_STATUS_ID
ORDER BY JB.MIN_LOG_DT DESC, JB.SID DESC, JB.SOURCE;
āĻāĻ¸āĻāĻŋāĻāĻāĻ˛ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻšāĻā§āĻā§ āĻāĻāĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸ā§āĻļāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¸āĻŽā§āĻāĻŦ āĻāĻŋāĻ¨āĻž
SELECT SUM (
CASE WHEN start_job.JOB_NAME IS NOT NULL AND end_job.JOB_NAME IS NULL /* existed job finished */
AND NOT ( 'y' = 'n' ) /* force restart PARAMETER */
THEN 1 ELSE 0
END ) AS IS_RUNNING
FROM
( SELECT 1 AS dummy FROM UTL_JOB_STATUS WHERE sid = -1) d_job
LEFT OUTER JOIN
( SELECT JOB_NAME, SID, 1 AS dummy
FROM UTL_JOB_STATUS
WHERE JOB_NAME = 'RPT_ACCESS_LOG' /* job name PARAMETER */
AND STEP_NAME = 'ETL_START'
GROUP BY JOB_NAME, SID
) start_job /* starts */
ON d_job.dummy = start_job.dummy
LEFT OUTER JOIN
( SELECT JOB_NAME, SID
FROM UTL_JOB_STATUS
WHERE JOB_NAME = 'RPT_ACCESS_LOG' /* job name PARAMETER */
AND STEP_NAME in ('ETL_END', 'ETL_ERROR') /* stop status */
GROUP BY JOB_NAME, SID
) end_job /* ends */
ON start_job.JOB_NAME = end_job.JOB_NAME
AND start_job.SID = end_job.SID
āĻā§āĻŦāĻŋāĻ˛ āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯:
- āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻļā§āĻ°ā§ āĻāĻŦāĻ āĻļā§āĻˇ ETL_START āĻāĻŦāĻ ETL_END āĻĒāĻĻāĻā§āĻˇā§āĻĒāĻā§āĻ˛āĻŋ āĻ āĻ¨ā§āĻ¸āĻ°āĻŖ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§
- āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻāĻ° āĻŦāĻŋāĻŦāĻ°āĻŖ āĻ¸āĻš ETL_ERROR āĻ§āĻžāĻĒāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤
- āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻā§āĻ¤ āĻĄā§āĻāĻžāĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻšāĻžāĻāĻ˛āĻžāĻāĻ āĻāĻ°āĻž āĻāĻāĻŋāĻ¤, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻ¤āĻžāĻ°āĻāĻžāĻāĻŋāĻšā§āĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§
- force_restart=y āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻāĻ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻāĻ āĻ¸āĻŽāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§, āĻāĻāĻŋ āĻāĻžāĻĄāĻŧāĻž āĻ¸ā§āĻļāĻ¨ āĻ¨āĻŽā§āĻŦāĻ°āĻāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§ āĻāĻžāĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧ
- āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŽā§āĻĄā§, āĻāĻĒāĻ¨āĻŋ āĻ¸āĻŽāĻžāĻ¨ā§āĻ¤āĻ°āĻžāĻ˛āĻāĻžāĻŦā§ āĻāĻāĻ āĻĄā§āĻāĻž āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻāĻžāĻ˛āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĻ¨ āĻ¨āĻž
āĻāĻāĻāĻŋ āĻā§āĻŦāĻŋāĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻžāĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ˛āĻžāĻĒāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ°ā§āĻĒ:
- āĻāĻ˛āĻŽāĻžāĻ¨ ETL āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸ā§āĻļāĻ¨ āĻ¨āĻŽā§āĻŦāĻ° āĻĒāĻžāĻāĻ¯āĻŧāĻž
- āĻā§āĻŦāĻŋāĻ˛ā§ āĻ˛āĻ āĻāĻ¨ā§āĻā§āĻ°āĻŋ āĻĸā§āĻāĻžāĻ¨
- āĻāĻāĻāĻŋ ETL āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻļā§āĻˇ āĻ¸āĻĢāĻ˛ āĻ°ā§āĻāĻ°ā§āĻĄ āĻĒāĻžāĻāĻ¯āĻŧāĻž
āĻāĻ°āĻžāĻāĻ˛ āĻŦāĻž āĻĒā§āĻ¸ā§āĻāĻā§āĻ°ā§āĻ¸ā§āĻ° āĻŽāĻ¤ā§ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§, āĻāĻ āĻ
āĻĒāĻžāĻ°ā§āĻļāĻ¨āĻā§āĻ˛āĻŋ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ sqlite-āĻāĻ° āĻāĻāĻāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨, āĻāĻŦāĻ āĻāĻ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻāĻŋ
āĻāĻĒāĻ¸āĻāĻšāĻžāĻ°
āĻ¸ā§āĻ¤āĻ°āĻžāĻ, āĻĄā§āĻāĻž āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻā§āĻ˛ā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻžāĻā§āĻ˛āĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻāĻž-āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻā§āĻŽāĻŋāĻāĻž āĻĒāĻžāĻ˛āĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻĻā§āĻ°ā§āĻ¤ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¤āĻžāĻĻā§āĻ° āĻ¸āĻ°ā§āĻŦā§āĻ¤ā§āĻ¤āĻŽ āĻŦāĻ˛āĻž āĻāĻ āĻŋāĻ¨āĨ¤ āĻ¯āĻāĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻāĻāĻļā§āĻ° āĻāĻžāĻāĻžāĻāĻžāĻāĻŋ, āĻ¤āĻāĻ¨ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻāĻāĻŋ āĻāĻāĻŋāĻ˛ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧāĨ¤
āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻāĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒ āĻāĻāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽā§āĻāĻžāĻŦā§āĻ¯ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§āĻ° āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°ā§ āĻā§āĻ āĻ¸āĻāĻā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻāĻžāĻāĻĒāĻāĻŋ āĻāĻŋāĻāĻ˛ā§āĻ¯āĻžāĻŦā§ āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ
āĻāĻ¤ā§āĻ¸: www.habr.com