This topic describes basic concepts behind the Oracle virtual database (VDB) provisioning process.
A dSource is a virtualized representation of a physical or logical source database. As a virtual representation, it cannot be accessed or manipulated using database tools. Instead, you must create a Virtual Database (VDB) from a dSource snapshot. A VDB is an independent, writeable copy of a dSource snapshot. You can create VDBs from other VDBs. Once a VDB has been provisioned to a target environment, you can implement a snapshot policy for that VDB, to capture changes within it as if it were any other logical or physical database.
Working with Snapshots and LogSync
Snapshots accumulate over time. To view a snapshot:
- From the Datasets panel, click the group containing the dSource.
- Select the dSource.
- Click the TimeFlow tab.
Each snapshot is displayed and includes information about the source database, operating system, end stamp, and snapshot database change number (SCN for Oracle and LSN for SQL Server). You can scroll through these cards to select the one you want, or you can enter a date and time to search for a specific snapshot.
Once you have provisioned a VDB, you can also take snapshots of it. As with the dSource snapshots, you can find these when you select the VDB in the Datasets panel. You can then provision additional VDBs from these VDB snapshots.
If there are dependencies on the snapshot, you will not be able to delete the snapshot free space; the dependencies rely on the data associated with the snapshot.
Target Environments for VDBs
In order to provision a VDB to the target successfully, the source and target must be on the same DBMS and operating system combination. For example, Oracle 10.2.0.4 on RHEL 5.2. If the DBMS versions are compatible, the OS version on the target host can be different from the OS version on the source host. There are also specific requirements for the target environment user. The supported operating systems for source and target environments are described in Supported Operating Systems and DBMS Versions for Oracle Environments. User requirements are described in Requirements for Oracle Target Hosts and Databases.
Customizing VDB Online Redo Logs
When you provision a VDB, you can customize the online redo log size, as well as the number of redo log groups per Oracle thread. The Delphix Engine only allows one size value to be used for all online redo log size.
Using a large redo log size or groups will increase the VDB provision time. This is especially true in the case of an Oracle RAC VDB with a large number of RAC instances. Choose a smaller redo log size and groups for faster VDB provision time.
You will not be able to change the online redo log size and groups using the Delphix Management application after the VDB is provisioned.
Although you can directly log on to the VDB to change your redo log size or number of redo log groups after the VDB is provisioned, your changes will disappear when the VDB is refreshed or rewound. They will be replaced by the Delphix settings you entered previously during provisioning.
VDB Redo Log Delphix Default and Minimum Values
- The default online redo log size setting is the size recorded in the parent snapshot.
- The minimum redo log file size for all Oracle versions is 4M.
- The default online redo log groups setting is 3.
- The minimum number of redo log groups is 2.
Customizing VDB Configuration Settings and File Paths
Customizing RAC VDB Instance Configuration
- Oracle instance number
- Oracle instance name
- Cluster node
The Oracle Cluster environment chosen as the provision target environment determines the set of available cluster nodes to be used during provisioning. You can choose all or some of the available cluster nodes to form their RAC VDB. After provisioning, you can add and remove cluster nodes from an existing RAC VDB. A minimum of one cluster node is required.
The maximum number of cluster nodes you can expand your RAC VDB into is limited by the Oracle Cluster environment. For example using Oracle Clusterware, you could configure a cluster environment to have four nodes. In this case the maximum cluster node any RAC database running on this cluster could have is four. When Delphix discovers the Oracle cluster from the target cluster environment, it knows the total number of cluster nodes this Oracle cluster is configured with and where are each of these nodes is located (what host, what IP, etc.). When a RAC VDB is provisioned into this discovered cluster environment, you are presented with the choice of choosing all or a subset of the cluster nodes. If the you specify the RAC VDB to only use two of the four available cluster nodes, the result will be a two node RAC VDB.
The repository template is a relationship between three entities:
- A database repository – The entity that contains database instances on host environments
- A database container – An entity that represents all of the physical data associated with the database
- A VDB configuration template – A list of database configuration parameter names and values that you can save on the Delphix Engine to use at a later time
During the staging process, if you do not specify a repository template, then by default the Delphix Engine will use the configuration parameters taken from the source database to configure the staged database. These parameters may not be appropriate, because the machine used for staging may be physically inferior to the machine hosting the source database.
Instead, the Delphix administrator can create a VDB configuration template, which would be appropriate for the physical machine hosting staging repository. (See Customizing Oracle VDB Configuration Settings.) Then the admin can create a repository template entry which will bind together the VDB configuration template, database repository, and database container. This instructs the Delphix Engine to use configuration parameters from the VDB configuration template whenever the database container is staged on the database repository specified, instead of the parameters on the source database.
Currently, repository template relations can only be created via the command line interface (CLI) in repository->template.
Switch to the repository->template context and create a new template entry.
delphix> repository template
delphix repository template create *> set name=RepositoryTemplate1
delphix repository template create *> set container=DBContainer1
delphix repository template create *> set repository=DBRepostory1
delphix repository template create *> set template=DBTemplate1
delphix repository template create *> commit
- Supported Operating Systems and DBMS Versions for Oracle Environments
- Requirements for Oracle Target Hosts and Databases
- Customizing Oracle VDB Configuration Settings
- Customizing VDB File Mappings
- Customizing RAC Instances After Provision