We do have the ability to restore only a subset of the whole database???? We have for years and years and years.
It is called TSPITR - tablespace point in time recovery.
http://www.oracle.com/pls/db102/search?remark=quick_search&word=TSPITR&tab_id=&format=ranked And tell me, if you
update db1.x.y set y = 5;
update db2.a.b set z = 10;
commit;
in sqlserver, are you doing a distributed two phase commit? No? Then you have a single database.
Our tablespaces are very much like their "database", and since their "redo logs" (they store undo and redo together - they do not really have redo logs - they have transaction heaps) are transaction logs and are different in nature, format, use - everything- from Oracles - you cannot really compare them.
In sqlserver, the database has users, users can be granted access to a namespace - the users do not need to be created for EACH 'database' you have, rather the users have a default database and the ability to set database to anything they allowed to access. The users are not specific to a 'database', they may have privileges on 'databases' - a logical entity, a tool to segregate items logically.
We can backup and restore tablespaces separately. Always have.
The closest thing we have to a sqlserver database is what we call a tablespace.
Users can have quotas on tablespaces (the ability to use them or not).
You can back them up.
You can restore them (as of different points in time)
You can transport them from database to database (Oracle database to Oracle database).
Etc.
You just do not reference them in the identifier, you would never say "from tablespace.owner.table", just "owner.table"