Your 30-Day Oracle Database 19c Master Plan

Your 30-Day Oracle Database 19c Master Plan

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; and SELECT 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 SELECT statement. Understand how to use SELECT, FROM, and WHERE clauses to pull specific data from tables.
  • Exercise: Oracle comes with sample schemas like HR. Use the HR schema to select all employees from the employees table. Then, try to select only the employees in department_id 90.

Day 4: Filtering, Sorting, and Functions

  • Today’s Goal: Refine your data retrieval skills.
  • Task: Learn about ORDER BY for 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 JOIN and LEFT OUTER JOIN.
  • Exercise: Write a query that joins the employees and departments tables 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(), and MIN(). Learn how to use the GROUP BY clause to group rows and the HAVING clause 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), and DELETE (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), and DROP TABLE.
  • Exercise: Create a projects table with columns for project_id, project_name, start_date, and budget. Then, use ALTER TABLE to add a status column.

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, and CHECK.
  • Exercise: Add a PRIMARY KEY to your projects table on the project_id column. Add a CHECK constraint to ensure the budget is 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 projects table. 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 use DBMS_OUTPUT.PUT_LINE to 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 IN and OUT parameters.
  • Exercise: Create a procedure that accepts an employee_id and gives that employee a 10% salary raise. Create a function that accepts a department_id and 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 LOOP syntax, 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 BEFORE and AFTER triggers for INSERT, UPDATE, and DELETE events.
  • Exercise: Create a simple audit trigger on the employees table that inserts a row into an audit_log table 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 USER command. Understand the concept of roles and how to grant system privileges (CREATE SESSION) and object privileges (SELECT on a table) to users and roles.
  • Exercise: Create a new user named readonly_user. Create a role named readonly_role. Grant SELECT access on the hr.employees table 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_, and DBA_ views (e.g., USER_TABLES, ALL_OBJECTS).
  • Exercise: Use data dictionary views to find all tables owned by the HR schema. Find the definitions for all columns in the employees table.

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 WHERE clauses (e.g., last_name in employees). 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 WHERE clause 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 a COMMIT or ROLLBACK in session 1.

Day 20: Transaction Management

  • Today’s Goal: Master COMMIT, ROLLBACK, and SAVEPOINT.
  • Task: Deepen your understanding of database transactions. Ensure you are comfortable with how COMMIT makes changes permanent and ROLLBACK undoes them.
  • Exercise: Start a transaction, insert a row, create a SAVEPOINT, update another row, and then ROLLBACK to 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 like v$sga_dynamic_components and v$tablespace to 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 ARCHIVELOG mode, cold vs. hot backups, and the importance of the control file and redo logs.
  • Exercise: Check if your database is in ARCHIVELOG mode by running ARCHIVE 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 (expdp and impdp). This is the standard way to perform logical backups and move data between databases.
  • Exercise: Use expdp to export the HR schema to a dump file. Then, if you feel adventurous, use impdp to 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 DATABASE and LIST 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 RESTORE and RECOVER commands.

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.