Working with multi-tenancy in the Database Administration Console
OpenEdge Management and OpenEdge Explorer have been enhanced to introduce support for OpenEdge database multi-tenancy. Through the Database Administration Console, which is incorporated into the management console, you can manage tenants and multi-tenant data from the management console. You can do so in a newly designed user interface that incorporates efficient and easy-to-use navigational improvements.
From the Database Administration Console, you can perform multi-tenancy configuration by:
Converting a non-multi-tenant database to one configured for multi-tenancy — You can quickly enable multi-tenancy for a database.
Establishing connections to multi-tenant databases — You can set up local and remote connections to managed databases or scripted databases. These databases appear automatically in the list of database resources in the management console.
You can also set up unmanaged local or remote database connections. Depending on the type of connection you define, you can also edit, copy, and/or delete it.
Creating new database tenants, deleting tenants, or generating a tenant creation program — You can create two types of tenants: a regular tenant or a super-tenant. You can also delete a tenant.
Alternatively, you can generate a tenant program based on preferred settings for either an existing tenant or a new tenant. You can use the resultant generated program in the future to create a tenant quickly, without needing to resupply the settings saved in the program. You can also create a tenant from an existing tenant.
Enabling a table for multi-tenancy — You can enable one or more tables for multi-tenancy and then allocate the table's partitions.
Creating a tenant template — You can create, view, and edit a template that includes tenant-specific details, such as default storage areas and per-object tenant mapping, so you can reuse the template to create another tenant.
Creating a tenant group — You can create, view, and edit a tenant group and add one or more tenants to it. A group is a partition for a table and partitions for any of the LOB fields and indexes in the table. Each tenant in the group has shared access to the partition and its data.
You can also generate a group creation program based on preferred settings, and use the program in the future to create a group quickly or that you can use to transfer a group from one database to another database.
Working with existing tenants and multi-tenant database objects — You can work easily with existing tenants to accomplish various tasks related to multi-tenancy configuration, such as:
Viewing an alphabetical list of all tenants in the currently selected database.
Accessing utilities by selecting a tenant.
Viewing a tenant's layout, including the database object schema, tenant object areas, and object properties. Color coding in the partition layout allows you to see easily each object's allocation state.
You can also view tenant partition details and choose how the data is displayed: within area panels or by columns in a grid format. The grid format allows you to choose the information you want to see (partition name, area, allocation state, and/or object type) and sort the information in ascending or descending alphabetical order.
Deciding when storage space is to be allocated for a tenant's data: immediately, delayed (for now), or not at all. You can also deallocate a table for a tenant or a group, freeing up storage space.
Specifying storage area assignments for a tenant's tables (which apply to their indexes and LOB fields). If you choose not to allocate storage space immediately when you create a tenant, you can reorganize the layout of the multi-tenant database objects, such as moving a table from one area to another area.
Filtering the tenant list so you can focus on specific tenants. For example, you can set up the list so that you see only regular tenants or tenants categorized by allocation rule.
Adding one or more tenant domains by choosing from a predefined domain list.
Adding one or more users to a tenant.
Searching for a particular tenant.
Selecting which of a tenant's areas you want to see when you look at the tenant's area layout. By choosing the areas you want to see, known as the areaworking set, you can focus only on areas of current interest to you.
Filtering the partition view by allocation state for a tenant or a tenant template.
Enabling or disabling access to a regular tenant's data.
The OpenEdge Management console displays an error when you update a multi-tenant database object that already has an exclusive lock from another multi-tenant data source.
Loading and previewing a data definition file — You can upload a data definition file (.df) and preview its contents (tables, LOB fields, indexes, and sequences) before you commit the changes.
Load database contents — You can load table and group contents into an active database. The database must have table definitions before you can load table or group contents. The console uses the .d files to load table contents from a directory you specify or to load group contents from the subdirectory for groups you specify.
Note: You must have administrator privileges to load table and group contents.
Dump database contents — You can dump table or group data in a text format from the console. The console creates a text file that contains the dump data of each table or group you specify. This file has a .d extension and is stored in the work directory you specify. You can dump data either from a shared table, a multi-tenant table, or both. You can also dump data from a group of tenants sharing a table. You can use these .d files to load data into a database. The console creates a separate contents file for each table or group you dump.
Note: You must have administrator privileges to dump table and group contents.
Committing and monitoring database updates — You can commit updates to the database, either from an uploaded data definition file or as a result of other changes you make.
As changes are being saved to the database, the Dashboard page opens to allow you to monitor the updates' progress. The page presents a task viewlet that shows the activity as the updates are being applied.
Filtering database connections by AdminServer — You can view all database connections for all AdminServers, or you can choose which AdminServer's connections you want to view.
Managing domains — You can create and modify a domain for each tenant.
Managing authentication systems — You can view, create, or delete authentication systems.
Establishing and managing user and table security settings — While you can create and work with users for a particular tenant, you can also create, edit, and delete users at the database level. You can define and review table and field security for the database users, and you can review a summary that provides details about the database's security.
You can also configure one or more security administrators who have control over authentication and authorization.
Managing sequence definitions and values — You can manage sequences and sequence values by:
Viewing a list of all sequences in a database. This includes both the sequences enabled for multi-tenancy and those not enabled.
Viewing and editing the current values for multi-tenant-enabled sequences for a specific tenant.
Viewing and editing the current values for all tenants of a sequence.
Exporting sequence current values for one tenant, multiple tenants, or all tenants in a multi-tenant database.
Improve database performance — The performance of a multi-tenant database may be improved by using multi-tenant governors: Login Governor (-nGovernor) and Lock Governor (-LGovernor). These governors limit the amount of each individual tenant's allocation of shared database resources, so that one tenant does not fully control these resources at the expense of all of the other tenants. These governors apply to the default and regular tenants in a multi-tenant database. They do not apply to super-tenants.
Note: Full access to a tenant's sequences functionality requires a database connection for a user associated with either a super-tenant or that specific tenant.