Isolated hierarchical runtime environments for multi-tenant databases

US10942945B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10942945-B2
Application numberUS-201816165996-A
CountryUS
Kind codeB2
Filing dateOct 19, 2018
Priority dateOct 19, 2018
Publication dateMar 9, 2021
Grant dateMar 9, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques are described herein for isolating runtime environments in a multitenant container DBMS. A CDB may contain a database dictionary that defines a plurality of pluggable databases and a respective database nest for each pluggable database. Each respective database nest of said each pluggable database is associated with different operating system privileges. When database sessions are established on a container DBMS, each database session is given access to a pluggable database by attaching the respective database nest of the pluggable database to each database session.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: a database server assigning a plurality of database nests to a container database (CDB) and a plurality of pluggable databases in the CDB, wherein the CDB is hosted on said database server, wherein said plurality of database nests each provide a respective set of privileges to computer resources accessible through an operating system hosting said database server, said computer resources including one or more network resources and one or more file systems that are accessible via said operating system; wherein said plurality of pluggable databases include a first pluggable database and a second pluggable database; wherein said plurality of database nests includes a particular database nest for said CDB, a first database nest for said first pluggable database, and a second database nest for said second pluggable database; wherein said particular database nest includes privileges for all of a set of computer resources of said operating system, wherein said first database nest includes privileges for a first subset of said set of computer resources of said operating system but not for a second subset of said set of computer resources of said operating system, wherein said second database nest includes privileges for said second subset of said set of computer resources of said operating system but not for said first subset of said set of computer resources of said operating system; receiving a first request for a first database session with said first pluggable database; in response to receiving said first request, establishing a first database session assigned to said first database nest; receiving a second request for a second database session with said second pluggable database; in response to receiving said second request, establishing a second database session assigned to said second database nest. 2. The method of claim 1 , wherein said CDB includes one or more database dictionaries, each one of said one or more database dictionaries defining a respective pluggable database of said plurality of pluggable databases and a respective database nest for said each pluggable database. 3. The method of claim 1 , wherein said plurality of database nests include a database nest for a second CDB that is hosted on said database server and is accessible through an operating system hosting said database server. 4. The method of claim 1 , further comprising: in response to receiving a data definition language (DDL) command to create a particular pluggable database, creating a database nest for the particular pluggable database. 5. The method of claim 1 , further comprising: said database server starting a listener process for the first pluggable database, wherein starting the listener process includes assigning the first database nest of said first pluggable database to said listener process; wherein establishing the first database session for the first pluggable database includes said listener process spawning a database session process thereby assigning the first database nest of said first pluggable database to the first database session for the first pluggable database. 6. The method of claim 1 , wherein operating system namespaces are used to implement said plurality of database nests. 7. The method of claim 1 , wherein said plurality of pluggable databases include an application container; wherein the application container includes common database objects accessible by the first database session and the second database session. 8. The method of claim 1 , wherein each respective set of privileges to computer resources includes system restrictions for executing system calls. 9. The method of claim 1 , wherein the database server operates under control of an operating system; wherein the operating system is Linux, Windows, or Solaris. 10. One or more non-transitory computer-readable media storing sequences of instructions which, when executed by one or more processors, cause: a database server assigning a plurality of database nests to a container database (CDB) and a plurality of pluggable databases in the CDB, wherein the CDB is hosted on said database server, wherein said plurality of database nests each provide a respective set of privileges to computer resources accessible through an operating system hosting said database server, said computer resources including one or more network resources and one or more file systems that are accessible via said operating system; wherein said plurality of pluggable databases includes a first pluggable database and a second pluggable database; wherein said plurality of database nests includes a particular database nest for said CDB, a first database nest for said first pluggable database, and a second database nest for said second pluggable database; wherein said particular database nest includes privileges for all of a set of computer resources of said operating system, wherein said first database nest includes privileges for a first subset of said set of computer resources of said operating system but not for a second subset of said set of computer resources of said operating system, wherein said second database nest includes privileges for said second subset of said set of computer resources of said operating system but not for said first subset of said set of computer resources of said operating system; receiving a first request for a first database session with said first pluggable database; in response to receiving said first request, establishing a first database session assigned to said first database nest; receiving a second request for a second database session with said second pluggable database; in response to receiving said second request, establishing a second database session assigned to said second database nest. 11. The one or more non-transitory computer-readable media of claim 10 , wherein said CDB includes one or more database dictionaries, each one of said one or more database dictionaries defining a respective pluggable database of said plurality of pluggable databases and a respective database nest for said each pluggable database. 12. The one or more non-transitory computer-readable media of claim 10 , wherein said plurality of database nests include a database nest for a second CDB that is hosted on said database server and is accessible through an operating system hosting said database server. 13. The one or more non-transitory computer-readable media of claim 10 , the sequences of instructions including instructions that, which when executed by the one or more processors, cause: in response to receiving a data definition language (DDL) command to create a particular pluggable database, creating a database nest for the particular pluggable database. 14. The one or more non-transitory computer-readable media of claim 10 , the sequences of instructions including instructions that, which when executed by the one or more processors, cause: said database server starting a listener process for the first pluggable database, wherein starting the listener process includes assigning the first database nest of said first pluggable database to said listener process; wherein establishing the first database session for the first pluggable database includes said listener process spawning a database session process thereby assigning the first database nest of said first pluggable database to the first database session for the first pluggable database. 15. The one or more non-transitory computer-readable media of claim 10 , wherein operating system namespaces are used to implement said plurality of database nests

Assignees

Inventors

Classifications

  • to a system of files or objects, e.g. local or distributed file system or database · CPC title

  • G06F16/211Primary

    Schema design and management · CPC title

  • Plug-ins; Add-ons · CPC title

  • with details for data modelling support · CPC title

  • where protection concerns the structure of data, e.g. records, types, queries · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10942945B2 cover?
Techniques are described herein for isolating runtime environments in a multitenant container DBMS. A CDB may contain a database dictionary that defines a plurality of pluggable databases and a respective database nest for each pluggable database. Each respective database nest of said each pluggable database is associated with different operating system privileges. When database sessions are es…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification G06F16/211. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 09 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).