By Gowthami | apps-dba.com | Oracle Exadata Series
Oracle Exadata runs specialized background processes on both the database nodes and the storage cells that are unique to the Exadata platform. Understanding these processes helps DBAs monitor system health, troubleshoot performance issues, and understand how Exadata offloads work from the database layer to the storage layer.
Key Processes on Exadata Storage Cells
| Process | Location | Function |
|---|---|---|
| cellsrv | Storage Cell | Core cell service: Smart Scan, Storage Index, offload processing |
| ms (Management Server) | Storage Cell | Cell management, CellCLI commands, monitoring |
| rs (Restart Server) | Storage Cell | Monitors and restarts cellsrv and ms if they fail |
| flmd (Flash Management Daemon) | Storage Cell | Manages Smart Flash Cache and Flash Log |
Key Processes on Database Nodes
| Process | Function |
|---|---|
| RDBMS standard processes | PMON, SMON, DBWn, LGWR, CKPT, ARCn as normal |
| ASM (Grid) | ASM instance managing Grid Disks exposed by cells |
| cssd (Cluster Synchronization) | Grid Infrastructure cluster heartbeat |
| crsd (Cluster Ready Services) | Manages cluster resources (DB, ASM, listeners) |
| ohasd | Oracle High Availability Services Daemon — top-level HA daemon |
Monitoring Cell Processes via CellCLI
-- SSH to a storage cell
ssh celladmin@cell01-exadata.example.com
-- Check cell services status
CellCLI> LIST CELL ATTRIBUTES name, status, cellsrvStatus, msStatus, rsStatus
-- Sample output:
-- cell01 online running running running
-- Get detailed cell info
CellCLI> DESCRIBE CELL
CellCLI> LIST CELL DETAIL
-- Check cell alerts (errors/warnings)
CellCLI> LIST ALERTHISTORY WHERE severity IN ('critical','warning')
ORDER BY beginTime DESC
Monitoring iDB Offload from Database Node
-- Check Smart Scan offload statistics (per session)
SELECT name, value
FROM v$mystat ms JOIN v$statname sn ON ms.statistic# = sn.statistic#
WHERE sn.name LIKE '%cell%'
AND value > 0
ORDER BY name;
-- Key stats to monitor:
-- cell physical IO bytes eligible for predicate offload
-- cell physical IO bytes returned by smart scan
-- cell scans (Exadata)
-- cell blocks helped by the bloom filter
-- Check offload efficiency ratio
SELECT ROUND(
(SELECT value FROM v$sysstat WHERE name =
'cell physical IO bytes returned by smart scan') /
NULLIF((SELECT value FROM v$sysstat WHERE name =
'cell physical IO bytes eligible for predicate offload'),0) * 100, 2
) AS offload_efficiency_pct
FROM dual;
Checking Process Health Across All Cells
-- Run commands across all cells simultaneously using dcli
# From DB node as root or grid user
dcli -g /opt/oracle.SupportTools/onecommand/cell_group cellcli -e "list cell attributes name, cellsrvStatus, msStatus"
-- Check for any cell process failures
dcli -g /opt/oracle.SupportTools/onecommand/cell_group cellcli -e "list alerthistory where severity='critical' and beginTime > '2024-01-01'"
-- Restart a cell service if needed (with Oracle Support guidance)
-- CellCLI> ALTER CELL RESTART SERVICES cellsrv
Flash Log and Flash Cache Processes
-- Flash Log: Exadata-specific redo log acceleration
-- Check Flash Log status
CellCLI> LIST FLASHLOG ATTRIBUTES name, size, status, efficiency
-- Flash Cache: Caches hot data blocks in flash
CellCLI> LIST FLASHCACHE ATTRIBUTES name, size, status, hitCount, missCount
-- Calculate Flash Cache hit rate
-- hitCount / (hitCount + missCount) * 100 = hit rate %
Summary
Exadata's background processes form a sophisticated two-tier architecture: database node processes handle SQL parsing and execution planning, while cell processes (especially cellsrv) perform the actual data processing via Smart Scan offloads. Monitoring both layers is essential for comprehensive Exadata performance management and troubleshooting.
Oracle Exadata - The Complete Guide
Deep dive into Exadata architecture, Smart Scan, cellsrv internals, and advanced tuning with Gowthami's complete guide.
Get the Book
No comments:
Post a Comment