Categories
Enhancing OCI Logging To Self-Service Troubleshooting Init Block Issues In OAC

Use Case:
Init block execution failures cause issues in OAC. Following is some of the common use cases:
1. Data level security not getting correctly / incorrect report data
2. Loading of the subject areas taking a long time while creating analysis
3. "504 Gateway Time Out" Errors
Available Troubleshooting Options:
1. Report’s Query log from Manage sessions - The query log does not capture the Init block execution even with LOGLEVEL set to 7.
2. Testing the Init blocks directly from the RPD in cloud mode - If there are many Init blocks, then it becomes difficult to test each Init block manually.
3. Usage tracking - Usage tracking table for Init blocks does not record the error if there is any failure.
4. Enabling OCI logging - It does not show the query result of the Init block queries (i.e.) success / failure. Even it fails, the error message is not captured.
Idea To Enable Self-Service Troubleshooting:
In OCI logging, we can add a status attribute within "additionalDetails" to show the Init block query result as shown below:
"##############################################\n-------------------- SQL Request, logical request hash:\n5154e5ff\nselect count(distinct amount_sold) from sh.products, sh.times, sh.sales\r\n\n"
{
"datetime": 1690826268511,
"logContent": {
"data": {
"additionalDetails": {“status”: “[nQSError: 60009] The user request exceeded the maximum query governing execution time.
[nQSError: 17001] Oracle Error code: 1013, message: ORA-01013: user requested cancel of current operation
at OCI call OCIStmtFetch.”},
"category": "query",
"ecid": "<ECID>",
"logLevel": "info",
"message": "##############################################\n-------------------- SQL Request, logical request hash:\<hash value>\nselect count(distinct amount_sold) from sh.products, sh.times, sh.sales\r\n\n",
"userId": ""
},
"id": "<id>",
"oracle": {
"compartmentid": "<OCID of compartment>",
"ingestedtime": "<timestamp>",
"loggroupid": "<OCID of log group>",
"logid": "<log id>",
"tenantid": "<OCID of tenant>"
},
"source": "<OAC Instance OCID>",
"specversion": "<version>",
"time": "<timestamp>",
"type": "com.oraclecloud.analytics.analyticsinstance.diagnostic"
},
"regionId": "<region>"
}
Comments
-
Hi ,
This is a good one to track the failures of Init-block issues specifically to cloud (OAC). We are facing scenarios where we difficult to trace the logs (self - service) from our side using usage tracking or any other ways to find the reasons for failure. Good to have the attribute or way to check the logs from customer(self-service).
0 -
Please note the following new feature available as part of March 2024 Update of OAC :
OCI Diagnostic Logs now captures Init Block queries and failure messages enabling customers to self-service any issues related to Init Block SQL queries, Init Block failures due to database connectivity issues, etc.
Doc Reference : https://docs.oracle.com/en/cloud/paas/analytics-cloud/acoci/administer-services.html#GUID-4B364390-912B-4765-AF39-5AE134FD7DB3
Queries: Initialization block issues with the initialization block query, timing and error details, and errors during initialization block execution.
0