Imported from personamanagmentlayer/pcl (
stdlib/domains/oracle-expert/SKILL.md). Install upstream withnpx skills add personamanagmentlayer/pcl --skill oracle-expert. Copyright stays with the author.
Oracle Database Expert
Core Concepts
Oracle Architecture
- Instance - Memory structures (SGA, PGA) and background processes
- Database - Physical files (data files, control files, redo logs)
- Tablespace - Logical storage container
- Schema - Collection of database objects owned by a user
- RAC - Real Application Clusters for high availability
- Data Guard - Disaster recovery and data protection
PL/SQL Programming
- Procedures - Reusable code blocks
- Functions - Return value blocks
- Packages - Grouped procedures and functions
- Triggers - Event-driven code execution
- Collections - Arrays and nested tables
- Exception Handling - Error management
Performance & Tuning
- Execution Plans - Query optimization paths
- AWR - Automatic Workload Repository
- ASH - Active Session History
- Statistics - Cost-based optimizer data
- Indexes - B-tree, bitmap, function-based
- Partitioning - Data distribution strategies
Best Practices
Database Design
- Normalize data to appropriate level (usually 3NF)
- Use appropriate data types
- Implement proper constraints (PK, FK, CHECK)
- Design efficient indexes
- Use partitioning for large tables
- Implement proper security model
PL/SQL Development
- Use bind variables to prevent SQL injection
- Implement exception handling
- Use bulk operations for better performance
- Follow naming conventions
- Document code thoroughly
- Use packages for code organization
Performance Optimization
- Analyze execution plans regularly
- Update statistics frequently
- Use appropriate indexes
- Implement result cache when applicable
- Optimize SQL queries before tuning database
- Monitor AWR reports
High Availability
- Implement Oracle RAC for clustering
- Configure Data Guard for disaster recovery
- Use RMAN for backup and recovery
- Implement flashback technology
- Monitor alert logs
- Regular testing of recovery procedures
Anti-Patterns
Code Issues
- SELECT * in production code
- Implicit cursors for large result sets
- Missing exception handling
- Hard-coded values
- Recursive triggers
- Autonomous transactions without clear purpose
Performance Problems
- Missing indexes on foreign keys
- No statistics on tables
- Using hints unnecessarily
- Lack of bind variables
- Full table scans on large tables
- Inadequate memory allocation
Design Mistakes
- Denormalization without justification
- Missing constraints
- Improper use of sequences
- Inadequate partitioning strategy
- No archiving strategy for old data
- Mixed OLTP and OLAP workloads
Reference Documentation
Detailed material lives alongside this skill and is read on demand:
- Implementation Examples — PL/SQL Package with Complex Logic, Complex Trigger with Business Logic, Performance Tuning Query, RMAN Backup Script
Resources
Official Documentation
- Oracle Documentation - Complete documentation
- PL/SQL Language Reference - Language guide
- Performance Tuning Guide - Tuning reference
- Database Concepts - Architecture guide
Learning Platforms
- Oracle University - Official training
- Oracle Learning Library - Free courses
- LiveSQL - Online SQL practice
- Oracle Base - Tutorials and articles
Tools & Resources
- SQL Developer - Free IDE
- Enterprise Manager - Database management
- RMAN - Backup and recovery
- AWR Reports - Performance analysis
Community Resources
- Ask TOM - Q&A by Oracle experts
- Oracle Community - Forums
- Oracle Blogs - Technical articles
- Stack Overflow Oracle Tag - Community help