Database AdministrationUnit 213 min read
DBMS & Oracle Architecture: Files, Roles, Security & Startup Modes
Unit 2 of Database Administration covers the core concepts of Database Management Systems (DBMS), Oracle’s layered architecture, key files (control, redo log, datafiles), DBA roles, security models, and database startup/shutdown modes with real-world examples and exam-focused explanations.
TAKEAWAYS:
- Oracle’s architecture is layered (memory, processes, files) and uses physical files (control files, redo logs, datafiles) to store critical metadata and transactions.
- A DBA’s role spans security (privileges, auditing), performance tuning, backup/recovery, and user management—critical for systems like eSewa or Ncell’s billing databases.
- Startup/shutdown modes (NOMOUNT, MOUNT, OPEN) control database accessibility, while privileges (SYSTEM vs. OBJECT) enforce security in multi-tenant environments like NEPSE’s stock trading system.
- Multiplexing (duplicating control/redo files) prevents data loss, a technique used by banks to safeguard transaction logs.
- Flashback technology allows time-based recovery, essential for Khalti’s payment rollbacks or Daraz’s order corrections.
- Oracle’s CDB/PDB architecture enables efficient resource sharing, mirroring how Google’s cloud databases host multiple client apps under one instance.
1. What is a Database Management System (DBMS)?
A DBMS is software that manages databases by:
- Storing data in organized structures (tables, indexes).
- Enforcing security (user access, encryption).
- Ensuring data integrity (transactions, constraints).
- Providing tools for backup, recovery, and optimization.
Why Oracle?
Oracle is a relational DBMS (RDBMS) used globally for:
- Mission-critical systems (banks, airlines, e-commerce).
- High availability (24/7 uptime).
- Scalability (handles petabytes of data).
Oracle’s layered architecture: memory, processes, and files (Image: Brickcompass, CC BY 4.0, via Wikimedia Commons)
classDiagram
class Memory {
+SGA (Shared Global Area)
+PGA (Program Global Area)
}
class Processes {
+Background (SMON, PMON, etc.)
+User Processes
}
class Files {
+Control Files
+Redo Log Files
+Datafiles
}
Memory --> Processes : "Contains"
Processes --> Files : "Uses"
note for Memory "Stores data in RAM"
note for Files "Persistent storage on disk"2. Oracle’s Architecture: Layers and Components
Oracle’s architecture is divided into three layers:
| Layer | Components | Purpose |
|---|---|---|
| Memory | SGA (Shared Global Area), PGA | Caches data, executes queries, and manages transactions. |
| Processes | Background (SMON, PMON), User Processes | Handles database operations and user requests. |
| Files | Control Files, Redo Log Files, Datafiles | Stores metadata, transactions, and actual data. |
Key Files in Oracle
Control Files
- Stores metadata (database name, tablespace locations, redo log files).
- Critical for recovery—if lost, the database cannot start.
- Multiplexing (duplicating) control files prevents data loss.
Redo Log Files
- Records all changes (INSERT, UPDATE, DELETE) for recovery.
- Operates in circular fashion (filled logs are reused after archiving).
- Example: If a user accidentally deletes a record in NEPSE’s trading database, redo logs help restore it.
Datafiles
- Store actual database data (tables, indexes).
- Each tablespace has at least one datafile.
Physical files in Oracle: control, redo log, and datafiles (Image: Scifipete, CC BY-SA 3.0, via Wikimedia Commons)
graph LR
A["Oracle Database"] --> B["Control Files<br/>(Metadata)"]
A --> C["Redo Log Files<br/>(Transaction Logs)"]
A --> D["Datafiles<br/>(Actual Data)"]
B -->|"Multiplexed"| E["Backup Control Files"]
C -->|"Archived"| F["Archived Redo Logs"]3. Database Administrator (DBA) Roles
A DBA manages:
- Security: Grants/revokes privileges (e.g.,
CREATE TABLE,DROP USER). - Performance: Optimizes queries, tunes indexes.
- Backup/Recovery: Ensures data availability (e.g., Khalti’s daily backups).
- User Management: Creates/modifies users (e.g., eSewa’s citizen portal users).
Types of DBAs
| Role | Responsibilities |
|---|---|
| Security DBA | Manages privileges, audits, and encryption (e.g., Ncell’s customer data). |
| Performance DBA | Optimizes queries, monitors AWR reports (e.g., Daraz’s order processing). |
| Backup/Recovery DBA | Designs backup policies, tests restores (e.g., bank transaction logs). |
flowchart TD
A["DBA Role"] --> B["Security Management"]
A --> C["Performance Tuning"]
A --> D["Backup & Recovery"]
A --> E["User Management"]
B -->|"Example"| F["Ncell: Restrict<br/>Sensitive Data Access"]
C -->|"Example"| G["Daraz: Optimize<br/>Order Queries"]
D -->|"Example"| H["Banks: Daily<br/>Automated Backups"]
E -->|"Example"| I["eSewa: Create<br/>Citizen Accounts"]4. Oracle Startup and Shutdown Modes
Oracle databases can be started in three modes:
| Mode | State | Purpose |
|---|---|---|
| NOMOUNT | No control files loaded | Used for recovery or file replacement. |
| MOUNT | Control files loaded, no data | Prepares database for backup or recovery. |
| OPEN | Fully operational | Users can connect and query (default mode for production). |
Shutdown Modes
| Mode | Command | Use Case |
|---|---|---|
| Normal | SHUTDOWN NORMAL |
Allows clean disconnection of users (e.g., weekly maintenance). |
| Immediate | SHUTDOWN IMMEDIATE |
Forces instant shutdown (data loss risk if uncommitted transactions). |
| Abort | SHUTDOWN ABORT |
Emergency shutdown (corrupt data possible). |
WORKED EXAMPLE: Startup for a Bank’s Database A bank’s DBA runs:
-- Step 1: Start in NOMOUNT (replace control file)
STARTUP NOMOUNT PFILE='init.ora';
-- Step 2: Mount and recover (if needed)
ALTER DATABASE MOUNT;
RECOVER DATABASE;
-- Step 3: Open for users
ALTER DATABASE OPEN;
Why?
- Ensures no data corruption during file replacements.
- Used before applying security patches in Nepal Rastra Bank’s core banking system.
5. Database Security: Privileges and Auditing
Privileges in Oracle
| Type | Examples | Use Case |
|---|---|---|
| System | CREATE SESSION, DROP ANY TABLE |
Granted to DBAs or admins. |
| Object | SELECT on HR.EMPLOYEES |
Grants access to specific tables (e.g., eSewa’s citizen data). |
Example Command:
-- Grant SELECT on a table to a user
GRANT SELECT ON employees TO hr_manager;
Auditing
- Standard Auditing: Tracks login attempts, DML changes (INSERT/UPDATE/DELETE).
- Fine-Grained Auditing (FGA): Monitors specific rows (e.g., Ncell’s high-value transactions).
Example:
-- Audit all DELETE operations on 'customers' table
AUDIT DELETE ON customers BY USER;
sequenceDiagram
User->>Database: DELETE from accounts
Database->>Audit Trail: Logs action (User, Table, Timestamp)
Database->>Security Team: Alerts for suspicious activity
note right of Database: "FGA can track\nspecific rows"6. Flashback Technology
Allows time-based recovery (e.g., restore a table to a past state).
Steps to Enable Flashback
- Enable Flashback Database:
SHUTDOWN IMMEDIATE; STARTUP MOUNT; ALTER DATABASE FLASHBACK ON; ALTER DATABASE OPEN; - Query Past Data:
-- View data as of 1 hour ago SELECT * FROM employees AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' HOUR); - Restore a Dropped Table:
FLASHBACK TABLE employees TO BEFORE DROP;
Real-World Use:
- Khalti uses flashback to undo fraudulent transactions.
- Daraz recovers deleted product listings accidentally removed by admins.
7. Multiplexing: Protecting Critical Files
Multiplexing = duplicating control/redo files to prevent data loss.
Why Multiplex?
- If the primary control file fails, Oracle uses the backup.
- Redo log multiplexing ensures no transaction loss (e.g., bank transfers).
Steps to Multiplex Redo Logs
-- Add a member to redo log group 1
ALTER DATABASE ADD LOGFILE GROUP 1 ('/u01/oracle/redo01.log', '/u01/oracle/redo01b.log');
Example for a Bank:
- Primary redo log:
/data/redo1.log - Backup redo log:
/backup/redo1_mirror.log - If
/datafails, the bank switches to/backupwithout downtime.
8. Oracle Multitenant Architecture (CDB and PDB)
Introduced in Oracle 12c, this architecture allows:
- One Container Database (CDB) hosts multiple Pluggable Databases (PDBs).
- Isolation: PDBs act like separate databases but share resources.
CDB vs. PDB
| Feature | CDB (Container DB) | PDB (Pluggable DB) |
|---|---|---|
| Purpose | Hosts multiple PDBs | Acts as a separate database |
| Resources | Shared memory, processes | Isolated schemas, users |
| Example | Google Cloud SQL (hosts many apps) | NEPSE’s trading PDB |
Example Command:
-- Create a PDB
CREATE PLUGGABLE DATABASE pdb1 ADMIN USER pdb_admin IDENTIFIED BY password;
Real-World Analogy:
- CDB = A server farm (e.g., NTC’s central data center).
- PDB = Individual departments (billing, customer service) running on the same farm.
In the Real World
eSewa’s Database Security
- Uses Oracle’s fine-grained auditing to track citizen login attempts and payment transactions.
- DBA Role: Monitors
AUDIT_TRAILfor fraud detection.
Ncell’s Billing System
- Multiplexed redo logs ensure no call-minute data loss during power outages.
- Flashback technology recovers incorrectly billed customers.
Daraz’s Order Processing
- PDB architecture isolates seller databases from buyer databases.
- Startup in MOUNT mode before weekly inventory updates to avoid downtime.
Nepal Rastra Bank’s Core Banking
- CDB hosts multiple PDBs for:
- Retail banking (savings accounts).
- Corporate banking (loans).
- AWR reports optimize ATM transaction speeds.
- CDB hosts multiple PDBs for:
Exam Tip
Diagrams are Key
- Draw Oracle’s architecture layers (memory, processes, files).
- Show control/redo/datafile relationships in exams.
Command-Based Questions
- Memorize startup/shutdown commands (e.g.,
ALTER DATABASE OPEN). - Practice multiplexing commands (
ADD LOGFILE GROUP).
- Memorize startup/shutdown commands (e.g.,
Real-World Scenarios
- Link backup policies to banking systems (e.g., "Daily RMAN backups for Ncell").
- Explain flashback using Khalti’s fraud reversal.
Common Pitfalls
- Don’t confuse
SYSTEMvs.OBJECTprivileges. - Multiplexing ≠ backup—it’s real-time redundancy, not archiving.
- Don’t confuse
Short-Answer Tricks
- For DBA roles, list 4 key tasks (security, backup, tuning, user management).
- For startup modes, compare NOMOUNT vs. MOUNT (metadata vs. no data).
Final Visual Summary
mindmap
root((Oracle DBMS))
Architecture
Memory (SGA, PGA)
Processes (SMON, PMON)
Files (Control, Redo, Data)
DBA Roles
Security (Privileges, Auditing)
Backup/Recovery (RMAN, Flashback)
Performance (AWR, Indexing)
Startup Modes
NOMOUNT (No files)
MOUNT (Metadata only)
OPEN (Fully operational)
Security
System Privileges (GRANT DBA)
Object Privileges (SELECT on TABLE)
Real-World
eSewa (Auditing)
Ncell (Multiplexing)
Daraz (PDB Isolation)Based on the TU BSc CSIT syllabus for Database Administration (CSC414), unit 2.
Discussion
Loading…