Thank you very much Zach.
As you said it really needs feature service. So my final solution is:
1. Refer to the schema of survey form, create a feature class related to the main section and a table related to the repeatable section that in Oracle db are two tables.
2. Write a trigger in the table that can write data to other tables after data is inserted.
3. Create relationship with geoprocessing tool to build the relationship between the feature class and table based on the globalid field.
4. Create and publish a map service that has the feature class and table.
5. In Survey123 XLSForm settings tab, put the feature layer name as form_id, and feature service url as submission_url.
6. Now after click Submit button in Survey123 form, the data can be inserted into the hosted survey feature layer and the two tables. With the trigger in the Oracle db table, the data can also be inserted into any other table in db.
7. The trick is the name in the Survey123 XLSForm must be upper case because the field name in the Oracle db is upper case.
Above steps refer to following links:
Author a survey that matches a feature layer:
https://doc.arcgis.com/en/survey123/desktop/create-surveys/survey123withexistingfeatureservices.htm
https://support.esri.com/en/technical-article/000014835
https://community.esri.com/t5/arcgis-survey123-blog/working-with-existing-feature-services-in-arcgis...
Hope this can help others that have similar requirements.
Thanks,
Ming