Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • ext#.sql Oracle
  • How to connect to Oracle Database with Wallet with Python. Oracle
  • tuning commmand for cpu, ip and memory stats Linux/Unix
  • Check SQL Server edition SQL Server
  • database trigger failing Oracle
  • cp_filesystem.sql Oracle
  • Find_planinfo.sql Oracle
  • find checksum of a file. Linux/Unix
  • oracle fast start failover best practice Oracle
  • PLSQL Table Syntax 2 Oracle
  • Checking SQL Server Version SQL Server
  • oracle tips… from http://www.bijoos.com/oracle/douknow.htm Oracle
  • How to sort list of files on basis of their sizes. Linux/Unix
  • Kill a session dynanically using execute immediate Oracle
  • login.sql Oracle

SQL Server Vs Oracle Architecture difference

Posted on 25-Jul-202525-Jul-2025 By Admin No Comments on SQL Server Vs Oracle Architecture difference

Here’s an expanded and in-depth comparison of SQL Server vs Oracle architecture — organized into major categories with detailed breakdowns.


✅ SQL Server vs Oracle Architecture – In-Depth Comparison

CategorySQL ServerOracle Database
Core Architecture TypeThread-based, single-process architecture.Process-based, multi-process architecture (each background task is a separate OS process).
PlatformWindows (originally), now also Linux (since SQL Server 2017).Cross-platform: Windows, Linux, Unix (Solaris, AIX, HP-UX), macOS (via Docker).
Instance DefinitionA SQL Server instance is a set of services that manage multiple databases.An Oracle instance is a combination of memory (SGA) and background processes. Controls one database.
Database per InstanceMultiple databases per instance.One database per instance (CDB/PDB supports multiple pluggable DBs in Oracle 12c+).
Startup ConfigurationStartup params managed via Registry or SQL Server Configuration Manager.Controlled via spfile.ora or init.ora parameter files.

🧠 Memory Architecture

ComponentSQL ServerOracle
Memory StructureDynamic Memory Manager (DMM), auto-tuned; unified memory pool.Divided into SGA (shared) and PGA (private per session).
SGA (System Global Area)Not applicable; unified memory pool internally handles everything.Mandatory. Shared area includes: Buffer Cache, Shared Pool, Redo Buffer, Java Pool, Large Pool, Streams Pool.
PGA (Program Global Area)No separate construct; session memory is managed dynamically within DMM.Required. Allocated per background/user process. Contains sort/work areas, session variables, etc.
Plan CacheProcedure Cache; stores compiled execution plans.Library Cache (in Shared Pool); stores parsed SQL, PL/SQL, and execution plans.
Buffer CacheBuffer Pool caches data pages; shared across databases.Database Buffer Cache stores frequently accessed blocks from DB files.
Memory Allocation ControlAutomatically managed by SQL Server (can be manually set with min/max options).Controlled via parameters (SGA_TARGET, PGA_AGGREGATE_TARGET, MEMORY_TARGET)

⚙️ Processes / Threads

Process / ThreadSQL ServerOracle
ArchitectureMultithreaded single process.Multi-process: each core function (SMON, PMON, LGWR, etc.) runs in its own process.
CheckpointCHECKPOINT thread writes dirty pages from memory to disk.CKPT process updates control files & datafile headers on checkpoint.
Log WriterWrites to .ldf files; called LOGWRITE internally.LGWR writes redo entries to online redo logs.
Lazy WriterWrites dirty pages from buffer pool to disk when memory pressure occurs.Part of DBWR duties.
SMON (System Monitor)Not applicable (SQL Server handles crash recovery automatically on startup).Performs instance recovery, temp segment cleanup.
PMON (Process Monitor)Not applicable.Cleans up failed user sessions and releases resources.
RECONot needed unless distributed transactions are used.Handles recovery for in-doubt distributed transactions.

🔄 Concurrency & Transaction Management

FeatureSQL ServerOracle
Concurrency ModelLock-based (pessimistic concurrency).MVCC (Multi-Version Concurrency Control); uses UNDO segments to provide read consistency.
Lock GranularityRow/page/table/index locks.Row-level locking; no page-level locking by default.
Readers vs WritersReaders can block writers (unless RCSI enabled).Readers never block writers (and vice versa).
Isolation LevelsRead Uncommitted, Read Committed, Repeatable Read, Serializable, Snapshot (based on tempdb).Read Committed, Serializable, Read-Only, Read Committed with Read Consistency.
Transaction LoggingWrite-ahead log to .ldf files per database.Redo log buffer → Redo log files. Also generates undo records in Undo Tablespace.
Transaction ControlBEGIN TRAN, COMMIT, ROLLBACKBEGIN, COMMIT, ROLLBACK

📦 Storage & Data Organization

AspectSQL ServerOracle
Datafile Structure.mdf (primary), .ndf (secondary), .ldf (log).dbf for data, .ctl control files, redo logs, undo segments, tempfiles.
Temporary TablesStored in tempdb, shared across all databases.Each session uses a TEMP tablespace.
Table StoragePages (8KB), Extents (8 pages = 64KB)Blocks (default 8KB), Extents (group of blocks), Segments.
LOB StorageCan be stored inline or as FILESTREAM (outside DB).Stored as LOBSEGMENT, can be inline, out-of-row, or in SecureFiles.
PartitioningRange, List, Hash, Composite — only in Standard/Enterprise edition.Advanced partitioning — Range, List, Hash, Interval, Reference — supported in most editions.
Tablespace ConceptNo concept of tablespaces (only filegroups).Mandatory. Data organized into tablespaces.
SchemaSchema is a namespace within a database.Schema is a user with object ownership privileges.

🛡️ Security & Auditing

Security FeatureSQL ServerOracle
AuthenticationWindows Auth, SQL Login, Azure AD (cloud), certificates.OS Auth, Password Auth, LDAP, Kerberos, External Auth.
Roles & PrivilegesFixed Server Roles, Database Roles, User-Defined RolesSystem Privileges, Object Privileges, Roles (global/local).
Row-Level SecuritySupported via RLS (since SQL Server 2016).Fine-Grained Access Control (FGAC), Virtual Private Database (VPD).
AuditingSQL Server Audit, Extended Events, default trace.Unified Audit, Fine-Grained Audit (FGA), Flashback Auditing.
Data EncryptionTDE, Always Encrypted, Column Encryption, Backup EncryptionTDE, Data Redaction, Transparent Data Encryption, Network Encryption, Label Security.

🔁 High Availability / Backup / Replication

FeatureSQL ServerOracle
Backup ToolNative Backup (full, diff, log), SQL Server Agent, Maintenance PlansRMAN (Recovery Manager), Data Pump, Export/Import.
HA/DR OptionsAlwaysOn AG, Failover Clustering, Database Mirroring (deprecated), Log ShippingData Guard, Real Application Clusters (RAC), GoldenGate, Streams, Sharding.
ReplicationSnapshot, Merge, TransactionalMaterialized Views, Streams, GoldenGate
Point-in-Time RecoveryYes, via log backups.Yes, via redo/undo logs and RMAN.
FlashbackNot available.Flashback Query, Flashback Table, Flashback Database (Oracle-specific feature).

🔍 Management & Tooling

FeatureSQL ServerOracle
Management ToolSQL Server Management Studio (SSMS), Azure Data Studio, SQLCMDOracle SQL Developer, SQL*Plus, Enterprise Manager (OEM), Data Pump.
MonitoringDMVs, Extended Events, Activity Monitor, ProfilerAWR (Automatic Workload Repository), ASH (Active Session History), OEM dashboards.
Job SchedulerSQL Server AgentDBMS_SCHEDULER, DBMS_JOB
Dynamic Viewssys.*, dm_exec_*DBA_, ALL_, USER_, V$, GV$ views
AlertingSQL Agent Alerts, Event Notifications, Policy-Based MgmtOEM Alerts, Server-Generated Alerts, UTL_SMTP / UTL_MAIL

🚀 Summary Highlights

FeatureSQL ServerOracle
One instance → multiple databases✅ Yes❌ No (One DB per instance)
Concurrency modelLock-basedMVCC with UNDO
Memory managementUnified auto-tuned DMMSegmented (SGA/PGA), tunable
Architecture typeThread-basedMulti-process
PartitioningStandard in Enterprise & Std editionsRich, flexible partitioning
Availability optionsAlwaysOn AG, Log ShippingData Guard, RAC, GoldenGate
Backup toolNative or third-partyRMAN, Flashback
Flashback features❌ Not available✅ Yes — multiple levels

Additional information.


✅ SQL Server vs Oracle Architecture Comparison

AspectSQL ServerOracle
RDBMS VendorMicrosoftOracle Corporation
Platform DependenceWindows & Linux (since SQL Server 2017)Cross-platform (Windows, Linux, Solaris, AIX, HP-UX, etc.)
Instance DefinitionSingle SQL Server service = one instanceOne instance = set of background processes + memory + DB files
Database DefinitionInstance can host multiple databasesOne instance manages one database
Startup Filesqlservr.exe (configuration in registry or config manager)init.ora / spfile.ora defines instance parameters
Memory StructureSingle pool called Buffer Pool (BPool) inside SQL Server Memory ManagerDivided into multiple areas in SGA (System Global Area)
SGA Components (Oracle only)Not ApplicableShared Pool, DB Buffer Cache, Redo Log Buffer, Large Pool, etc.
Cache BufferBuffer Pool (includes data cache and procedure cache)DB Buffer Cache
Query Plan CacheProcedure CacheLibrary Cache (inside Shared Pool)
Transaction LogSeparate .ldf file per database (write-ahead logging)Redo Log files + Archive Logs
Temporary Datatempdb shared across all databases in the instanceTemporary Tablespace (TEMP) per user/session
Program Global Area (PGA)No separate PGA (memory is managed per session or query)PGA per server process/session (used for sorting, joins, etc.)
Concurrency ControlUses pessimistic locking model with isolation levelsUses multi-version concurrency control (MVCC) with UNDO segments
Concurrency ObjectLocks at row/page/table levels, blocking is commonReaders don’t block writers (uses UNDO for consistent reads)
IndexingB-Tree, Columnstore, Full-text, XML indexesB-Tree, Bitmap, Clustered Indexes, Function-based indexes
Optimizer TypeCost-Based Optimizer (CBO)Cost-Based Optimizer (CBO)
Query Execution Plan CachingPlans are cached automatically in memoryStored in Library Cache
Background ProcessesFew key threads (e.g., Lazy Writer, Checkpoint, Log Writer)Dozens of background processes (DBWR, LGWR, CKPT, SMON, PMON, etc.)
CheckpointsPerformed periodically by Checkpoint processManaged by CKPT process
Log WriterLog Writer (LOGWRITE) writes to .ldf log fileLGWR writes to Redo Logs
Automatic RecoveryAutomatically performed on startup using Transaction LogAutomatically using SMON, Redo Logs, and Undo segments
Transaction ControlBEGIN TRAN / COMMIT / ROLLBACKBEGIN / COMMIT / ROLLBACK
Data Dictionarysys.*, INFORMATION_SCHEMA, DMVsDBA_*, ALL_*, USER_*, V$ views, GV$ views
System Metadata Viewssys.tables, sys.databases, dm_exec_requests etc.DBA_TABLES, V$SESSION, V$SQL, etc.
Partitioning SupportTable & index partitioning (Enterprise/Standard Edition)Advanced partitioning available (requires licensing)
High Availability OptionsAlwaysOn AG, Failover Clustering, Log Shipping, ReplicationData Guard, Real Application Clusters (RAC), Streams, GoldenGate
Backup StrategyFull, Differential, Transaction Log backupsRMAN (Recovery Manager), Data Pump, Export/Import
User AuthenticationWindows Auth, SQL AuthOS Auth, DB Auth, Kerberos, LDAP, Wallets
Security LayersRole-based, Row-level security, Always EncryptedFine-Grained Access Control (FGAC), VPD, DB Vault
Job SchedulingSQL Server AgentOracle DBMS_SCHEDULER or Enterprise Manager (OEM)
Monitoring ToolsSQL Server Management Studio (SSMS), Extended Events, DMVsOracle Enterprise Manager (OEM), AWR, ASH, V$ views
Data ReplicationTransactional, Merge, Snapshot replicationMaterialized Views, Streams, GoldenGate

🧠 Summary Highlights

FeatureSQL ServerOracle
Manages multiple DBs in 1 instance✅ Yes❌ No (1 DB per instance)
Locks vs MVCCLock-basedMulti-version concurrency
System architectureThread-basedProcess-based
TempDBGlobalPer session/user via TEMP tablespace
Memory architectureUnified buffer poolSegmented SGA + PGA
Logging systemTransaction log (.ldf)Redo + Archive logs

SQL Server

Post navigation

Previous Post: SQL Server: How to see historical transactions

Related Posts

  • Check SQL Server edition SQL Server
  • SQL Server: How to see current transactions or requests SQL Server
  • T-SQL Vs PL/SQL Syntax SQL Server
  • SQL Server: How to see historical transactions SQL Server
  • Checking SQL Server Version SQL Server

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Categories

  • Ansible (0)
  • AWS (2)
  • Azure (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (392)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (0)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (17)
  • rman-dataguard (26)
  • shell (149)
  • SQL scripts (341)
  • SQL Server (6)
  • Uncategorized (0)
  • Videos (0)

Recent Posts

  • SQL Server Vs Oracle Architecture difference25-Jul-2025
  • SQL Server: How to see historical transactions25-Jul-2025
  • SQL Server: How to see current transactions or requests25-Jul-2025
  • T-SQL Vs PL/SQL Syntax25-Jul-2025
  • Check SQL Server edition25-Jul-2025
  • Checking SQL Server Version25-Jul-2025
  • Oracle vs MYSQL Architecture differences (For DBAs)24-Jul-2025
  • V$INSTANCE of Oracle in MYSQL24-Jul-2025
  • Day to day MYSQL DBA operations (Compared with Oracle DBA)24-Jul-2025
  • MYSQL and Oracle Comparison for Oracle DBA24-Jul-2025

Archives

  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • send email from unix mailx with attachment. Linux/Unix
  • remove archfiles only when it is applied to DR rm_archfiles.sh Linux/Unix
  • Gather Stats manually using DBMS_STATS after disabling DBMS_SCHEDULER jobs as previous entry Oracle
  • Monitor and Trace Unix processes using truss Linux/Unix
  • 272332.1 CRS 10g Diagnostic Collection Guide Oracle
  • fkwoindex.sql /* Find FK without Index */ Oracle
  • avail.sh ( find filesystem spae usage) Linux/Unix
  • Free conference number from http://www.freeconference.com Oracle

Copyright © 2025 pvmehta.com.

Powered by PressBook News WordPress theme