Table Space Management   «Prev  Next»

Lesson 8

Oracle 26ai Tablespace Management and Resource Manager Conclusion

This module connected two responsibilities of an Oracle database administrator: managing the storage that holds application data and managing how application workloads compete for resources. Tablespace configuration determines where segments allocate space, how files grow, and which lifecycle operations are practical. Database Resource Manager determines how classified workloads share resources under an active policy. Effective administration requires understanding both responsibilities and recognizing which one applies to a particular problem.

In Oracle AI Database 26ai, these decisions also have a container scope. Application storage and consumer-group policies normally belong in the intended pluggable database (PDB), while some settings and resource allocations belong at the container database (CDB) level. Throughout the module, the recurring method was to identify the scope, inspect the existing configuration, make a deliberate change, and verify the result.

This conclusion brings the seven lessons together. Use it to review the concepts and administrative decisions, then return to the individual lessons for their prerequisites and worked commands. The examples are teaching configurations, not production sizing recommendations or a complete migration runbook.

1. Understand What Each Storage Layer Controls

The introduction to tablespace management established the relationship between logical storage and physical files. A tablespace provides a logical storage boundary. Permanent segments allocate extents within its datafiles, and each extent contains database blocks. A table, index, partition, or LOB can contribute separate storage requirements, so an application's tables are not necessarily its complete segment inventory.

A schema identifies ownership; a tablespace identifies storage. One schema can use several tablespaces, and several schemas can use the same tablespace when their privileges and quotas permit. Likewise, placing data and indexes in different tablespaces does not guarantee independent physical I/O when their files share the same underlying storage. Design logical boundaries for a stated administrative purpose and investigate performance at the relevant physical layer.

Permanent application storage, temporary storage, and undo serve different purposes. Temporary work can grow with concurrent sorts and other operations that spill to disk. Undo supports rollback and read consistency. SYSTEM and SYSAUX contain dictionary or component storage and require supported administration. A creation template for an ordinary application tablespace should not be applied indiscriminately to these specialized areas.

The bigfile or smallfile choice affects growth operations. A bigfile tablespace contains one datafile or tempfile; a smallfile tablespace can contain multiple files. A bigfile tablespace grows through its existing file, not by adding a second datafile. Inspect the actual configuration rather than assuming that a database creation template or another environment's defaults describe the database being administered.

2. Diagnose Capacity at the Controlling Layer

Several independent limits can prevent a segment from obtaining more space. A user can exhaust a tablespace quota while physical storage remains available. A file can reach its configured growth ceiling while the user remains below quota. PDB storage constraints or an exhausted storage pool can prevent growth even when autoextension is enabled. The corrective action depends on which condition actually applies.

Questions to separate during a capacity investigation
LayerQuestionEvidence to inspect
Schema allocationMay this owner allocate more space here?Tablespace quota and effective privileges, including UNLIMITED TABLESPACE.
File growthCan this file extend?Current size, AUTOEXTENSIBLE, configured maximum, and file model.
PDB capacityDoes a container-level storage constraint apply?The intended PDB's storage configuration and consumption.
Physical storageIs capacity actually available?Filesystem or ASM measurements and competing consumers.
Workload executionIs the problem resource contention rather than allocation?Active resource policy, session classification, waits, and workload measurements.

Autoextension provides a growth mechanism, not a reservation of future storage. Several tablespaces can depend on the same remaining capacity. Adding their potential maximum sizes together does not establish that the storage exists. Similarly, a quota is an allocation control, not permission to create an object and not a ceiling on every resource used by an application.

Interpret usage metrics with their units and denominator in mind. The block counts in DBA_TABLESPACE_USAGE_METRICS require the relevant tablespace block size for conversion to bytes. Its capacity measure can include potential autoextension constrained by applicable limits and available storage, rather than only bytes currently allocated to files. Combine these measurements with file configuration and storage-level evidence.

Capacity planning also needs a time dimension. Review growth trends, upcoming loads, index maintenance, retention changes, and the time required to provision additional storage. Temporary peaks can matter more than average daily growth. Useful alerts give the administrator enough time to investigate the actual constraint and complete the appropriate response.

3. Separate Extent Management from Segment Free Space

The locally managed tablespaces lesson distinguished controls that are often confused because their names contain similar words. Local extent management uses bitmaps in the tablespace's files to track extent allocation. Automatic Segment Space Management (ASSM) manages available space within eligible segments. Neither mechanism sets a schema quota or determines the physical file's maximum size.

AUTOALLOCATE lets Oracle select extent sizes. UNIFORM uses the specified uniform extent size. These choices govern extent allocation, while AUTOEXTEND and its NEXT setting govern datafile growth. An extent allocation and a file extension are different events: a segment can obtain an extent from space already available inside an existing file.

Local management makes manual free-extent coalescing unnecessary, but it does not eliminate all unused space or every reason to reorganize data. A segment can still contain sparsely populated blocks. Before attempting to reclaim storage, distinguish reusable segment space, free extents within the tablespace, and file space that can actually be released to the storage system.

Verification should follow the same separation. Inspect tablespace attributes in DBA_TABLESPACES, file capacity in DBA_DATA_FILES, and actual segment extents when investigating allocation behavior. A configuration query tells you which policy was selected; it does not, by itself, prove that the application's storage layout is efficient.

4. Protect Stored Data and Its Recovery Dependencies

The tablespace management and encryption lesson added protection to the storage design. Transparent Data Encryption (TDE) protects data at rest while allowing authorized applications to continue using SQL. An authorized query can still return readable information, so encryption complements access controls, auditing, and network protection.

Creating encrypted storage requires a usable TDE configuration for the intended PDB. An open root keystore alone does not establish that the application PDB has the required master key. Verify the tablespace's encryption state and actual cipher properties instead of treating a software upgrade or a successful creation command as sufficient evidence.

Recovery must include the keys needed to use the data. Protect keystore backups, retain historical keys required by older backups, and test recovery with those dependencies available. An encrypted datafile backup that cannot be decrypted in the recovery environment does not provide the intended protection. Exports, spooled query results, and other outputs also need their own protection decisions.

The lesson's ROWID discussion reinforced a separate distinction: locating a row is not the same as identifying a business record. Physical locators can change during storage operations. Use primary or unique keys for durable application identity rather than treating a saved ROWID as a permanent customer or transaction identifier.

5. Treat Transport as a Coordinated Operation

Transportable tablespaces move a suitable set of user tablespaces through their physical datafiles and matching metadata. The conventional workflow uses Data Pump for metadata and a separate transfer of every required datafile. Copying files alone does not register their objects in the destination, and a metadata dump alone does not replace those files.

Begin with the transport boundary. Tables, indexes, partitions, LOB storage, and relevant dependencies can span tablespaces. Run the transport-set check, inspect violations, resolve them, and repeat the check. The strict options used in the lesson make the intended containment test explicit. Passing that test does not certify every other source and target compatibility requirement.

For the conventional procedure, maintain a consistent source set through the read-only window, metadata export, and datafile copying. Transfer the dump and all required files, perform a supported conversion when required, and import at the destination using target-accessible file paths. Source and destination services, directory objects, account privileges, and storage permissions all need deliberate preparation.

Compatibility includes more than operating-system names. Review the actual platform endianness, release and compatibility requirements, character sets, block sizes, supported object types, and encryption dependencies. Different operating systems do not necessarily have different endianness. Matching endianness does not remove the remaining transport restrictions.

Complete the operation with target validation, application checks, a suitable final tablespace mode, and backup coverage. Subsequent changes at a writable source do not automatically propagate to the independent target copy. If the intended unit of movement is a whole PDB or a broader database, evaluate the corresponding migration method rather than extending a user-tablespace example beyond its scope.

6. Use READ ONLY as a Lifecycle Decision

The read-only tablespaces lesson explained how stable data can remain queryable while ordinary modifications to its stored contents are prevented. This is useful for closed historical periods and for the consistency window in conventional transport. READ ONLY and OFFLINE answer different requirements; taking storage offline is not the normal way to keep an archive available for reporting.

Before changing mode, inventory affected segments and application activity. Historical records may still receive late corrections. An otherwise writable application can also depend on an index or related segment in the tablespace being frozen. Coordinate loads, maintenance, and outstanding transactions, then verify that the state change completed.

Use DBA_TABLESPACES.STATUS to check the resulting mode. READ ONLY is the expected value after that transition; an online writable tablespace normally appears as ONLINE, not the literal text READ WRITE. The status columns in file views have different meanings and should not be substituted without understanding what they describe.

Read-only mode is not immutable retention storage. Authorized operations can still remove objects or restore write access. It also does not eliminate logging elsewhere in the database or guarantee faster queries. Access controls, recoverable backups, retention requirements, and query performance each need their own treatment.

Stable files can reduce repeated backup work, but only within a complete recovery policy. Retain usable copies and the necessary recovery metadata, check retention behavior, and review coverage after writes resume. An explicit backup option that skips read-only files does not prove a recoverable copy exists. Optional relocation to supported OCI Object Storage also has additional configuration, access, and performance requirements; it is not merely a tablespace mode change.

7. Match Resource Controls to the Workload Problem

The Database Resource Manager lesson moved from storage allocation to competing execution demands. A consumer group classifies related work. A directive specifies how an active plan treats that group. A stored plan must be activated, and application sessions must enter the intended groups, before its policy can achieve the desired result.

CPU allocation, CPU utilization ceilings, active-call limits, and degree-of-parallelism limits address different questions. Relative CPU allocation influences treatment during contention. A utilization ceiling can restrict consumption even when extra CPU is available. An active-call limit can queue additional work while connections remain open. A DOP limit bounds an operation's parallelism without guaranteeing parallel execution.

Lesson 6 illustrated a 70/20/10 percentage-style allocation. Lesson 7 implemented the same general priority relationship with SHARES values of 7:2:1. Neither representation should be read as fixed physical-core reservations. Lesson 7 also deliberately added a reporting utilization ceiling of 40%; that separate limit was not part of the earlier percentage illustration.

A CDB plan allocates resources among PDBs, while a PDB plan divides the resources available to that PDB among workloads. The PDB examples use a single-level policy without subplans. Interpret their settings within the broader resource configuration rather than assuming that a PDB allocation is an unconditional percentage of the physical host.

Mapping needs equal attention. Database user mappings work well for the lesson's separate application accounts, while shared-account connection pools may need reliable service or module attributes. Review priorities where multiple rules can match. OTHER_GROUPS provides fallback treatment for current consumer groups not represented in the active plan, including groups that are valid elsewhere.

8. Verify Policy Activation and Operational Results

The implementation lesson demonstrated a controlled sequence: inspect existing definitions, create a pending area, build the plan and directives, validate, submit, grant switching privileges, add mappings, activate, and verify. Submitting a new plan stores its configuration; it does not itself activate that plan.

The lab used PETSTORE sessions for WEBUSER and REPORT_USER sessions for MANAGER. Reporting received two shares, a 40% utilization ceiling, an active-call limit of four, and DOP four. Web and fallback groups received seven and one shares respectively, with DOP one. These settings illustrate policy dimensions, not a universal configuration for web applications.

Inspect stored directives, runtime plan state, and fresh application sessions separately. For the shares-based example, the directive view exposes the share value through MGMT_P1; the query labels it accordingly. Then assess representative simultaneous work. A plan that improves web response time but makes reporting completion unacceptable still requires adjustment.

Maintenance scheduling can change the operating context. A Scheduler window can specify a resource plan, but opening it does not launch every database job. Inspect the actual windows, time-zone context, enabled states, and assignments instead of assuming documented defaults apply. Check maintenance completion as well as application behavior.

After a runtime trial, restore the recorded previous plan when appropriate. That restoration does not remove submitted definitions, mappings, or grants. Any complete cleanup must account for those changes separately. Resource Manager cannot repair inefficient SQL or create hardware capacity, so use policy changes alongside evidence about the actual bottleneck.

Bring the Decisions Together

Consider a sales application with growing transaction data, closed historical periods, and daytime reports. First establish which schemas and segments use each tablespace, how files can grow, and what limits apply. Protect the data and its keys. If completed history can stop changing, review dependencies and establish an agreed read-only period with retained backup coverage.

If that history must move to another database, prepare a transport set and validate the destination. If reports compete with checkout work, classify those workloads and test a resource policy. Increasing CPU shares will not solve a quota failure; adding a datafile will not correct a reporting session mapped to the wrong consumer group. Choose the control that corresponds to the observed problem.

Document the intended PDB, original settings, changes, verification evidence, and recovery dependencies. This record helps the next administrator distinguish a deliberate limit from an accidental configuration and provides a basis for evaluating later changes.

Review Your Understanding

For practice, revisit the Transportable Tablespaces Exercise, Read-Only Tablespaces Quiz, Database Resource Manager Exercise, and DB Resource Manager Implementation Exercise. Each addresses a different part of the module's administrative workflow.

You should now be able to connect a storage or workload requirement to its controlling mechanism, identify the relevant container and prerequisites, and describe the evidence needed to confirm the result. Apply that method consistently: understand the requirement, inspect the environment, change the appropriate control, and verify the outcome.


Table Space Management Glossary

The following terms were defined in this module.
  1. Locally Managed Tablespace: a tablespace that manages its own storage information.
  2. Transportable Tablespace: a tablespace that can be copied (cloned) or moved (transported) from one Oracle database to another.
  3. Rowid: a hidden column in every row that contains the physical location of the row. A rowid never changes as long as the row exists.
  4. Restricted Rowid: a rowid in the format used prior to Oracle8.
  5. Extended Rowid: the Oracle format of a rowid. It contains a tablespace-relative address.
  6. Logical Rowid: a new form of rowid that uses the row's primary key values rather than its physical location to locate the row.
  7. UROWID: the universal rowid is a new datatype that can reference a traditional rowid, a logical rowid, and a rowid from a non-Oracle table.
  8. Consumer Group: a set of users defined within the Database Resource Manager.
The next module looks into improvements in SQL*Loader and table management tools and techniques.

SEMrush Software 8 SEMrush Banner 8