Not sure what's your Oracle source table creation DDL, let's start from the general Index Naming rule.
1. If the table has PK, then replicate defines PK in target table. No Unique Index (UI) will be created in target table.
2. If the table has not PK, and there is only one Unique Index in source table (as you already know, Function-based indexes are not supported)
Replicate will create the same UI (columns list, same below) in target table. The UI name would be like <target Table Name> + "_PK"
3. If the table has not PK, and If there are multiple UIs in source table
Replicate defines only one index on the target table, by default it's the first UI (according to alphabetical order) of the source table. The UI name would be like <target Table Name> + "_PK"
If you choose a non-default UI/PK, then see (4) below.
4. If the table has not PK, and you choose KEY in Console GUI manaually (for example, the source table has not PK/UI, or you choose a non-default UI)
Replicate defines the index on target table, the UI name would be like
<taget Table Name>+"_"+<unixepoch format of current time>+"_PK"
By adding Unix Epoch time to make sure the UI name uniqueness. However Replicate will truncate the UI name length to 30. For example the Index name is "KITNOUI_T_1618495151441352_PK" if you run the task around 2021.04.15T21:56:00 where the table table name is defined as "KITNOUI_T".
Unfortunately, there is no explicit easy way to control the UI name. You may raise feature request if you want. To submit Feature Requests please use our Qlik Community "Product Insight and Ideas" forum.