# Oracle Partitioning > Oracle Partitioning is a licensed option of Oracle Database Enterprise Edition. It divides large > tables and indexes into smaller, independently manageable segments called partitions, which are > accessed transparently through the table name. It is not a standalone product and it does not have > an API of its own. **Read this first.** There is one fact that determines how an agent should work with this provider: partitioning is READ-ONLY over REST and WRITE-ONLY over SQL. The Oracle REST Data Services (ORDS) Database API exposes exactly two partition operations, both GET. Creating, splitting, merging, exchanging, moving and dropping partitions is SQL DDL, is implicitly committed, and is NOT transactionally reversible. No published reversal window exists for any of it. Generated by API Evangelist on 2026-08-27 from artifacts in this repository. Provenance: the OpenAPI, the skills and the pricing are Oracle's own published documents, retrieved verbatim. ## Contract - [Oracle REST Data Services Database API (OpenAPI 3.0.0)](openapi/oracle-partitioning-ords-database-api-openapi.json): Published by Oracle at docs.oracle.com. Version 2026.03.26, 261 paths, 352 operations, 228 component schemas. Retrieved 2026-08-27, HTTP 200. - [Upstream spec URL](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/26.1/orrst/openapi.json) - [OpenAPI Overlay of API Evangelist enhancements](overlays/oracle-partitioning-ords-database-api-overlay.yaml): Annotations only. The original spec is unmodified. ### The partitioning operations - `GET /database/objects/partitions/` — Get all partitions in the database. Returns DBA_TAB_PARTITIONS or ALL_TAB_PARTITIONS depending on role at runtime. Requires the SQL Administrator or SQL Developer role. Supports `limit` and the `q` filter parameter. - `GET /database/objects/partitions/{table_owner},{table_name},{partition_name}` — Get a partition. There is no third partition operation. There is no subpartition endpoint. Nothing reports the partitioning TYPE (RANGE / LIST / HASH / REFERENCE / INTERVAL / AUTO) or the partition key column — those live in DBA_PART_TABLES, which this contract does not project. ### Base URL ORDS is customer-deployed. The published document declares no `servers` block. Oracle's own pattern is: https://////_/db-api/stable/ Do not assume a vendor-hosted host exists. It does not. ## Agent surfaces - [MCP servers](mcp/oracle-partitioning-mcp.yml): Oracle ships three — the ORDS `/mcp` streaming HTTPS endpoint on the operator's own host (disabled by default; enable with `ords --config /path/to/conf config set --global feature.mcp true`; OAuth 2.0 Bearer JWT; standalone deployments only), the SQLcl MCP server (`sql -mcp`, local stdio, SQLcl 25.2+), and the OCI Database Tools MCP Server (managed, serverless, OCI IAM). - [Tool crosswalk](mcp/oracle-partitioning-tool-crosswalk.yml): Only the Data Dictionary tag (29 of 352 operations) is reachable through a named MCP tool. `sql_run` has NO backing REST operation, so the two surfaces do not converge. - [Agent Skills published by Oracle](skills/_index.yml): - [Oracle Partitioning Strategy](skills/oracle-partitioning-partitioning-strategy.md) — Oracle's own skill for choosing and implementing a partitioning strategy. The most on-topic document here. - [Oracle Database root skill](skills/oracle-partitioning-SKILL.md) - [SQLcl MCP Server](skills/oracle-partitioning-sqlcl-mcp-server.md) - No A2A agent card is served on any Oracle host. Probed 2026-08-27; see below. ## Runtime semantics - [Conventions](conventions/oracle-partitioning-conventions.yml) — pagination (`limit` + `hasMore` + `links[]`), filtering (`q`), versioning, error envelope, and the reversibility block. - [Error catalog](errors/oracle-partitioning-problem-types.yml) — 400 / 404 / 409 only. NO 5xx is declared anywhere in the contract. Three different error envelopes coexist. - [Authentication](authentication/oracle-partitioning-authentication.yml) — Basic, Bearer, OAuth2 (three flows, zero enumerated scopes). - [OAuth scopes](scopes/oracle-partitioning-scopes.yml) — none published; authorization is Oracle Database role based. - [Rate limits](rate-limits/oracle-partitioning-rate-limits.yml) — none published. No 429 response and no rate-limit headers appear anywhere in the 352-operation contract. - **No idempotency.** No Idempotency-Key or equivalent on any of the 54 POST operations. - **No dry-run mode.** Rehearse in a free local container instead — see the sandbox artifact. ## Data model - [Entity graph](data-model/oracle-partitioning-data-model.yml) — Partition belongs_to Table (via table_owner + table_name), Partition belongs_to Tablespace (via tablespace_name), Table has_many Partition. Composite partitioning is observable only as `subpartition_count`. ## Commercial - [Pricing](plans/oracle-partitioning-plans-pricing.yml) — perpetual licence, not an API plan. From Oracle's Technology Global Price List effective 2026-08-03: Partitioning is $230.00 per Named User Plus ($50.60/yr support) or $11,500.00 per Processor ($2,530.00/yr support), on top of Oracle Database Enterprise Edition. No free tier, no usage-based tier, no request quota. - [Sandbox / free environments](sandbox/oracle-partitioning-sandbox.yml) — Oracle AI Database Free container images, Always Free Autonomous AI Database, freesql.com, Oracle Live SQL. - [Packages / SDKs](packages/oracle-partitioning-packages.yml) — no partitioning SDK exists. The first-party libraries that reach it are the Oracle Database drivers (python-oracledb 4.0.2, node-oracledb 7.0.1) and the OCI SDKs. All current as of 2026-08-27. - [CLI](cli/oracle-partitioning-cli.yml) — SQLcl (`sql`) is the real partitioning surface; also `oci` and `ords`. ## Operations - [Lifecycle](lifecycle/oracle-partitioning-lifecycle.yml) — quarterly ORDS release train; URL carries the literal segment `stable`, so a contract version cannot be pinned. No Sunset or Deprecation headers. Advance deprecation notice published for ORDS 26.4. - [Changelog](changelog/oracle-partitioning-changelog.yml) — ORDS 26.1.0 (April 2026), 25.4.0 (January 2026). No change in the inspected releases touched the partitioning surface. - [Conformance](conformance/oracle-partitioning-conformance.yml) — OpenAPI 3.0.0, OAuth 2.0, JWT, MCP, OpenTelemetry, SPARQL 1.1, Open Service Broker. RFC 9457 is inspired, not conformant. - Status page: https://ocistatus.oraclecloud.com/ (OCI services; there is no status page for a customer-installed database option, and none is possible). - [Vulnerability disclosure](security/oracle-partitioning-vulnerability-disclosure.yml) — Oracle runs a published disclosure program and quarterly Critical Patch Updates. No bug bounty. No `/.well-known/security.txt` is served. - [Domain security](security/oracle-partitioning-domain-security.yml) — TLS 1.3, HSTS on www.oracle.com, SPF and DMARC (p=reject) on oracle.com, no DNSSEC. - [Well-known probe](well-known/oracle-partitioning-well-known.yml) — every path on every host returned 403 or 404 on 2026-08-27. Recorded as a measured absence. ## Documentation - [VLDB and Partitioning Guide — partitioning concepts](https://docs.oracle.com/en/database/oracle/oracle-database/19/vldbg/partition-concepts.html) - [Partitioning product page](https://www.oracle.com/database/technologies/partitioning.html) - [Oracle REST Data Services documentation](https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/) - [Oracle MCP servers](https://www.oracle.com/mcp/) - [Oracle Skills (GitHub)](https://github.com/oracle/skills)