Abstract:
Techniques herein make and use a pluggable database archive file (AF). In an embodiment, a source database server of a source container database (SCD) inserts contents into an AF from a source pluggable database (SPD). The contents include data files from the SPD, a listing of the data files, rollback scripts, and a list of patches applied to the SPD. A target database server (TDS) of a target container database (TCD) creates a target pluggable database (TPD) based on the AF. If a patch on the list of patches does not exist in the TCD, the TDS executes the rollback scripts to adjust the TPD. In an embodiment, the TDS receives a request to access a block of a particular data file. The TDS detects, based on the listing of the data files, a position of the block within the AF. The TDS retrieves the block based on the position.
Abstract:
In an approach, memory usage within a database management system is optimized by designating an application root which stores data and metadata for database objects that are common across pluggable databases which support the same application. In addition, the application root can be used to manage access to the pluggable databases by defining common users which are created at the application root, but can be used to access any of the member pluggable databases. Furthermore, different versions of the same application can be supported concurrently by maintaining separate application roots for each version. For instance, when an upgrade is applied to the application root, a clone can be created and the update can be applied to the clone. Then, the member pluggable databases which are to be upgraded can be synchronized to the clone, while leaving other pluggable databases servicing the previous version of the application.
Abstract:
Provided herein are data cloud administration techniques that achieve autonomy by using a rules engine that reacts to a database system event by autonomously submitting an asynchronous job to reconfigure a database. In an embodiment, a rules engine receives an event from a DBMS. Based on the event, the rules engine executes a rule to generate a request that indicates configuration details for a database. The rules engine sends the request to a request broker. The request broker dispatches an asynchronous job based on the request. The asynchronous job configures the database based on the configuration details. Thus, databases in a cloud, data grid, or data center may be administered autonomously (without human intervention) base on dynamic conditions that are foreseen and unforeseen.
Abstract:
A container database stores redo records and logical timestamps for multiple pluggable databases. When it is detected that a first read-write instance of the pluggable database is opened and no other read-write instances of the pluggable database are open, offline range data associated with the pluggable database is updated. When it is detected that a second read-write instance of the pluggable database is closed, and the second read-write instance is the last open read-write instance, the offline range data associated with the pluggable database is updated. The pluggable database is restored to a logical timestamp associated with a restore request based on the offline range data.
Abstract:
In an approach, memory usage within a database management system is optimized by designating an application root which stores data and metadata for database objects that are common across pluggable databases which support the same application. In addition, the application root can be used to manage access to the pluggable databases by defining common users which are created at the application root, but can be used to access any of the member pluggable databases. Furthermore, different versions of the same application can be supported concurrently by maintaining separate application roots for each version. For instance, when an upgrade is applied to the application root, a clone can be created and the update can be applied to the clone. Then, the member pluggable databases which are to be upgraded can be synchronized to the clone, while leaving other pluggable databases servicing the previous version of the application.
Abstract:
In an approach, a database management system is configured in a manner that allows all pluggable databases within a cluster to be treated, from the perspective of a user, as though stored on a single container database, even when the pluggable databases are distributed across a plurality of container databases. When a command is received by a database server that is to be executed on all or a subset of the pluggable databases within the cluster, the database inspects mapping information replicated on all container databases within the cluster by a cluster synchronization server to determine which container databases store pluggable databases implicated by the command. The command is then forwarded to the database servers responsible for the determined container databases for execution. As a result, the commands issued by the user can be agnostic in regard to the actual location of the pluggable databases within the cluster.
Abstract:
A container database stores redo records and logical timestamps for multiple pluggable databases. When it is detected that a first read-write instance of the pluggable database is opened and no other read-write instances of the pluggable database are open, offline range data associated with the pluggable database is updated. When it is detected that a second read-write instance of the pluggable database is closed, and the second read-write instance is the last open read-write instance, the offline range data associated with the pluggable database is updated. The pluggable database is restored to a logical timestamp associated with a restore request based on the offline range data.
Abstract:
A container database may contain multiple database dictionaries, each database dictionary defining a pluggable database. When database sessions are established on a container DBMS, each database session is given access to a pluggable database by establishing the respective database dictionary of the pluggable database as the database dictionary for that database session. Database commands issued through database session can only access the database objects defined in the database dictionary established for the database session.
Abstract:
Techniques for common users and roles, and commonly-granted privileges and roles are described. In one approach, the DBMS of a container database allows for the creation of common roles and common users that are shared across the container database. Thus, when a common role or a common user is established, the common role or common user is propagated to each database of the container database. In another approach, the DBMS of a container database allows privileges and roles to be granted commonly or locally. When a privilege or role is granted commonly, the privilege applies in each of the databases of a container database. When a privilege or role is granted locally, the privilege applies only in the database to which the grantor of the privilege or role established a connection.
Abstract:
A container database may contain multiple database dictionaries, each database dictionary defining a pluggable database. When database sessions are established on a container DBMS, each database session is given access to a pluggable database by establishing the respective database dictionary of the pluggable database as the database dictionary for that database session. Database commands issued through database session can only access the database objects defined in the database dictionary established for the database session.