Summary
Since March 2026, showoci generates repeated 503 ServiceUnavailable errors
for the oce_instance service on every compartment scan.
The root cause is that Oracle permanently shut down the Oracle Content
Management (OCE) control plane post March 1, 2026 following the official
End of Life declaration. The entire OCE section should be removed from showoci.
Root Cause
Oracle officially declared End of Life for Oracle Content Management Cloud
Services in December 2023. The last date of service was December 31, 2025.
Post March 1, 2026, Oracle force-terminated all OCM instances and purged
all data across all OCI tenancies and all regions globally.
From the official Oracle document:
"Oracle will force terminate all such OCM instances post March 1, 2026."
"Oracle will purge all the content and data across all OCM OCI Tenancies
post March 1, 2026."
Official References
Error in showoci log
The following error repeats for every compartment in the tenancy at
every run, adding significant noise to the logs with no actionable outcome:
Error in ShowOCIService:__load_paas_oce:
{
'target_service': 'oce_instance',
'status': 503,
'code': 'ServiceUnavailable',
'operation_name': 'list_oce_instances',
'request_endpoint':
'GET https://cp.oce/..ocp.oraclecloud.com/20190912/oceInstances',
'troubleshooting_tips':
'See https://docs.oracle.com/iaas/Content/API/References/apierrors.htm
#apierrors_503__503_serviceunavailable',
'message': 'Service Unavailable'
}
in compartment <compartment_name>
Verification
OCI Console → Developer Services → Content Management:
- EOL banner visible: "End of Life status, last date of service December 31, 2025"
- Instance list: infinite loading, 0 Items
OCI CLI:
oci oce oce-instance list --compartment-id <tenancy_ocid> --region <region>
# Result: TransientServiceError 503 ServiceUnavailable
Code to Remove
The OCE section spans 3 files. All references are safe to remove —
no other section depends on OCE data.
showoci_service.py
| Line |
Code |
| 23 |
Header comment — update to remove OCE reference |
| 230 |
C_PAAS_NATIVE_OCE = "oce" |
| 302 |
EXCLUDE_OCE = 'OCE' |
| 16334 |
oce_client = self.__create_client(oci.oce.OceInstanceClient, key=self.EXCLUDE_OCE) |
| 16355 |
self.__initialize_data_key(self.C_PAAS_NATIVE, self.C_PAAS_NATIVE_OCE) |
| 16379 |
paas[self.C_PAAS_NATIVE_OCE] += self.__load_paas_oce(oce_client, compartments) (serial execution) |
| 16403 |
future_PAAS_NATIVE_OCE = executor.submit(self.__load_paas_oce, oce_client, compartments) (parallel execution) |
| 16422 |
paas[self.C_PAAS_NATIVE_OCE] += next(as_completed([future_PAAS_NATIVE_OCE])).result() (parallel result) |
| 18046–18140 |
Entire __load_paas_oce() function |
showoci_data.py
| Line |
Code |
| 4564–4568 |
oce = self.service.search_multi_items(... C_PAAS_NATIVE_OCE ...) and paas_services['oce'] = oce |
showoci_output.py
| Line |
Code |
| 2603–2612 |
Screen output block if 'oce' in paas_services: print_header("OCE Native"...) |
| 3512–3515 |
Summary block if 'oce' in paas_services: array = [x for x in paas_services['oce']...] |
| 4541 |
csv_paas_oce = [] |
| 4750 |
self.__export_to_csv_file("paas_oce", self.csv_paas_oce) |
| 10235–10269 |
Entire __csv_paas_oce() function |
| 10516–10517 |
if 'oce' in data: self.__csv_paas_oce(...) |
Would you prefer to handle the fix directly, or shall I provide a Pull Request
covering all 3 files? @adizohar
Summary
Since March 2026, showoci generates repeated
503 ServiceUnavailableerrorsfor the
oce_instanceservice on every compartment scan.The root cause is that Oracle permanently shut down the Oracle Content
Management (OCE) control plane post March 1, 2026 following the official
End of Life declaration. The entire OCE section should be removed from showoci.
Root Cause
Oracle officially declared End of Life for Oracle Content Management Cloud
Services in December 2023. The last date of service was December 31, 2025.
Post March 1, 2026, Oracle force-terminated all OCM instances and purged
all data across all OCI tenancies and all regions globally.
From the official Oracle document:
Official References
Error in showoci log
The following error repeats for every compartment in the tenancy at
every run, adding significant noise to the logs with no actionable outcome:
Error in ShowOCIService:__load_paas_oce:
{
'target_service': 'oce_instance',
'status': 503,
'code': 'ServiceUnavailable',
'operation_name': 'list_oce_instances',
'request_endpoint':
'GET https://cp.oce/..ocp.oraclecloud.com/20190912/oceInstances',
'troubleshooting_tips':
'See https://docs.oracle.com/iaas/Content/API/References/apierrors.htm
#apierrors_503__503_serviceunavailable',
'message': 'Service Unavailable'
}
in compartment <compartment_name>
Verification
OCI Console → Developer Services → Content Management:
OCI CLI:
Code to Remove
The OCE section spans 3 files. All references are safe to remove —
no other section depends on OCE data.
showoci_service.pyC_PAAS_NATIVE_OCE = "oce"EXCLUDE_OCE = 'OCE'oce_client = self.__create_client(oci.oce.OceInstanceClient, key=self.EXCLUDE_OCE)self.__initialize_data_key(self.C_PAAS_NATIVE, self.C_PAAS_NATIVE_OCE)paas[self.C_PAAS_NATIVE_OCE] += self.__load_paas_oce(oce_client, compartments)(serial execution)future_PAAS_NATIVE_OCE = executor.submit(self.__load_paas_oce, oce_client, compartments)(parallel execution)paas[self.C_PAAS_NATIVE_OCE] += next(as_completed([future_PAAS_NATIVE_OCE])).result()(parallel result)__load_paas_oce()functionshowoci_data.pyoce = self.service.search_multi_items(... C_PAAS_NATIVE_OCE ...)andpaas_services['oce'] = oceshowoci_output.pyif 'oce' in paas_services: print_header("OCE Native"...)if 'oce' in paas_services: array = [x for x in paas_services['oce']...]csv_paas_oce = []self.__export_to_csv_file("paas_oce", self.csv_paas_oce)__csv_paas_oce()functionif 'oce' in data: self.__csv_paas_oce(...)Would you prefer to handle the fix directly, or shall I provide a Pull Request
covering all 3 files? @adizohar