yes you can implement Type1 Type2 or Type 3. Let me try to explain Type 2 with time stamp.
Step :1 time stamp we are creating via shared container. it return system time and one key. For satisfying the lookup condition we are creating a key column by using the column generator.
Step 2: Our source is Data set and Lookup table is oracle OCI stage. by using the change capture stage we will find out the differences. the change capture stage will return a value for chage_code. based on return value we will find out whether this is for insert , Edit, or update. if it is insert we will modify with current timestamp and the old time stamp will keep as history.