Du infogar inte en tidsstämpel i ett visst format. Tidsstämplar (och datum) lagras i databasen med hjälp av en intern representation, som är mellan 7 och 11 byte beroende på typ och precision. Det finns mer om det i den här frågan bland annat.
Din klient eller applikation bestämmer hur värdet ska visas i en strängform som kan läsas av människor.
När du gör det:
to_timestamp(localtimestamp,'YYYY/MM/DD')
du konverterar implicit localtimestamp
till en sträng genom att använda din sessions NLS-inställningar och sedan konvertera tillbaka den till en tidsstämpel. Det kan för övrigt ändra värdet - att förlora precision - men kommer inte att ändra hur värdet lagras internt. I ditt fall leder oöverensstämmelsen mellan NLS-inställningen och formatet du anger till ett ORA-01830-fel.
Så din första infogning är korrekt (förutsatt att du verkligen vill ha sessionstiden, inte servertiden). Om du vill se de lagrade värdena i ett visst format ändrar sedan antingen din klientsessions NLS-inställningar eller formaterar det helst explicit när du frågar efter det, t.ex.:
select to_char(time, 'YYYY-MM-DD HH24:MI:SS.FF3') from activity_log