Well they both are relational databases so they store data in tables in separate rows and handle transactions and different kinds of constraints. Also both have procedural programming language.
However, there are several kinds of differences. To list a few:
- Oracle instance uses a single database whereas SQL Server uses several databases
- Oracle doesn't have a separate login concept from users (because of the previous bullet)
- Oracle often uses dedicated slave processes for clients while SQL Server uses a slave pool
- Oracle never locks records when reading
- Oracle stores previous versions of rows during transactions so latest committed version is always available for readers
- There's no Read Uncommitted in Oracle
- Oracle has a concept called package to group stored procedures and functions
- Internal structures for both memory management and data storage are quite different
- Oracle archives logs automatically (in archivelog mode) and the log backup is a separate operation from archiving
- and so on...