Abstract:
A pluggable database is transported between a source DBMS and a destination DBMS, in a way that minimizes downtime of the pluggable database. While a copy of the pluggable database is being made at the destination DBMS, transactions continue to execute against the pluggable database at the source DBMS and change the pluggable database. Eventually, the transactions terminate or cease executing. Redo records generated for the transactions are applied to the copy of the pluggable database at the source DBMS. Undo records generated for at least some of the transactions may be stored in a separate undo log and transported to the destination DBMS. The transported pluggable database is synchronized at a destination DBMS in a “pluggable-ready state”, where it may be plugged into the destination container DBMS.
Abstract:
Embodiments minimize downtime involved in moving a PDB between CDBs by allowing read-write access to the PDB through most of the moving operation, and by transparently forwarding connection requests, for the PDB, from the source CDB to the destination CDB. The files of a source PDB are copied from a source CDB to a destination CDB, during which the source PDB may be in read-write mode. The source PDB is then closed to write operations so that changes to the source PDB cease. Another round of recovery is performed on the PDB clone, which applies all changes that have been performed on the source PDB during the copy operation and the PDB clone is opened for read and write operations. Forwarding information is registered with the source location, which information is used to automatically forward connection requests, received at the source location for the moved PDB, to the destination location.
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:
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, 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.