| Oracle9i Installation and Database Administration Guide Release 2 (9.2.0.2.10) for Fujitsu Siemens Computers BS2000/OSD Part Number B12034-01 |
|
This chapter describes the basic structures of the Oracle Server system architecture, as far as they are BS2000 specific.
The topics described include:
The concepts of tasks (i.e. processes in Oracle terminology) and memory structures (areas) are not BS2000 specific.
See the chapter "Memory Structures and Processes" in the Oracle9i Concepts manual for detailed information.
One or more database files contain the data dictionary, the user data, and indexes.
The Oracle Server requires a minimum of two log files, which need not be the same size, although on BS2000/OSD, the recommended minimum is 5000 PAM blocks. Note that the size of a log file is set in BS2000 blocks and not Oracle Server blocks.
The initialization file, INIT.ORA, contains a set of parameters which are read when an instance is started or stopped. See the Oracle9i Reference manual and the Oracle9i Server Administrator's Guide for more information on the initialization file.
The server parameter file (SPFILE) is a binary server-side initialization file which cannot be edited using a text editor. It is initially built from a traditional text initialization file using the CREATE SPFILE statement.
Every Oracle Server utility and product uses the Oracle Server environment definition file which is referenced as ORAENV. This file contains the Oracle Server environment variables which are used to describe the operating environment for each Oracle Server task. The Database Administrator also uses the ORAENV file to define BS2000-specific parameters necessary for database configuration.
These files contain the information required by the Oracle Server to identify the instance and are specified in the initialization file.
Message texts are stored in table modules which are dynamically loaded from the ORAMESG library at execution time.
File names for Oracle-managed files have the following format on BS2000:
| File type | Format |
|---|---|
|
Datafile |
O1-MF-%t-%u0.DBF |
|
Tempfile |
O1-MF-%t-%u0.TMP |
|
Redo log File |
O1-MF-%g-%u0.LOG |
|
Control File |
O1-MF-%u0.CTL |
where
For detailed information see the chapter "Using Oracle-Managed Files" in the Oracle 9i Database Administrator's Guide.
Before Oracle 9i, Oracle applications could run in single-task mode and in two-task mode. In Oracle 9i single-task mode is not available any more.
In two-task mode, a user task connects to a server task which executes Oracle Server code on behalf of the user task. The user task does not have access to the SGA. Communication between a user task and a server task is via Oracle Net Services.
The Oracle Server uses a number of data and code areas which must be at the same virtual addresses in all server and background tasks. Normally, the default values provided with the Oracle Server will be sufficient. Address space planning (explicit placement of the Oracle Server data areas) may be required, when user programs have address space layout requirements conflicting with the default Oracle Server values. Also, dynamic subsystems may occupy the default address ranges, which may require you to relocate the Oracle Server areas.
The following ORAENV variables control explicit placement of the Oracle Server data areas:
The order of the areas in the address space is not significant. The xxx_BASE variable is evaluated only during STARTUP processing.
Once the database is started, users attaching to it do not need to specify the values in their ORAENV files, as they are automatically supplied with the common values during connection. This means that the settings in the user's ORAENV file are ignored. Figure 2-1 gives an example of the placement of data areas.
Text description of the illustration fig2-1.gif
The xxx_BASE values must be compatible with the BS2000/OSD value SYSBASE (defined by BS2000/OSD generation and delimiting the user´s adress space).
In general Oracle administrators should be aware of conflicts between Oracle pool placements and other pool placements in the system.
This section describes the ORAENV file, how it is used, and how you use the environment variables to specify the default database.
The ORAENV text file has the format of a BS2000 command procedure that issues a /SET-FILE-LINK ORAENV command to itself. Each line contains an Oracle Server environment variable and its assigned value. When reading this file, the Oracle Server ignores all lines which have a slash, "/" or an asterisk, "*" in column 1.
The INSTALL.P.DBA procedure automatically creates a copy of the ORAENV file. This file provides a default configuration for an Oracle Server. You can edit this file to adapt it to local needs. Users can also generate an ORAENV file specific to their own environment. This is described in the chapter "Getting Started" in the Oracle9i for Fujitsu Siemens BS2000/OSD User's Guide.
The appendix "ORAENV Variables" contains a list of ORAENV variables that the Database Administrator can use. Most users will only need to set a few of these variables. Any "database administrator-only" variables that are placed in a user's ORAENV file are ignored.
To set environment variables, simply issue a CALL-PROCEDURE command on the ORAENV file containing the environment variables for the database you want to use. The name of the ORAENV file is sid.P.ORAENV (where sid is the database system identifier). For example, to set the environment variables for database DEMO using the example ORAENV file, enter:
/CALL-PROCEDURE DEMO.P.ORAENV
You can also generate an ORAENV file and issue the /SET-FILE-LINK command before calling any Oracle Server program:
/SET-FILE-LINK ORAENV, filename
where filename is the name of a file having the same format as DEMO.P.ORAENV and which defines at least the ORASID environment variable.
Note the following:
You can run several Oracle Server databases simultaneously on your system; even within the same Database Administrator account. A unique system identifier provides a globally unique "name" for the database so that a user can select a particular database by setting the ORASID environment variable. The user does this by activating the ORAENV file sid.P.ORAENV.
|
Note: The sid is also included as part of the filename for the Oracle Server procedures that are owned by the DBA account. |
Whenever an Oracle Server product (for example, SQL*Plus) is started, it checks, if the linkname ORAENV is defined and reads the related file, storing the variable assignments for later use. If no linkname ORAENV is set (or the related file cannot be read), the sid remains undefined. Oracle Corporation recommends that a linkname ORAENV is always defined prior to a call to an Oracle Server program.
The ORALOAD library ($ORACL920.ORALOAD.LIB by default) is required to run any Oracle9i Release 2 program. The Oracle Server uses this library to load executables and subroutines dynamically when required. The linkname ORALOAD must identify the ORALOAD library before calling any Oracle Server program. If the linkname is missing, you get a BLS (BS2000/OSD loader) error message. Normally, this linkname is set when the ORAENV procedure is called.
The ORAMESG library ($ORACL920.ORAMESG.LIB by default) is required for dynamically loading tables (such as message files) by a Oracle task when required. The linkname ORAMESG must identify the ORAMESG library before calling any Oracle program. If the linkname is missing, you get a BLS (BS2000/OSD loader) error message. Normally, this linkname is set when the ORAENV procedure is called.
The installation userid (referred to as ORAUID) functions as the program and model data library userid. During Oracle Server installation, the installation tape is read into this userid, which should be empty. The ORAUID includes:
A separate ORAUID is required for each separate Oracle Server release. However, multiple databases using the same version can, and should, refer to the same installation userid.
This userid does not require any special BS2000 privileges.
SHARE=YES,ACCESS=READ
The default name for the ORAUID is $ORACL920. If you select a different name during the installation of Oracle Server software, the procedure, INSTALL.P.ORACLE, which runs as part of the installation, makes the necessary changes to the installation files.
The DBA userid is a BS2000 userid that is used as the owner of one or more of the Oracle Server databases. The database, the control and the data files for a specific Oracle Server database are all owned by this userid (and are all prefixed by the Oracle Server sid).
All tasks making up the running database, background tasks and server tasks started for two-task Oracle Server, execute under the DBA userid. These tasks refer to the executable programs and libraries which are available under the installation userid (ORAUID). These need not, and should not, be copied into the DBA userid. It is possible to use the installation userid (ORAUID) as a DBA userid. However, it is recommended that you use separate userids. The DBA userid can also be used as a normal userid.
Multiple databases can be created under the same, or under different DBA userids. If installed under different BS2000 userids, the databases are separated and protected from each other, subject to the BS2000 protection mechanisms. In particular, a Database Administrator cannot administer a database running under a different BS2000 userid (there is no global DBA privilege in Oracle Server for BS2000/OSD).
The DBA userid needs the more extensive /JOIN privileges to run an Oracle Server database. These privileges include:
SHARE=NO,
ACCESS=WRITE
There is no default name for a DBA BS2000 userid.
An Oracle user accesses and uses the database via the Oracle utilities such as SQL*Plus, and via the precompiler application programs. The user can connect to an Oracle Server database through the Oracle Net Services facilities.
Concurrent access to the same and to different Oracle Server databases originating from multiple tasks running under the same BS2000 userid, is supported without any specific restrictions.
Concurrent access from multiple tasks running under different BS2000 userids is supported without restrictions.
The BS2000 userid can also be used as the Oracle Server connect userid by means of the "OPS$" generic facility.
These userids do not require any special BS2000 privileges.
|
|
![]() Copyright © 2003 Oracle Corporation. All Rights Reserved. |
|