Oracle Database Configuration Assistant
The Database Configuration Assistant (DBCA) is a graphical user interface that interacts with the Oracle Universal Installer when you choose to create a database automatically when you install the Oracle 9i Server. Figure 3.1 shows the initial screen presented when working with the DBCA. Alternatively, it can be used as a standalone program. Its purpose is to simplify the creation of a database. The DBCA is a Java-based interface that can be launched from any platform that has access to a Java engine.
Figure 3.1 Using the Database Configuration Assistant.
During installation of the server software, DBCA is launched by the Universal Installer and can automatically create a starter database if you want it to. You can choose at this point whether to use the DBCA at this time, use it later to assist you with database creation, or create your database manually.
With the DBCA, you can not only create a database, you can also configure database options, delete existing databases, and manage templates.
To launch the DBCA on Unix, type dbca at the Unix prompt. In Windows, you can launch the assistant from the Windows operating system Start menu where it is found under Configuration Assistants.
On a Unix platform, you need to be running an XWindows session either on the terminal or on your PC to run the DBCA product.
When you start the DBCA, you are presented with a screen with four options:
Create a Database
Configure Database Options in a Database
Delete a Database
Figure 3.2 shows an example of the screen on which you can make these choices.
Figure 3.2 DBCA options screen.
Create a Database
This option allows you to create a new database or a database template. The default template allows you to choose to create a database either with or without data files.
Without datafiles contains only the structure of the database, but allows you to specify or change all the database parameters.
With datafiles contains both the structure and the physical datafiles of the database. All the log files and control files are automatically created for the database, but you can add or remove control files and/or log groups. You can also change the destination and name of any or all of the data files. You cannot add or remove datafiles, tablespaces, or rollback segments. You cannot change initialization parameters.
Whenever you create a database with the DBCA, you need to specify the global database name as well as the unique SID. What's more, you need to decide what added features you want in your resulting database. These added features that you can choose to add to your installation include the following:
Oracle Intermedia (or Oracle Text)
Oracle OLAP Services
When you are creating a database with the DBCA, you have the option of creating either a typical or a custom database.
A custom database allows you to customize the creation of your database. This option is only for experienced database administrators with advanced knowledge of the database creation process. This advanced knowledge includes experience with the data, control, and redo settings; tablespace and extent sizing; database memory parameters and other initialization parameters; archive log formats and destinations; trace file destinations; and character set values.
A typical database creation with minimal user input allows you to choose the following different types of databases to mimic.
The steps involved in creating a database with DBCA include the following:
Create Database Create the database immediately.
Save as a Database Template Save creation parameters as a template and that template is added to the list of available templates.
Generate Database Creation Scripts Save the database creation parameters as a script file for later use.
Determine the type of database that you want to create:
Online Transaction Processing (OLTP) An OLTP database typically must be capable of processing many thousands of transactions (read, write, update, delete) from many concurrent users every day. Performance, in an OLTP, is in terms of throughput of transactions and availability of data.
Data Warehouse These databases must be capable of processing a wide variety of queries; however, they are typically read-only queries. These processes range from simple queries that fetch a few records, to queries that many long-running complex queries take hours to process. Data Warehouse database performance is measured in terms of response time.
Multipurpose Many environments require a combination of the two different kinds of processing. A mixed database supports both OLTP and Data Warehousing environments. This is the default database that will be installed using DBCA.
Figure 3.3 shows your choices as they apply to database type to create.
Figure 3.3 Selecting a database type.
Database Configuration Options
The Configure Database option lets you add options to your database that had not previously been configured. These include (if they are available for your installation) JVM, InterMedia, Visual Information Retrieval, Spatial, Oracle OLAP services, advanced replication, and SQL*Plus help.
The Configure Database option is not available in the 9i Real Application Clusters installation.
Additional database configuration options, some shown earlier in Figure 3.2, include the following:
Delete a Database Allows you to delete a database.
Manage Templates Allows you to create a template through one of three methods:
From predefined template settings Create a new template from the predefined template settings; add or change any settings, parameters, storage characteristics; or use custom scripts.
From an existing database, structure only Contains the structural information similar to an existing database. The structure, in this case, means all the database options as well (the tablespaces, datafiles, and initialization parameters) specified in the source database. No schemas or data will be a part of the created database.
From an existing database, structure and data Create a database that copies the structure as well as the data of the existing database. User-defined schemas and their data will be a part of the template. You are not allowed to add or remove any data files, tablespaces, or rollback segments.
Required Parameters Besides the information already covered, the creation of an Oracle Database and Oracle instance requires some further decisions to be made, particularly if you are choosing the custom database creation option. Figure 3.4 shows you a tabbed page on which you can choose various SGA settings, character sets to define for your database, data block sizing decisions, file locations, and archive log locations for the database.
Archive Parameters Archive redo logs are used for database recovery and often for implementation of a standby database. Running your database in archive log mode enables the archiving of redo log files before those redo files are reused. This is done for the purpose of recovery facilitation.
Data Block Sizing DB_BLOCK_SIZE helps to define the default database block size and determine the SORT_AREA_SIZE. DB_BLOCK_SIZE, the parameter that gets set during the use of this parameter, can be specified only at database creation time. SORT_AREA_SIZE is the amount of memory used for sorting operations.
File Locations By using the UDUMP, BDUMP, and CDUMP parameters, you can specify the particular locations for trace files.
Database Storage This helps you to specify the storage parameters for the various files in your database creation. You can make custom alterations to the control files (do you want to multiplex?), tablespaces (do you want to have dictionary managed or locally managed?), datafiles, undo segments (do you want the new, and Oracle suggested, Automatic Undo Management, or do you want to manage rollback segments manually?), and redo log groups (how many log groups do you want, where do you want them, and do you want to multiplex them?).
Figure 3.4 Choosing database parameters.
It is often not necessary, or wise, to put a Data Warehouse database into archive log mode. Because Data Warehouses are updated infrequently, and typically by means of a bulk SQL*Ldr job, creating logs for restoration purposes in this case is often simply a waste of resources.
Remember that the only time you can set the DB_BLOCK_SIZE of the database, regardless of the method used to create the database, is at database creation time. If for any reason you determine later that you have chosen an incorrect value for this parameter, the database has to be rebuilt.
More information about the Initialization Parameter file can be found in Chapter 4, "Managing an Instance."
Note that, if you do not change the default behavior, DBCA creates datafiles with autoextend turned on. You could easily run a file system, or hard drive, out of space if you leave the default behavior for a production database or a development database where you have limited control over the amounts of data being inserted or loaded.