Learning Oracle Database can feel like a monumental task. As one of the most powerful and widely used database systems in the world, its depth and complexity can be intimidating. But with a structured plan, you can go from novice to knowledgeable in just one month. This 30-day master plan is designed to guide you through the essential concepts of Oracle Database 19c, from initial setup to advanced administration.
This guide breaks down the learning process into manageable daily tasks. Each day builds on the last, combining theoretical knowledge with practical, hands-on exercises. Whether you’re a complete beginner or an IT professional looking to add a critical skill to your resume, this plan will provide the roadmap you need. Let’s begin your journey to becoming an Oracle Database pro.
Week 1: The Foundation – Installation, Architecture, and Basic SQL
The first week is all about setting up your environment and understanding the core components of an Oracle Database. You’ll get comfortable with the basic architecture and start speaking the language of databases: SQL.
Day 1: Installation and Setup
- Today’s Goal: Get your Oracle 19c environment up and running.
- Task: Download and install Oracle Database 19c. It’s free and perfect for learning. Also, install Oracle SQL Developer, the primary tool you’ll use to interact with the database.
- Exercise: Once installed, connect to the database using SQL Developer. Familiarize yourself with the interface and confirm you can connect to the pluggable database (DB1).
Day 2: Oracle Architecture Fundamentals
- Today’s Goal: Understand the key components of the Oracle Database architecture.
- Task: Read about the logical and physical structures. Focus on understanding the difference between the instance (SGA, PGA, background processes) and the database (datafiles, control files, redo log files).
- Exercise: In SQL Developer, run queries to view some of these components. For example,
SELECT name FROM v$datafile;andSELECT member FROM v$logfile;.
Day 3: Introduction to SQL and the SELECT Statement
- Today’s Goal: Write your first queries to retrieve data.
- Task: Learn the basic syntax of the
SELECTstatement. Understand how to useSELECT,FROM, andWHEREclauses to pull specific data from tables. - Exercise: Oracle comes with sample schemas like
HR. Use theHRschema to select all employees from theemployeestable. Then, try to select only the employees indepartment_id90.
Day 4: Filtering, Sorting, and Functions
- Today’s Goal: Refine your data retrieval skills.
- Task: Learn about
ORDER BYfor sorting results. Explore single-row functions for manipulating strings (UPPER,LOWER), numbers (ROUND), and dates (SYSDATE). - Exercise: Write a query to get a list of employees hired in the last 20 years, sorted by their hire date. Display their last names in all uppercase.
Day 5: Joining Tables
- Today’s Goal: Combine data from multiple tables.
- Task: Understand the concept of primary and foreign keys. Learn the syntax for
INNER JOINandLEFT OUTER JOIN. - Exercise: Write a query that joins the
employeesanddepartmentstables to show each employee’s name and their corresponding department name.
Day 6: Grouping Data with GROUP BY
- Today’s Goal: Learn to aggregate and summarize data.
- Task: Study aggregate functions like
COUNT(),SUM(),AVG(),MAX(), andMIN(). Learn how to use theGROUP BYclause to group rows and theHAVINGclause to filter groups. - Exercise: Write a query to find out how many employees are in each department. Then, modify it to show only departments with more than 5 employees.
Day 7: DML – INSERT, UPDATE, DELETE
- Today’s Goal: Learn how to modify data in your tables.
- Task: Understand the syntax and purpose of Data Manipulation Language (DML) commands:
INSERT(add new rows),UPDATE(modify existing rows), andDELETE(remove rows). - Exercise: Create a simple table called
my_test_table. Insert a few rows of data, update one of the rows, and then delete another.
Week 2: Stepping Up – Data Definition and PL/SQL
This week, you’ll learn how to create your own database objects and begin programming within the database using Oracle’s procedural language, PL/SQL.
Day 8: DDL – CREATE, ALTER, DROP
- Today’s Goal: Define your own database structures.
- Task: Learn Data Definition Language (DDL). Focus on
CREATE TABLE,ALTER TABLE(to add/modify columns), andDROP TABLE. - Exercise: Create a
projectstable with columns forproject_id,project_name,start_date, andbudget. Then, useALTER TABLEto add astatuscolumn.
Day 9: Constraints and Data Integrity
- Today’s Goal: Ensure your data is accurate and reliable.
- Task: Learn about the different types of constraints:
PRIMARY KEY,FOREIGN KEY,UNIQUE,NOT NULL, andCHECK. - Exercise: Add a
PRIMARY KEYto yourprojectstable on theproject_idcolumn. Add aCHECKconstraint to ensure thebudgetis always greater than zero.
Day 10: Views and Sequences
- Today’s Goal: Simplify data access and generate unique numbers.
- Task: Understand how views can be used to store complex queries and control data access. Learn about sequences for generating primary key values.
- Exercise: Create a sequence for your
projectstable. Then, create a view that only shows projects with a status of ‘IN PROGRESS’.
Day 11: Introduction to PL/SQL
- Today’s Goal: Write your first PL/SQL block.
- Task: Learn the basic structure of an anonymous PL/SQL block:
DECLARE,BEGIN,EXCEPTION,END. Understand how to declare variables and useDBMS_OUTPUT.PUT_LINEto display output. - Exercise: Write a simple PL/SQL block that declares a variable, assigns it a value, and prints “Hello, World!” along with the variable’s value.
Day 12: Stored Procedures and Functions
- Today’s Goal: Create reusable code blocks in the database.
- Task: Learn the difference between stored procedures and functions. Understand how to use
INandOUTparameters. - Exercise: Create a procedure that accepts an
employee_idand gives that employee a 10% salary raise. Create a function that accepts adepartment_idand returns the number of employees in it.
Day 13: Cursors in PL/SQL
- Today’s Goal: Process multiple rows of data within a PL/SQL block.
- Task: Learn about implicit and explicit cursors. Focus on the
CURSOR...FOR LOOPsyntax, as it is the simplest and most common way to loop through a result set. - Exercise: Write a procedure that uses a cursor to loop through all employees in a specific department and print their names and salaries.
Day 14: Triggers
- Today’s Goal: Execute code automatically in response to database events.
- Task: Understand how triggers work. Learn about
BEFOREandAFTERtriggers forINSERT,UPDATE, andDELETEevents. - Exercise: Create a simple audit trigger on the
employeestable that inserts a row into anaudit_logtable every time an employee’s salary is updated.
Week 3: The Administrator’s View – Users, Security, and Performance
This week transitions from development to administration. You’ll learn how to manage users, control access, and get a first look at performance tuning.
Day 15: User and Role Management
- Today’s Goal: Create users and manage their permissions.
- Task: Learn the
CREATE USERcommand. Understand the concept of roles and how to grant system privileges (CREATE SESSION) and object privileges (SELECTon a table) to users and roles. - Exercise: Create a new user named
readonly_user. Create a role namedreadonly_role. GrantSELECTaccess on thehr.employeestable to the role, and then grant the role to your new user.
Day 16: Understanding the Data Dictionary
- Today’s Goal: Learn how to find metadata about your database.
- Task: Explore the data dictionary views, which provide information about your database objects. Focus on
USER_,ALL_, andDBA_views (e.g.,USER_TABLES,ALL_OBJECTS). - Exercise: Use data dictionary views to find all tables owned by the
HRschema. Find the definitions for all columns in theemployeestable.
Day 17: Indexes and Performance
- Today’s Goal: Understand how indexes speed up queries.
- Task: Learn what an index is and why it’s important. Understand the difference between a B-tree index (the default) and other types.
- Exercise: Identify a column in a table that is frequently used in
WHEREclauses (e.g.,last_nameinemployees). Create an index on that column.
Day 18: Understanding the Query Optimizer and Execution Plans
- Today’s Goal: See how Oracle decides to run your queries.
- Task: Learn about the query optimizer and its role. Understand how to generate and read a basic execution plan to see the steps Oracle takes to retrieve data.
- Exercise: In SQL Developer, write a query and use the “Explain Plan” feature (often F10) to view its execution plan. Try it on a query with and without a
WHEREclause on an indexed column to see the difference.
Day 19: Concurrency and Locking
- Today’s Goal: Understand how Oracle handles multiple simultaneous users.
- Task: Read about transaction isolation and locking mechanisms. Understand the basics of how Oracle uses row-level locking to prevent conflicts.
- Exercise: Open two separate SQL Developer sessions connected as the same user. In session 1, update a row in a table but do not
COMMIT. In session 2, try to update the same row. Observe how session 2 has to wait. Then, issue aCOMMITorROLLBACKin session 1.
Day 20: Transaction Management
- Today’s Goal: Master
COMMIT,ROLLBACK, andSAVEPOINT. - Task: Deepen your understanding of database transactions. Ensure you are comfortable with how
COMMITmakes changes permanent andROLLBACKundoes them. - Exercise: Start a transaction, insert a row, create a
SAVEPOINT, update another row, and thenROLLBACKto the savepoint. Check the state of your data.
Day 21: Oracle Memory and Storage Structures
- Today’s Goal: Revisit architecture with a focus on memory and storage.
- Task: Dive deeper into the System Global Area (SGA), particularly the Buffer Cache and Shared Pool. Understand the purpose of tablespaces and datafiles.
- Exercise: Run queries against
v$views likev$sga_dynamic_componentsandv$tablespaceto see how memory and storage are allocated.
Week 4: Real-World Operations – Backup, Recovery, and Tools
The final week covers critical operational tasks that every database professional must know: ensuring the database is safe, recoverable, and manageable.
Day 22: Introduction to Backup and Recovery Concepts
- Today’s Goal: Understand why backup and recovery are the most important DBA tasks.
- Task: Learn the difference between a physical and logical backup. Understand concepts like
ARCHIVELOGmode, cold vs. hot backups, and the importance of the control file and redo logs. - Exercise: Check if your database is in
ARCHIVELOGmode by runningARCHIVE LOG LIST;.
Day 23: Using Data Pump for Logical Backups
- Today’s Goal: Perform a logical export and import of your data.
- Task: Learn about the Data Pump utility (
expdpandimpdp). This is the standard way to perform logical backups and move data between databases. - Exercise: Use
expdpto export theHRschema to a dump file. Then, if you feel adventurous, useimpdpto import it into another user’s schema.
Day 24: Introduction to RMAN (Recovery Manager)
- Today’s Goal: Learn about Oracle’s primary tool for physical backups.
- Task: Understand the role of RMAN. Learn basic commands like
BACKUP DATABASEandLIST BACKUP. - Exercise: Connect to RMAN from the command line and take a full backup of your XE database. Use
LIST BACKUP;to see information about the backup you just created.
Day 25: Recovery Scenarios
- Today’s Goal: Understand how to recover from data loss.
- Task: Read about different recovery scenarios, like recovering a lost datafile or performing a point-in-time recovery. This is more theoretical for now, but understanding the concepts is key.
- Exercise: Review the RMAN documentation for the
RESTOREandRECOVERcommands.
Day 26: Exploring Automatic Workload Repository (AWR) and Automatic Database Diagnostic Monitor (ADDM)
- Today’s Goal: Learn about Oracle’s built-in performance diagnostic tools.
- Task: Read about AWR (which collects performance stats) and ADDM (which analyzes the stats and gives recommendations). Note: These are Enterprise Edition features but are essential to know about.
- Exercise: Since XE doesn’t include these, watch a video or read a tutorial on how DBAs use AWR and ADDM reports to diagnose performance issues.
Day 27: Using SQL*Loader
- Today’s Goal: Load data from a flat file into a table.
- Task: Learn about SQL*Loader for bulk-loading data. Understand the control file syntax.
- Exercise: Create a simple comma-separated value (CSV) file with some data. Write a SQL*Loader control file and use it to load the data into a table.
Day 28: Introduction to Multitenant Architecture
- Today’s Goal: Understand the modern container architecture of Oracle 19c.
- Task: Learn the difference between a Container Database (CDB) and a Pluggable Database (PDB). Understand why this architecture is important for consolidation and management.
- Exercise: Practice switching between the root container (CDB$ROOT) and your pluggable database (XEPDB1) in SQL*Plus or SQLcl using
ALTER SESSION SET CONTAINER.
Day 29: Patching and Upgrading Concepts
- Today’s Goal: Learn how databases are maintained over their lifecycle.
- Task: Read about Oracle’s patching process (quarterly security patches) and the difference between patching and upgrading.
- Exercise: Go to Oracle Support’s website and look up the latest Release Update (RU) for Oracle 19c to see what a real patch looks like.
Day 30: Review and Next Steps
- Today’s Goal: Consolidate your knowledge and plan your future learning.
- Task: Review all the topics you’ve covered. Make notes on areas you found difficult and want to revisit.
- Plan: Your journey isn’t over! Consider specializing in performance tuning, backup and recovery, or security. Look into Oracle’s official certification paths (like the Oracle Certified Associate) to formalize your skills.
Conclusion
Congratulations! You’ve just completed an intensive 30-day journey through the world of Oracle Database 19c. You have built a solid foundation, from writing complex SQL queries to understanding the core administrative tasks that keep a database running. The key is to keep practicing. Set up a personal project, continue exploring the vast documentation, and engage with the Oracle community. You now have the skills and the roadmap to continue your growth and truly master this powerful technology.
Meta Title: Oracle 19c in 30 Days: A Master Learning Plan
Meta Description: Your step-by-step 30-day master plan for learning Oracle Database 19c. Go from beginner to pro with daily tasks, exercises, and key concepts.





