The purpose of this blog is to help Oracle Fusion Cloud users understand the fundamentals of Oracle Search- including how it works, when to run key processes such as ACL and ingestion, and the best practices to ensure optimal performance and data security.
1. What is Oracle Search
Oracle Search is a web-style search engine built into your Fusion Cloud applications. Instead of querying the entire database every time, it uses optimized indexes that store both data and security rules (ACLs). This enables fast, relevant, and secure search results across Redwood pages.
Key benefits include:·
- Faster search for a large volume of data.
- Fuzzy and synonyms search, which means the search will bring related data in case there is no exact match.
- Language-specific text search and analysis.
- Facets and aggregation feature, which means we can filter and aggregate data.
2. Key Oracle Search Concepts
Oracle Search operates using two major components: the Functional Index and the Data Security.
• Functional Index – Stores searchable data for each module, such as Person, Journeys, Orders, or Help Desk.
• Data Security – Each functional index has its data security embedded. Some of them use the ACL (Access Control List) index. Stores pre-computed security rules that define what each user is allowed to see. Some indexes use programmed filters based on seeded application data security.
3. Enabling Oracle Search
To enable Oracle Search, you need to follow the steps below:
| # | Step | HCM |
| 1 | Enable Oracle Search-related profile options | Navigate to Home > Setup and Maintenance > Manage Administrator Profile Values. Search for and review the following profile options. Set the values with the corresponding level if not set already.ORA_FND_SEARCH_EXT_ENABLED (Y)Ref- Link |
| 2 | Functional Index Ingestion | Run “ESS job to create index definition and perform initial ingest to OSCS” for specific indexes like “fa-hcm-person”, “fa-hcm-position”, etc…. Run this only once and only for the indexes required to enable Oracle Search for that module. Allow them to finish before jumping to the next step. |
| 3 | Data Security/Access control list (ACL) | After creating functional indices, run the Initial ACL Ingestion and schedule incremental ACL refresh processes. This modifies the data within the fa-hcm-acl index. Ref: Link |
| 4 | Enabling module-specific profile options **Not a required step for each module. Refer Product guide. | Enable profile options specific to LOVs, pages, etc. For ex: ORA_PER_ORACLE_SEARCH_WORKERSLOV_ENABLED*Directly enabling this profile without completing the above steps may result in no search results returned. |
4. Scenario-Based Use Cases
| Case: | Key Points | Which ACL/Data Security process to run | ACL Frequency | When to Run |
| First time enabling Oracle search across the enterprise. | Execute steps 1-4 as outlined in the previous table. For Cloud HCM, the ACL index must be created and run for all users. | HCM Access Control List Initial Ingestion (No parameter) (**This process creates the fa-hcm-acl index and then populates it with data. Therefore, it must be run initially to create the index and subsequently to update it. | Once | To be run in off business hours / cut-off period. |
| Enabling Oracle Search for this module for the first time, while it has already been enabled for one or more other modules. | Compute Users ACL by Event – Every 15 to 60 mins. Compute Users ACL (Parameter – Logged in users) – Every 30 to 120 mins. Compute Users with Large ACL (Action – Compute; User Population – All users with Large ACL) | Compute Users ACL (Parameter – All Users) *ACL Ingestion is not required. | Once | To be run in off business hours / cut-off period. |
| Business As Usual (BAU) or Day-to-day operations | Keep the index and ACL healthy. For HCM, make sure the profile option “PER_SEARCH_LOGIN_EVENT_PUB” is set to “ATOM”. This is required to supplement the Compute Users ACL by the Event process. | Compute Users ACL by Event – Every 15 to 60 mins Compute Users ACL (Parameter – Logged in users) – Every 30 to 120 mins. Compute Users with Large ACL (Action – Compute; User Population – All users with Large ACL) | Daily | Can be run during business hours. |
| Quarterly Upgrade | Any changes to the index structure are taken care of automatically, and indexes are rebuilt. No need to rebuild that post upgrade. | Existing scheduled ACL processes should be left untouched. | BAU | To be run in off business hours / cut-off period. |
| P2T | If a role impacting the majority population, like an Employee / Line Manager role has been modified and some new privileges have been added/removed, update data security and regenerate the grants. For HCM, execute the ACL job for all users. | Compute Users ACL (Parameter – All Users) | Once | To be run in off business hours / cut-off period. |
| If a role impacting a handful of population, like an admin role, has been modified and 20 Support and admin users have been assigned. | To be run in off business hours / cut-off period. | (**Stop BAU Incremental jobs.) Compute Users ACL (Parameter – All Users) | Once | To be run in off business hours / cut-off period. |
| Creation / Update of a role structure and the majority of users impacted | Creation / Update of a role structure and a handful of users impacted | Individual ACLs can be computed for a user via “Preview HCM Data Security.” | Once per user | Can be run during business hours. |
5. Common Pitfalls to Avoid
❌ Running ‘Initiate ACL Ingestion’ frequently- this deletes existing ACLs and breaks searches for all users.
❌ Running ‘Compute Users ACL (All Users)’ frequently – it’s resource-intensive and unnecessary except after P2T or index additions.
❌ Assuming ingestion is needed after upgrades – Oracle automatically re-ingests flagged indices during release updates.
6. Conclusion
Oracle Search underpins the Redwood user experience by enabling secure, efficient, and intelligent information retrieval. Maintaining timely ACL and ingestion updates, along with following best practices, ensures users consistently experience fast and accurate results across Fusion Cloud applications.
7. Useful Resources
- Oracle Search Implementation Guide
- CCC Session on Oracle Search Best Practices.
- MOS Doc ID 156773 – Search Index and ACL Maintenance
- Functional Search Diagnostic Reports (Person, Journeys, Work Structures)
- Cloud HCM & SCM CoE Blog: https://blogs.oracle.com/fusionhcmcoe

