Skip to content
pvmehta.com

pvmehta.com

  • Home
  • About Me
  • Toggle search form
  • Korn Shell Arithmatic Linux/Unix
  • before_trunc.sql Before Truncate table needs to execute following: Oracle
  • eplan9i.sql Oracle
  • How To Limit The Access To The Database So That Only One User Per Schema Are Connected (One Concurrent User Per Schema) Oracle
  • ORA-00064: object is too large to allocate on this O/S during startup Oracle
  • How can I tell if ASO is installed ? Oracle
  • find_du.ksh to find # of files, their sizes in current folder and its subdolder Linux/Unix
  • oracle 11g RAC on vmware Oracle
  • V$CONTROLFILE_RECORD_SECTION reference notes. Oracle
  • runon_allpdbs_show_conname.sh Oracle
  • On solaris 10, “S” link is not part of $ORACLE_HOME/bin/oracle as default. ( For 9.2.0.8) Oracle
  • How does one SELECT a value from a table into a Unix variable? From SQL to Shell Linux/Unix
  • Library cahe Latches and internal explaination Oracle
  • Best approach for Oracle database patching sequence to latest/required patchset along with CPU/PSU/any-other-one-off patch ID 865255.1 Oracle
  • moving lob object to other tablespace lob_mvmt.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
Next Post: Trace a SQL session from another session using ORADEBUG

Related Posts

  • T-SQL Vs PL/SQL Syntax SQL Server
  • SQL Server: How to see historical transactions SQL Server
  • SQL Server: How to see current transactions or requests SQL Server
  • Checking SQL Server Version SQL Server
  • Check SQL Server edition 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)
  • Django (0)
  • GIT (1)
  • Linux/Unix (149)
  • MYSQL (5)
  • Oracle (402)
  • PHP/MYSQL/Wordpress (10)
  • POSTGRESQL (1)
  • Power-BI (0)
  • Python/PySpark (7)
  • RAC (18)
  • rman-dataguard (26)
  • shell (150)
  • SQL scripts (350)
  • SQL Server (6)
  • Uncategorized (3)
  • Videos (0)

Recent Posts

  • runon_allpdbs_show_conname.sh23-Apr-2026
  • runon_allcdbs_find_pdbs.sql23-Apr-2026
  • Running PDB on single node in RAC09-Apr-2026
  • find_arc.sql09-Apr-2026
  • pvm_pre_change.sql08-Apr-2026
  • find_encr_wallet.sql08-Apr-2026
  • find_pdbs.sql08-Apr-2026
  • Creating a Container Database using dbaascli08-Apr-2026
  • track_autoupgrade_copy_progress.sql01-Apr-2026
  • refre.sql for multitenant01-Apr-2026

Archives

  • 2026
  • 2025
  • 2024
  • 2023
  • 2010
  • 2009
  • 2008
  • 2007
  • 2006
  • 2005
  • ipcs -l Linux/Unix
  • Oracle10g – Using SQLAccess Advisor (DBMS_ADVISOR) with the Automatic Workload Repository Oracle
  • Zip and unzip with tar Linux/Unix
  • catall.sh Linux/Unix
  • How To Resolve Stranded DBA_2PC_PENDING Entries ID 401302.1 (Very Good prooven) Oracle
  • purge_trc.sh Linux/Unix
  • To seee semaphores and shared memory segments in Solaris Linux/Unix
  • How to change hostname in Linux Linux/Unix

Copyright © 2026 pvmehta.com.

Powered by PressBook News WordPress theme